diff options
author | Mirza Krak <mirza.krak@endian.se> | 2017-12-07 15:07:18 +0000 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2018-01-11 21:33:55 +0000 |
commit | f900a6568cca94039e2204926a0f3196cc42d79b (patch) | |
tree | 350060f3860cda8b7a8200d23e5bb834d4a3bd5e | |
parent | 24ffe9fb592dda483fb5dfec30782955fcc18a5e (diff) | |
download | meta-raspberrypi-f900a6568cca94039e2204926a0f3196cc42d79b.tar.gz |
u-boot: add support for Raspberry Pi Zero W
It is all ready supported upstream and this will apply a backported
patch until next U-boot release.
Signed-off-by: Mirza Krak <mirza.krak@endian.se>
-rw-r--r-- | recipes-bsp/u-boot/u-boot/0001-add-support-for-Raspberry-Pi-Zero-W.patch | 143 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot_%.bbappend | 6 |
2 files changed, 149 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot/0001-add-support-for-Raspberry-Pi-Zero-W.patch b/recipes-bsp/u-boot/u-boot/0001-add-support-for-Raspberry-Pi-Zero-W.patch new file mode 100644 index 0000000..f011208 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot/0001-add-support-for-Raspberry-Pi-Zero-W.patch | |||
@@ -0,0 +1,143 @@ | |||
1 | From 8993056fb3d4af4f0cd078df20130d4e7c35c2f7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dmitry Korunov <dessel.k@gmail.com> | ||
3 | Date: Sun, 26 Nov 2017 13:38:53 +0400 | ||
4 | Subject: [PATCH 1/1] add support for Raspberry Pi Zero W | ||
5 | |||
6 | Signed-off-by: Dmitry Korunov <dessel.k@gmail.com> | ||
7 | Signed-off-by: Mirza Krak <mirza.krak@gmail.com> | ||
8 | Upstream-status: Backport | ||
9 | --- | ||
10 | arch/arm/dts/bcm2835-rpi-zero-w.dts | 26 ++++++++++++++++++++++++++ | ||
11 | arch/arm/mach-bcm283x/Kconfig | 16 ++++++++++++++++ | ||
12 | board/raspberrypi/rpi/rpi.c | 5 +++++ | ||
13 | configs/rpi_0_w_defconfig | 28 ++++++++++++++++++++++++++++ | ||
14 | include/configs/rpi.h | 2 +- | ||
15 | 5 files changed, 76 insertions(+), 1 deletion(-) | ||
16 | create mode 100644 arch/arm/dts/bcm2835-rpi-zero-w.dts | ||
17 | create mode 100644 configs/rpi_0_w_defconfig | ||
18 | |||
19 | diff --git a/arch/arm/dts/bcm2835-rpi-zero-w.dts b/arch/arm/dts/bcm2835-rpi-zero-w.dts | ||
20 | new file mode 100644 | ||
21 | index 0000000..7817054 | ||
22 | --- /dev/null | ||
23 | +++ b/arch/arm/dts/bcm2835-rpi-zero-w.dts | ||
24 | @@ -0,0 +1,26 @@ | ||
25 | +/dts-v1/; | ||
26 | +#include "bcm2835.dtsi" | ||
27 | +#include "bcm2835-rpi.dtsi" | ||
28 | +#include "bcm283x-rpi-smsc9512.dtsi" | ||
29 | +#include "bcm283x-rpi-usb-host.dtsi" | ||
30 | + | ||
31 | +/ { | ||
32 | + compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; | ||
33 | + model = "Raspberry Pi Zero W"; | ||
34 | + | ||
35 | + leds { | ||
36 | + act { | ||
37 | + gpios = <&gpio 47 0>; | ||
38 | + }; | ||
39 | + }; | ||
40 | +}; | ||
41 | + | ||
42 | +&uart1 { | ||
43 | + pinctrl-names = "default"; | ||
44 | + pinctrl-0 = <&uart1_gpio14>; | ||
45 | + status = "okay"; | ||
46 | +}; | ||
47 | + | ||
48 | +&hdmi { | ||
49 | + hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; | ||
50 | +}; | ||
51 | diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig | ||
52 | index 69f7a46..a78239d 100644 | ||
53 | --- a/arch/arm/mach-bcm283x/Kconfig | ||
54 | +++ b/arch/arm/mach-bcm283x/Kconfig | ||
55 | @@ -44,6 +44,22 @@ config TARGET_RPI | ||
56 | This option creates a build targetting the ARM1176 ISA. | ||
57 | select BCM2835 | ||
58 | |||
59 | +config TARGET_RPI_0_W | ||
60 | + bool "Raspberry Pi Zero W" | ||
61 | + help | ||
62 | + Support for all ARM1176-/BCM2835-based Raspberry Pi variants, such as | ||
63 | + the RPi Zero model W. | ||
64 | + | ||
65 | + This option assumes the VideoCore firmware is configured to use the | ||
66 | + mini UART (rather than PL011) for the serial console. This is the | ||
67 | + default on the RPi Zero W. To enable the UART console, the following | ||
68 | + non-default option must be present in config.txt: enable_uart=1. | ||
69 | + This is required for U-Boot to operate correctly, even if you only | ||
70 | + care about the HDMI/usbkbd console. | ||
71 | + | ||
72 | + This option creates a build targetting the ARMv7/AArch32 ISA. | ||
73 | + select BCM2835 | ||
74 | + | ||
75 | config TARGET_RPI_2 | ||
76 | bool "Raspberry Pi 2" | ||
77 | help | ||
78 | diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c | ||
79 | index 530f149..3b7a54f 100644 | ||
80 | --- a/board/raspberrypi/rpi/rpi.c | ||
81 | +++ b/board/raspberrypi/rpi/rpi.c | ||
82 | @@ -105,6 +105,11 @@ static const struct rpi_model rpi_models_new_scheme[] = { | ||
83 | DTB_DIR "bcm2835-rpi-zero.dtb", | ||
84 | false, | ||
85 | }, | ||
86 | + [0xC] = { | ||
87 | + "Zero W", | ||
88 | + DTB_DIR "bcm2835-rpi-zero-w.dtb", | ||
89 | + false, | ||
90 | + }, | ||
91 | }; | ||
92 | |||
93 | static const struct rpi_model rpi_models_old_scheme[] = { | ||
94 | diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig | ||
95 | new file mode 100644 | ||
96 | index 0000000..092f378 | ||
97 | --- /dev/null | ||
98 | +++ b/configs/rpi_0_w_defconfig | ||
99 | @@ -0,0 +1,28 @@ | ||
100 | +CONFIG_ARM=y | ||
101 | +CONFIG_ARCH_BCM283X=y | ||
102 | +CONFIG_TARGET_RPI_0_W=y | ||
103 | +CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-zero-w" | ||
104 | +CONFIG_DISTRO_DEFAULTS=y | ||
105 | +CONFIG_OF_BOARD_SETUP=y | ||
106 | +# CONFIG_DISPLAY_CPUINFO is not set | ||
107 | +# CONFIG_DISPLAY_BOARDINFO is not set | ||
108 | +CONFIG_SYS_PROMPT="U-Boot> " | ||
109 | +# CONFIG_CMD_IMLS is not set | ||
110 | +# CONFIG_CMD_FLASH is not set | ||
111 | +CONFIG_CMD_MMC=y | ||
112 | +CONFIG_CMD_USB=y | ||
113 | +# CONFIG_CMD_FPGA is not set | ||
114 | +CONFIG_CMD_GPIO=y | ||
115 | +CONFIG_DM_MMC=y | ||
116 | +CONFIG_MMC_SDHCI=y | ||
117 | +CONFIG_MMC_SDHCI_BCM2835=y | ||
118 | +CONFIG_DM_ETH=y | ||
119 | +CONFIG_USB=y | ||
120 | +CONFIG_DM_USB=y | ||
121 | +CONFIG_USB_STORAGE=y | ||
122 | +CONFIG_USB_KEYBOARD=y | ||
123 | +CONFIG_DM_VIDEO=y | ||
124 | +CONFIG_SYS_WHITE_ON_BLACK=y | ||
125 | +CONFIG_CONSOLE_SCROLL_LINES=10 | ||
126 | +CONFIG_PHYS_TO_BUS=y | ||
127 | +CONFIG_OF_LIBFDT_OVERLAY=y | ||
128 | diff --git a/include/configs/rpi.h b/include/configs/rpi.h | ||
129 | index c499b45..cab8661 100644 | ||
130 | --- a/include/configs/rpi.h | ||
131 | +++ b/include/configs/rpi.h | ||
132 | @@ -76,7 +76,7 @@ | ||
133 | #endif | ||
134 | |||
135 | /* Console UART */ | ||
136 | -#ifdef CONFIG_BCM2837 | ||
137 | +#if defined (CONFIG_BCM2837) || defined(CONFIG_TARGET_RPI_0_W) | ||
138 | #define CONFIG_BCM283X_MU_SERIAL | ||
139 | #else | ||
140 | #define CONFIG_PL01X_SERIAL | ||
141 | -- | ||
142 | 2.1.4 | ||
143 | |||
diff --git a/recipes-bsp/u-boot/u-boot_%.bbappend b/recipes-bsp/u-boot/u-boot_%.bbappend index 3781666..9fd7304 100644 --- a/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/recipes-bsp/u-boot/u-boot_%.bbappend | |||
@@ -1 +1,7 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:" | ||
2 | |||
3 | SRC_URI_append_rpi = " \ | ||
4 | file://0001-add-support-for-Raspberry-Pi-Zero-W.patch \ | ||
5 | " | ||
6 | |||
1 | RDEPENDS_${PN}_append_rpi = " rpi-u-boot-scr" | 7 | RDEPENDS_${PN}_append_rpi = " rpi-u-boot-scr" |