1 From ec2216edd465bcc7bd423ba2cae1058c22a8ef7e Mon Sep 17 00:00:00 2001
2 From: Dom Cobley <popcornmix@gmail.com>
3 Date: Fri, 5 Apr 2024 11:58:47 +0100
4 Subject: [PATCH 1011/1085] nvmem: raspberrypi: Enable nvmem otp driver through
7 Signed-off-by: Dom Cobley <popcornmix@gmail.com>
9 arch/arm/boot/dts/broadcom/bcm2708-rpi.dtsi | 17 ++++++++++
10 .../arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi | 23 +++++++++++++
11 arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi | 32 +++++++++++++++++++
12 arch/arm/boot/dts/overlays/README | 6 ++++
13 4 files changed, 78 insertions(+)
15 --- a/arch/arm/boot/dts/broadcom/bcm2708-rpi.dtsi
16 +++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi.dtsi
18 hdmi = <&hdmi>,"status";
19 i2c2_iknowwhatimdoing = <&i2c2>,"status";
20 i2c2_baudrate = <&i2c2>,"clock-frequency:0";
21 + nvmem_cust_rw = <&nvmem_cust>,"rw?";
22 sd = <&sdhost>,"status";
23 sd_poll_once = <&sdhost>,"non-removable?";
28 + nvmem_otp: nvmem_otp {
29 + compatible = "raspberrypi,rpi-otp";
30 + firmware = <&firmware>;
35 + nvmem_cust: nvmem_cust {
36 + compatible = "raspberrypi,rpi-otp";
37 + firmware = <&firmware>;
44 pinctrl-names = "default";
45 pinctrl-0 = <&sdhost_gpio48>;
46 --- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
47 +++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
49 eee = <&chosen>,"bootargs{on='',off='genet.eee=N'}";
50 hdmi = <&hdmi0>,"status",
52 + nvmem_cust_rw = <&nvmem_cust>,"rw?";
53 + nvmem_priv_rw = <&nvmem_priv>,"rw?";
54 pcie = <&pcie0>,"status";
55 sd = <&emmc2>,"status";
58 /* Add the physical <-> DMA mapping for the I/O space */
59 dma-ranges = <0xc0000000 0x0 0x00000000 0x40000000>,
60 <0x7c000000 0x0 0xfc000000 0x03800000>;
62 + nvmem_otp: nvmem_otp {
63 + compatible = "raspberrypi,rpi-otp";
64 + firmware = <&firmware>;
69 + nvmem_cust: nvmem_cust {
70 + compatible = "raspberrypi,rpi-otp";
71 + firmware = <&firmware>;
76 + nvmem_priv: nvmem_priv {
77 + compatible = "raspberrypi,rpi-otp";
78 + firmware = <&firmware>;
85 --- a/arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi
86 +++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi
88 trickle-charge-microvolt = <0>;
91 + nvmem_otp: nvmem_otp {
92 + compatible = "raspberrypi,rpi-otp";
93 + firmware = <&firmware>;
98 + nvmem_cust: nvmem_cust {
99 + compatible = "raspberrypi,rpi-otp";
100 + firmware = <&firmware>;
105 + nvmem_mac: nvmem_mac {
106 + compatible = "raspberrypi,rpi-otp";
107 + firmware = <&firmware>;
112 + nvmem_priv: nvmem_priv {
113 + compatible = "raspberrypi,rpi-otp";
114 + firmware = <&firmware>;
119 /* Define these notional regulators for use by overlays, etc. */
120 vdd_3v3_reg: fixedregulator_3v3 {
121 compatible = "regulator-fixed";
125 axiperf = <&axiperf>,"status";
127 + nvmem_cust_rw = <&nvmem_cust>,"rw?";
128 + nvmem_priv_rw = <&nvmem_priv>,"rw?";
129 + nvmem_mac_rw = <&nvmem_mac>,"rw?";
133 --- a/arch/arm/boot/dts/overlays/README
134 +++ b/arch/arm/boot/dts/overlays/README
135 @@ -300,6 +300,12 @@ Params:
137 nvme Alias for "pciex1" (2712 only)
139 + nvmem_cust_rw Allow read/write access to customer otp
141 + nvmem_mac_rw Allow read/write access to mac addresses otp
143 + nvmem_priv_rw Allow read/write access to customer private otp
145 pcie Set to "off" to disable the PCIe interface
147 (2711 only, but not applicable on CM4S)