diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0383-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0383-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0383-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch b/target/linux/brcm2708/patches-4.19/950-0383-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch new file mode 100644 index 0000000000..15badf1481 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0383-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch @@ -0,0 +1,57 @@ +From 94090199a0033419d35c90cd23ff9450f77b19e8 Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Fri, 22 Mar 2019 16:44:47 +0000 +Subject: [PATCH 383/725] 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_<addr>" +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 <phil@raspberrypi.org> +--- + 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(-) + +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1725,6 +1725,7 @@ Info: Overlay for the NXP SC16IS750 UA + Load: dtoverlay=sc16is750-i2c,<param>=<val> + Params: int_pin GPIO used for IRQ (default 24) + addr Address (default 0x48) ++ xtal On-board crystal frequency (default 14745600) + + + Name: sc16is752-i2c +--- 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"; + }; + + }; +--- 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"; + }; + }; |