浏览代码

Merge tag 'bcm2835-dt-next-2016-08-29' into devicetree/next

This pull request brings in support for Raspberry Pi Zero.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Florian Fainelli 9 年之前
父节点
当前提交
7260ecd22b

+ 4 - 0
Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt

@@ -38,6 +38,10 @@ Raspberry Pi Compute Module
 Required root node properties:
 Required root node properties:
 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
 
 
+Raspberry Pi Zero
+Required root node properties:
+compatible = "raspberrypi,model-zero", "brcm,bcm2835";
+
 Generic BCM2835 board
 Generic BCM2835 board
 Required root node properties:
 Required root node properties:
 compatible = "brcm,bcm2835";
 compatible = "brcm,bcm2835";

+ 2 - 1
arch/arm/boot/dts/Makefile

@@ -69,7 +69,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
 	bcm2835-rpi-b-rev2.dtb \
 	bcm2835-rpi-b-rev2.dtb \
 	bcm2835-rpi-b-plus.dtb \
 	bcm2835-rpi-b-plus.dtb \
 	bcm2835-rpi-a-plus.dtb \
 	bcm2835-rpi-a-plus.dtb \
-	bcm2836-rpi-2-b.dtb
+	bcm2836-rpi-2-b.dtb \
+	bcm2835-rpi-zero.dtb
 dtb-$(CONFIG_ARCH_BCM_5301X) += \
 dtb-$(CONFIG_ARCH_BCM_5301X) += \
 	bcm4708-asus-rt-ac56u.dtb \
 	bcm4708-asus-rt-ac56u.dtb \
 	bcm4708-asus-rt-ac68u.dtb \
 	bcm4708-asus-rt-ac68u.dtb \

+ 1 - 0
arch/arm/boot/dts/bcm2835-rpi-a-plus.dts

@@ -1,6 +1,7 @@
 /dts-v1/;
 /dts-v1/;
 #include "bcm2835.dtsi"
 #include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
 
 
 / {
 / {
 	compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
 	compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";

+ 1 - 0
arch/arm/boot/dts/bcm2835-rpi-a.dts

@@ -1,6 +1,7 @@
 /dts-v1/;
 /dts-v1/;
 #include "bcm2835.dtsi"
 #include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
 
 
 / {
 / {
 	compatible = "raspberrypi,model-a", "brcm,bcm2835";
 	compatible = "raspberrypi,model-a", "brcm,bcm2835";

+ 1 - 0
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts

@@ -2,6 +2,7 @@
 #include "bcm2835.dtsi"
 #include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm283x-rpi-smsc9514.dtsi"
 #include "bcm283x-rpi-smsc9514.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
 
 
 / {
 / {
 	compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
 	compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";

+ 1 - 0
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts

@@ -2,6 +2,7 @@
 #include "bcm2835.dtsi"
 #include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm283x-rpi-smsc9512.dtsi"
 #include "bcm283x-rpi-smsc9512.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
 
 
 / {
 / {
 	compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
 	compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";

+ 1 - 0
arch/arm/boot/dts/bcm2835-rpi-b.dts

@@ -2,6 +2,7 @@
 #include "bcm2835.dtsi"
 #include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm283x-rpi-smsc9512.dtsi"
 #include "bcm283x-rpi-smsc9512.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
 
 
 / {
 / {
 	compatible = "raspberrypi,model-b", "brcm,bcm2835";
 	compatible = "raspberrypi,model-b", "brcm,bcm2835";

+ 40 - 0
arch/arm/boot/dts/bcm2835-rpi-zero.dts

@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2016 Stefan Wahren <stefan.wahren@i2se.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "bcm2835.dtsi"
+#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
+
+/ {
+	compatible = "raspberrypi,model-zero", "brcm,bcm2835";
+	model = "Raspberry Pi Zero";
+
+	leds {
+		act {
+			gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&gpio {
+	pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
+
+	/* I2S interface */
+	i2s_alt0: i2s_alt0 {
+		brcm,pins = <18 19 20 21>;
+		brcm,function = <BCM2835_FSEL_ALT0>;
+	};
+};
+
+&hdmi {
+	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+};

+ 1 - 0
arch/arm/boot/dts/bcm2836-rpi-2-b.dts

@@ -2,6 +2,7 @@
 #include "bcm2836.dtsi"
 #include "bcm2836.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm2835-rpi.dtsi"
 #include "bcm283x-rpi-smsc9514.dtsi"
 #include "bcm283x-rpi-smsc9514.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
 
 
 / {
 / {
 	compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
 	compatible = "raspberrypi,2-model-b", "brcm,bcm2836";

+ 3 - 0
arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi

@@ -0,0 +1,3 @@
+&usb {
+	dr_mode = "host";
+};

+ 9 - 0
arch/arm/boot/dts/bcm283x.dtsi

@@ -289,6 +289,8 @@
 			interrupts = <1 9>;
 			interrupts = <1 9>;
 			#address-cells = <1>;
 			#address-cells = <1>;
 			#size-cells = <0>;
 			#size-cells = <0>;
+			clocks = <&clk_usb>;
+			clock-names = "otg";
 		};
 		};
 
 
 		v3d: v3d@7ec00000 {
 		v3d: v3d@7ec00000 {
@@ -316,5 +318,12 @@
 			clock-frequency = <19200000>;
 			clock-frequency = <19200000>;
 		};
 		};
 
 
+		clk_usb: clock@4 {
+			compatible = "fixed-clock";
+			reg = <4>;
+			#clock-cells = <0>;
+			clock-output-names = "otg";
+			clock-frequency = <480000000>;
+		};
 	};
 	};
 };
 };