[RFC linus/master 4/4] rpi: update device tree

Alexander Aring alex.aring at gmail.com
Sat Oct 24 05:20:44 PDT 2015


This patch updates the rpi device tree files to support regulators and
usbphy. Only usb_hcd regulator is used at the moment and I think we need
to care about the other ones which need to be handled by the others
drivers, like mmc. Also I didn't setup common regulator settings like
"regulator-boot-on" which should be set for regulators which are enabled
by firmware.

Cc: Eric Anholt <eric at anholt.net>
Signed-off-by: Alexander Aring <alex.aring at gmail.com>
---
 arch/arm/boot/dts/bcm2835-rpi.dtsi | 56 ++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/bcm2835.dtsi     |  2 +-
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index ab5474e..d26b72f 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -20,7 +20,57 @@
 			compatible = "raspberrypi,bcm2835-firmware";
 			mboxes = <&mailbox>;
 		};
+
+		regulator: regulator {
+			compatible = "raspberrypi,bcm2835-regulator";
+			firmware = <&firmware>;
+
+			regulators {
+				sdhc1_reg: sdhc1 {
+					regulator-name = "SDHC1";
+				};
+
+				uart0_reg: uart0 {
+					regulator-name = "UART0";
+				};
+
+				uart1_reg: uart1 {
+					regulator-name = "UART1";
+				};
+
+				usb_hcd_reg: usb_hcd {
+					regulator-name = "USB_HCD";
+				};
+
+				i2c0_reg: i2c0 {
+					regulator-name = "I2C0";
+				};
+
+				i2c1_reg: i2c1 {
+					regulator-name = "I2C1";
+				};
+
+				i2c2_reg: i2c2 {
+					regulator-name = "I2C2";
+				};
+
+				spi_reg: spi {
+					regulator-name = "SPI";
+				};
+
+				ccp2tx_reg: ccp2tx {
+					regulator-name = "CCP2TX";
+				};
+			};
+		};
+
+		usbphy: usbphy {
+			compatible = "raspberrypi,bcm2835-usbphy";
+			#phy-cells = <0>;
+			phy-supply = <&usb_hcd_reg>;
+		};
 	};
+
 };
 
 &gpio {
@@ -56,3 +106,9 @@
 	status = "okay";
 	bus-width = <4>;
 };
+
+&usb {
+	status = "okay";
+	phys = <&usbphy>;
+	phy-names = "usb2-phy";
+};
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 301c73f..3c899b3 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -149,7 +149,7 @@
 			status = "disabled";
 		};
 
-		usb at 7e980000 {
+		usb: usb at 7e980000 {
 			compatible = "brcm,bcm2835-usb";
 			reg = <0x7e980000 0x10000>;
 			interrupts = <1 9>;
-- 
2.6.1




More information about the linux-rpi-kernel mailing list