mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
ARM: dts: Move rpi-otp nodes onto a dedicated 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: https://github.com/raspberrypi/linux/issues/6196 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
This commit is contained in:
@@ -26,18 +26,24 @@
|
||||
};
|
||||
|
||||
&soc {
|
||||
nvmem_otp: nvmem_otp {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <0 192>;
|
||||
status = "okay";
|
||||
};
|
||||
nvmem {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nvmem_cust: nvmem_cust {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <1 8>;
|
||||
status = "okay";
|
||||
nvmem_otp: nvmem_otp {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <0 192>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
nvmem_cust: nvmem_cust {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <1 8>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -90,26 +90,31 @@
|
||||
/* Add the physical <-> DMA mapping for the I/O space */
|
||||
dma-ranges = <0xc0000000 0x0 0x00000000 0x40000000>,
|
||||
<0x7c000000 0x0 0xfc000000 0x03800000>;
|
||||
nvmem {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nvmem_otp: nvmem_otp {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <0 166>;
|
||||
status = "okay";
|
||||
};
|
||||
nvmem_otp: nvmem_otp {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <0 166>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
nvmem_cust: nvmem_cust {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <1 8>;
|
||||
status = "okay";
|
||||
};
|
||||
nvmem_cust: nvmem_cust {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <1 8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
nvmem_priv: nvmem_priv {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <3 8>;
|
||||
status = "okay";
|
||||
nvmem_priv: nvmem_priv {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <3 8>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -45,32 +45,38 @@
|
||||
trickle-charge-microvolt = <0>;
|
||||
};
|
||||
|
||||
nvmem_otp: nvmem_otp {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <0 192>;
|
||||
status = "okay";
|
||||
};
|
||||
nvmem {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nvmem_cust: nvmem_cust {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <1 8>;
|
||||
status = "okay";
|
||||
};
|
||||
nvmem_otp: nvmem_otp {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <0 192>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
nvmem_mac: nvmem_mac {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <2 6>;
|
||||
status = "okay";
|
||||
};
|
||||
nvmem_cust: nvmem_cust {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <1 8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
nvmem_priv: nvmem_priv {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <3 16>;
|
||||
status = "okay";
|
||||
nvmem_mac: nvmem_mac {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <2 6>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
nvmem_priv: nvmem_priv {
|
||||
compatible = "raspberrypi,rpi-otp";
|
||||
firmware = <&firmware>;
|
||||
reg = <3 16>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
/* Define these notional regulators for use by overlays, etc. */
|
||||
|
||||
Reference in New Issue
Block a user