Merge ~ondrak/ubuntu/+source/linux/+git/xenial:adding-pi3bp-support into ~ubuntu-kernel/ubuntu/+source/linux/+git/xenial:raspi2

Proposed by Ondrej Kubik
Status: Needs review
Proposed branch: ~ondrak/ubuntu/+source/linux/+git/xenial:adding-pi3bp-support
Merge into: ~ubuntu-kernel/ubuntu/+source/linux/+git/xenial:raspi2
Diff against target: 314 lines (+262/-0)
5 files modified
arch/arm/boot/dts/Makefile (+1/-0)
arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts (+215/-0)
arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi (+36/-0)
arch/arm/boot/dts/overlays/README (+8/-0)
snapcraft.yaml (+2/-0)
Reviewer Review Type Date Requested Status
Paolo Pisati (community) Disapprove
Review via email: mp+346764@code.launchpad.net

Commit message

Adding Raspberry 3 B plus support
- adding dts files for Pi 3 B plus
- updating config to build in Pi3 B plus LAN driver and serial dev bus

To post a comment you must log in.
Revision history for this message
Paolo Pisati (p-pisati) wrote :

I don't have write access to the kernel repository, only the stable team has it: resend it to the ubuntu kernel ml for review.

Plus, it's missing an LP bug and the buglink.

And the config changes, split it into a separate commit and send it against the ubuntu config so we don't have two kernels with two different configs (the ubuntu kernel and the kernel generated by this snapcraft).

