Skip to content

Commit

Permalink
overlays: Fix multiple-instantiation of sc16is7xx*
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Phil Elwell committed Mar 26, 2019
1 parent 8a0c4bb commit ea73368
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 2 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/README
Expand Up @@ -1687,6 +1687,7 @@ Info: Overlay for the NXP SC16IS750 UART with I2C Interface
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
Expand Down
3 changes: 2 additions & 1 deletion arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts
Expand Up @@ -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";
};

};
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts
Expand Up @@ -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";
};
};

0 comments on commit ea73368

Please sign in to comment.