Skip to content

Commit cab17ea

Browse files
committed
dts: bcm2712-rpi: Move rpi-otp nodes onto a bus
The rpi-otp driver uses a virtualised, OTP-relative addressing scheme. However, when instance nodes are children of "/soc" they appear to be addressable directly by the host, which is wrong (but not in a way which causes an error unless one goes looking for one). Add a wrapper (bus) node without a "ranges" property to make the separation clear. See: #6196 Signed-off-by: Phil Elwell <[email protected]>
1 parent b5f843f commit cab17ea

File tree

1 file changed

+29
-23
lines changed

1 file changed

+29
-23
lines changed

arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,38 @@
4545
trickle-charge-microvolt = <0>;
4646
};
4747

48-
nvmem_otp: nvmem_otp {
49-
compatible = "raspberrypi,rpi-otp";
50-
firmware = <&firmware>;
51-
reg = <0 192>;
52-
status = "okay";
53-
};
48+
nvmem {
49+
compatible = "simple-bus";
50+
#address-cells = <1>;
51+
#size-cells = <1>;
5452

55-
nvmem_cust: nvmem_cust {
56-
compatible = "raspberrypi,rpi-otp";
57-
firmware = <&firmware>;
58-
reg = <1 8>;
59-
status = "okay";
60-
};
53+
nvmem_otp: nvmem_otp {
54+
compatible = "raspberrypi,rpi-otp";
55+
firmware = <&firmware>;
56+
reg = <0 192>;
57+
status = "okay";
58+
};
6159

62-
nvmem_mac: nvmem_mac {
63-
compatible = "raspberrypi,rpi-otp";
64-
firmware = <&firmware>;
65-
reg = <2 6>;
66-
status = "okay";
67-
};
60+
nvmem_cust: nvmem_cust {
61+
compatible = "raspberrypi,rpi-otp";
62+
firmware = <&firmware>;
63+
reg = <1 8>;
64+
status = "okay";
65+
};
6866

69-
nvmem_priv: nvmem_priv {
70-
compatible = "raspberrypi,rpi-otp";
71-
firmware = <&firmware>;
72-
reg = <3 16>;
73-
status = "okay";
67+
nvmem_mac: nvmem_mac {
68+
compatible = "raspberrypi,rpi-otp";
69+
firmware = <&firmware>;
70+
reg = <2 6>;
71+
status = "okay";
72+
};
73+
74+
nvmem_priv: nvmem_priv {
75+
compatible = "raspberrypi,rpi-otp";
76+
firmware = <&firmware>;
77+
reg = <3 16>;
78+
status = "okay";
79+
};
7480
};
7581

7682
/* Define these notional regulators for use by overlays, etc. */

0 commit comments

Comments
 (0)