review: Disapprove

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index bd963ef..f765350 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_BCM2708) += bcm2708-rpi-cm.dtb
7dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-cm.dtb7dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-cm.dtb
8dtb-$(CONFIG_ARCH_BCM2709) += bcm2709-rpi-2-b.dtb8dtb-$(CONFIG_ARCH_BCM2709) += bcm2709-rpi-2-b.dtb
9dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb9dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb
10dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b-plus.dtb
10dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-cm3.dtb11dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-cm3.dtb
1112
12# Raspberry Pi13# Raspberry Pi
diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
13new file mode 10064414new file mode 100644
index 0000000..ad5e821
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
@@ -0,0 +1,215 @@
1/dts-v1/;
2
3#include "bcm2710.dtsi"
4#include "bcm283x-rpi-lan7515.dtsi"
5
6/ {
7 compatible = "brcm,bcm2710","brcm,bcm2709";
8 model = "Raspberry Pi 3 Model B+";
9};
10
11&gpio {
12 sdhost_pins: sdhost_pins {
13 brcm,pins = <48 49 50 51 52 53>;
14 brcm,function = <4>; /* alt0 */
15 };
16
17 spi0_pins: spi0_pins {
18 brcm,pins = <9 10 11>;
19 brcm,function = <4>; /* alt0 */
20 };
21
22 spi0_cs_pins: spi0_cs_pins {
23 brcm,pins = <8 7>;
24 brcm,function = <1>; /* output */
25 };
26
27 i2c0_pins: i2c0 {
28 brcm,pins = <0 1>;
29 brcm,function = <4>;
30 };
31
32 i2c1_pins: i2c1 {
33 brcm,pins = <2 3>;
34 brcm,function = <4>;
35 };
36
37 i2s_pins: i2s {
38 brcm,pins = <18 19 20 21>;
39 brcm,function = <4>; /* alt0 */
40 };
41
42 sdio_pins: sdio_pins {
43 brcm,pins = <34 35 36 37 38 39>;
44 brcm,function = <7>; // alt3 = SD1
45 brcm,pull = <0 2 2 2 2 2>;
46 };
47
48 bt_pins: bt_pins {
49 brcm,pins = <43>;
50 brcm,function = <4>; /* alt0:GPCLK2 */
51 brcm,pull = <0>;
52 };
53
54 uart0_pins: uart0_pins {
55 brcm,pins = <32 33>;
56 brcm,function = <7>; /* alt3=UART0 */
57 brcm,pull = <0 2>;
58 };
59
60 uart1_pins: uart1_pins {
61 brcm,pins;
62 brcm,function;
63 brcm,pull;
64 };
65
66 audio_pins: audio_pins {
67 brcm,pins = <40 41>;
68 brcm,function = <4>;
69 };
70};
71
72&sdhost {
73 pinctrl-names = "default";
74 pinctrl-0 = <&sdhost_pins>;
75 bus-width = <4>;
76 status = "okay";
77};
78
79&mmc {
80 pinctrl-names = "default";
81 pinctrl-0 = <&sdio_pins>;
82 non-removable;
83 bus-width = <4>;
84 status = "okay";
85 brcm,overclock-50 = <0>;
86};
87
88&soc {
89 expgpio: expgpio {
90 compatible = "brcm,bcm2835-expgpio";
91 gpio-controller;
92 #gpio-cells = <2>;
93 firmware = <&firmware>;
94 status = "okay";
95 };
96};
97
98&fb {
99 status = "okay";
100};
101
102&uart0 {
103 pinctrl-names = "default";
104 pinctrl-0 = <&uart0_pins &bt_pins>;
105 status = "okay";
106};
107
108&uart1 {
109 pinctrl-names = "default";
110 pinctrl-0 = <&uart1_pins>;
111 status = "okay";
112};
113
114&spi0 {
115 pinctrl-names = "default";
116 pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
117 cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
118
119 spidev0: spidev@0{
120 compatible = "spidev";
121 reg = <0>; /* CE0 */
122 #address-cells = <1>;
123 #size-cells = <0>;
124 spi-max-frequency = <500000>;
125 };
126
127 spidev1: spidev@1{
128 compatible = "spidev";
129 reg = <1>; /* CE1 */
130 #address-cells = <1>;
131 #size-cells = <0>;
132 spi-max-frequency = <500000>;
133 };
134};
135
136&i2c0 {
137 pinctrl-names = "default";
138 pinctrl-0 = <&i2c0_pins>;
139 clock-frequency = <100000>;
140};
141
142&i2c1 {
143 pinctrl-names = "default";
144 pinctrl-0 = <&i2c1_pins>;
145 clock-frequency = <100000>;
146};
147
148&i2c2 {
149 clock-frequency = <100000>;
150};
151
152&i2s {
153 #sound-dai-cells = <0>;
154 pinctrl-names = "default";
155 pinctrl-0 = <&i2s_pins>;
156};
157
158&random {
159 status = "okay";
160};
161
162&leds {
163 act_led: act {
164 label = "led0";
165 linux,default-trigger = "mmc0";
166 gpios = <&gpio 29 0>;
167 };
168
169 pwr_led: pwr {
170 label = "led1";
171 linux,default-trigger = "default-on";
172 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
173 };
174};
175
176
177&audio {
178 pinctrl-names = "default";
179 pinctrl-0 = <&audio_pins>;
180};
181
182/ {
183 chosen {
184 bootargs = "8250.nr_uarts=1";
185 };
186};
187
188/ {
189 __overrides__ {
190 uart0 = <&uart0>,"status";
191 uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
192 uart1 = <&uart1>,"status";
193 i2s = <&i2s>,"status";
194 spi = <&spi0>,"status";
195 i2c0 = <&i2c0>,"status";
196 i2c1 = <&i2c1>,"status";
197 i2c2_iknowwhatimdoing = <&i2c2>,"status";
198 i2c0_baudrate = <&i2c0>,"clock-frequency:0";
199 i2c1_baudrate = <&i2c1>,"clock-frequency:0";
200 i2c2_baudrate = <&i2c2>,"clock-frequency:0";
201 core_freq = <&clk_core>,"clock-frequency:0";
202
203 act_led_gpio = <&act_led>,"gpios:4";
204 act_led_activelow = <&act_led>,"gpios:8";
205 act_led_trigger = <&act_led>,"linux,default-trigger";
206
207 audio = <&audio>,"status";
208 watchdog = <&watchdog>,"status";
209 random = <&random>,"status";
210 sd_overclock = <&sdhost>,"brcm,overclock-50:0";
211 sd_force_pio = <&sdhost>,"brcm,force-pio?";
212 sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
213 sd_debug = <&sdhost>,"brcm,debug";
214 };
215};
diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
0new file mode 100644216new file mode 100644
index 0000000..85f7334
--- /dev/null
+++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
@@ -0,0 +1,36 @@
1/ {
2 aliases {
3 ethernet = &ethernet;
4 };
5};
6
7&usb {
8 usb1@1 {
9 compatible = "usb424,2514";
10 reg = <1>;
11 #address-cells = <1>;
12 #size-cells = <0>;
13
14 usb1_1@1 {
15 compatible = "usb424,2514";
16 reg = <1>;
17 #address-cells = <1>;
18 #size-cells = <0>;
19
20 ethernet: usbether@1 {
21 compatible = "usb424,7800";
22 reg = <1>;
23 microchip,eee-enabled;
24 microchip,tx-lpi-timer = <600>; /* non-aggressive*/
25 };
26 };
27 };
28};
29
30
31/ {
32 __overrides__ {
33 eee = <&ethernet>,"microchip,eee-enabled?";
34 tx_lpi_timer = <&ethernet>,"microchip,tx-lpi-timer:0";
35 };
36};
diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
index 72601f8..8d323b7 100644
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -86,6 +86,10 @@ Params:
86 audio Set to "on" to enable the onboard ALSA audio86 audio Set to "on" to enable the onboard ALSA audio
87 interface (default "off")87 interface (default "off")
8888
89 eee Enable Energy Efficient Ethernet support for
90 compatible devices (default "on"). See also
91 "tx_lpi_timer".
92
89 i2c_arm Set to "on" to enable the ARM's i2c interface93 i2c_arm Set to "on" to enable the ARM's i2c interface
90 (default "off")94 (default "off")
9195
@@ -122,6 +126,10 @@ Params:
122126
123 sd_debug Enable debug output from SD driver (default off)127 sd_debug Enable debug output from SD driver (default off)
124128
129 tx_lpi_timer Set the delay in microseconds between going idle
130 and entering the low power state (default 600).
131 Requires EEE to be enabled - see "eee".
132
125 uart0 Set to "off" to disable uart0 (default "on")133 uart0 Set to "off" to disable uart0 (default "on")
126134
127 uart1 Set to "on" or "off" to enable or disable uart1135 uart1 Set to "on" or "off" to enable or disable uart1
diff --git a/snapcraft.yaml b/snapcraft.yaml
index ab6142a..301e763 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -17,6 +17,8 @@ parts:
17 kconfigflavour: raspi217 kconfigflavour: raspi2
18 kconfigs:18 kconfigs:
19 - CONFIG_DEBUG_INFO=n19 - CONFIG_DEBUG_INFO=n
20 - CONFIG_USB_LAN78XX=y
21 - CONFIG_SERIAL_DEV_BUS=m
20 kernel-image-target: zImage22 kernel-image-target: zImage
21 install: |23 install: |
22 tar -C $SNAPCRAFT_PART_INSTALL/dtbs -f $SNAPCRAFT_PART_INSTALL/dtbs/overlays.tgz -czv overlays24 tar -C $SNAPCRAFT_PART_INSTALL/dtbs -f $SNAPCRAFT_PART_INSTALL/dtbs/overlays.tgz -czv overlays

Subscribers

People subscribed via source and target branches