]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
add support for Raspberry Pi Zero W
authorDmitry Korunov <dessel.k@gmail.com>
Sun, 26 Nov 2017 09:38:53 +0000 (13:38 +0400)
committerTom Rini <trini@konsulko.com>
Mon, 4 Dec 2017 14:59:02 +0000 (09:59 -0500)
Signed-off-by: Dmitry Korunov <dessel.k@gmail.com>
arch/arm/dts/bcm2835-rpi-zero-w.dts [new file with mode: 0644]
arch/arm/mach-bcm283x/Kconfig
board/raspberrypi/rpi/rpi.c
configs/rpi_0_w_defconfig [new file with mode: 0644]
include/configs/rpi.h

diff --git a/arch/arm/dts/bcm2835-rpi-zero-w.dts b/arch/arm/dts/bcm2835-rpi-zero-w.dts
new file mode 100644 (file)
index 0000000..7817054
--- /dev/null
@@ -0,0 +1,26 @@
+/dts-v1/;
+#include "bcm2835.dtsi"
+#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-smsc9512.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
+
+/ {
+       compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
+       model = "Raspberry Pi Zero W";
+
+       leds {
+               act {
+                       gpios = <&gpio 47 0>;
+               };
+       };
+};
+
+&uart1 {
+    pinctrl-names = "default";
+    pinctrl-0 = <&uart1_gpio14>;
+    status = "okay";
+};
+
+&hdmi {
+       hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+};
index 69f7a4663cfd185b79ea9baf6fb481e3e70987f3..a78239d63e4cd9cdf7a0c9c1fe7657b2892c6510 100644 (file)
@@ -44,6 +44,22 @@ config TARGET_RPI
          This option creates a build targetting the ARM1176 ISA.
        select BCM2835
 
+config TARGET_RPI_0_W
+       bool "Raspberry Pi Zero W"
+       help
+         Support for all ARM1176-/BCM2835-based Raspberry Pi variants, such as
+         the RPi Zero model W.
+
+         This option assumes the VideoCore firmware is configured to use the
+         mini UART (rather than PL011) for the serial console. This is the
+         default on the RPi Zero W. To enable the UART console, the following
+         non-default option must be present in config.txt: enable_uart=1.
+         This is required for U-Boot to operate correctly, even if you only
+         care about the HDMI/usbkbd console.
+
+         This option creates a build targetting the ARMv7/AArch32 ISA.
+       select BCM2835
+
 config TARGET_RPI_2
        bool "Raspberry Pi 2"
        help
index 530f1496171b406875b2d31d6c08f30aeadf306b..3b7a54f519d701de8f83543038d696873a415601 100644 (file)
@@ -105,6 +105,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
                DTB_DIR "bcm2835-rpi-zero.dtb",
                false,
        },
+       [0xC] = {
+               "Zero W",
+               DTB_DIR "bcm2835-rpi-zero-w.dtb",
+               false,
+       },
 };
 
 static const struct rpi_model rpi_models_old_scheme[] = {
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
new file mode 100644 (file)
index 0000000..092f378
--- /dev/null
@@ -0,0 +1,28 @@
+CONFIG_ARM=y
+CONFIG_ARCH_BCM283X=y
+CONFIG_TARGET_RPI_0_W=y
+CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-zero-w"
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_OF_BOARD_SETUP=y
+# CONFIG_DISPLAY_CPUINFO is not set
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SYS_PROMPT="U-Boot> "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+# CONFIG_CMD_FPGA is not set
+CONFIG_CMD_GPIO=y
+CONFIG_DM_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
+CONFIG_DM_ETH=y
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_DM_VIDEO=y
+CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_CONSOLE_SCROLL_LINES=10
+CONFIG_PHYS_TO_BUS=y
+CONFIG_OF_LIBFDT_OVERLAY=y
index c499b45b320a4840b72cab3dee165d9d92f8f657..cab8661779e0460a5991afd3ae4697fd02ce6afb 100644 (file)
@@ -76,7 +76,7 @@
 #endif
 
 /* Console UART */
-#ifdef CONFIG_BCM2837
+#if defined (CONFIG_BCM2837) || defined(CONFIG_TARGET_RPI_0_W)
 #define CONFIG_BCM283X_MU_SERIAL
 #else
 #define CONFIG_PL01X_SERIAL