2019-09-19 14:43:19 +00:00
|
|
|
From 649efe5db3900ed3bbfd3c3daa3b96d8fc0b9d68 Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Phil Elwell <phil@raspberrypi.org>
|
|
|
|
Date: Fri, 22 Mar 2019 16:44:47 +0000
|
2019-09-19 14:43:19 +00:00
|
|
|
Subject: [PATCH 380/806] overlays: Fix multiple-instantiation of sc16is7xx*
|
2019-07-09 18:32:28 +00:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
};
|