From 14a7ba8b3ee9b28fe112e8bb6f69fa1d48f5819e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 22 Mar 2019 16:44:47 +0000 Subject: [PATCH 386/432] overlays: Fix multiple-instantiation of sc16is7xx* The registration of the fixed clocks uses the node name as the clock name, causing a clash if two clock nodes have the same name, regardless of the path to the node. Fix the issue by overwriting the clock node names using the value of the "addr" parameter, providing a crude disambiguation. (A bit of string pasting to form "sc16is752_clk_" would have been nice, but that is outside the abilities of the overlay parameter mechanism.) Also give the sc16is750-i2c overlay the xtal parameter for symmetry. See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=235650 Signed-off-by: Phil Elwell --- arch/arm/boot/dts/overlays/README | 1 + arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts | 3 ++- arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index 3b7ec47ecf39..74362f95f173 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -1725,6 +1725,7 @@ Info: Overlay for the NXP SC16IS750 UART with I2C Interface Load: dtoverlay=sc16is750-i2c,= Params: int_pin GPIO used for IRQ (default 24) addr Address (default 0x48) + xtal On-board crystal frequency (default 14745600) Name: sc16is752-i2c diff --git a/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts index 339d0d17c01f..8c5d008a3425 100644 --- a/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts +++ b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts @@ -31,7 +31,8 @@ __overrides__ { int_pin = <&sc16is750>,"interrupts:0"; - addr = <&sc16is750>,"reg:0"; + addr = <&sc16is750>,"reg:0",<&sc16is750_clk>,"name"; + xtal = <&sc16is750>,"clock-frequency:0"; }; }; diff --git a/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts b/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts index e43e81d5a28f..355eaac656c8 100644 --- a/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts +++ b/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts @@ -34,7 +34,7 @@ __overrides__ { int_pin = <&sc16is752>,"interrupts:0"; - addr = <&sc16is752>,"reg:0"; + addr = <&sc16is752>,"reg:0",<&sc16is752_clk>,"name"; xtal = <&sc16is752>,"clock-frequency:0"; }; }; -- 2.19.1