openwrt/target/linux/brcm2708/patches-4.19/950-0380-overlays-Fix-multiple-instantiation-of-sc16is7xx.patch
Álvaro Fernández Rojas 662394fb30 brcm2708: update to latest patches from RPi foundation
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2019-09-04 19:02:48 +02:00

58 lines
2.1 KiB
Diff

From 238fd7a2cda959e7c645b7a6fc4967049c12f69f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 22 Mar 2019 16:44:47 +0000
Subject: [PATCH 380/782] 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";
};
};