summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Robinson <pbrobinson@gmail.com>2018-03-19 09:34:36 +0000
committerPeter Robinson <pbrobinson@gmail.com>2018-03-19 09:34:36 +0000
commita5169d31933e7c08517604f05639231fa4564f25 (patch)
tree9c6f40bc610eeb6b317e7d50971747b4426e18ce
parent915b2136f18db488b50b3bb0c66207d9b27b32c0 (diff)
downloadkernel-a5169d31933e7c08517604f05639231fa4564f25.tar.gz
kernel-a5169d31933e7c08517604f05639231fa4564f25.tar.xz
kernel-a5169d31933e7c08517604f05639231fa4564f25.zip
actual Initial Raspberry Pi 3+ support
-rw-r--r--bcm2837-rpi-initial-support-for-the-3.patch163
-rw-r--r--kernel.spec2
2 files changed, 165 insertions, 0 deletions
diff --git a/bcm2837-rpi-initial-support-for-the-3.patch b/bcm2837-rpi-initial-support-for-the-3.patch
new file mode 100644
index 000000000..df3414547
--- /dev/null
+++ b/bcm2837-rpi-initial-support-for-the-3.patch
@@ -0,0 +1,163 @@
+From 383c32f69af61774ff3414f98c9bc29f28dca8fa Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Mon, 19 Mar 2018 09:26:57 +0000
+Subject: [PATCH] rpi: initial support for the 3+
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 62 ++++++++++++++++++++++
+ arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi | 36 +++++++++++++
+ arch/arm64/boot/dts/broadcom/Makefile | 4 +-
+ .../boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts | 2 +
+ 5 files changed, 104 insertions(+), 1 deletion(-)
+ create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+ create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+ create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index ade7a38543dc..05b49935d84b 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
+ bcm2835-rpi-a-plus.dtb \
+ bcm2836-rpi-2-b.dtb \
+ bcm2837-rpi-3-b.dtb \
++ bcm2837-rpi-3-b-plus.dtb \
+ bcm2835-rpi-zero.dtb \
+ bcm2835-rpi-zero-w.dtb
+ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+new file mode 100644
+index 000000000000..63ff6bc56e36
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+@@ -0,0 +1,62 @@
++// SPDX-License-Identifier: GPL-2.0
++/dts-v1/;
++#include "bcm2837.dtsi"
++#include "bcm2835-rpi.dtsi"
++#include "bcm283x-rpi-lan7515.dtsi"
++#include "bcm283x-rpi-usb-host.dtsi"
++
++/ {
++ compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
++ model = "Raspberry Pi 3 Model B+";
++
++ chosen {
++ /* 8250 auxiliary UART instead of pl011 */
++ stdout-path = "serial1:115200n8";
++ };
++
++ memory {
++ reg = <0 0x40000000>;
++ };
++
++ leds {
++ act {
++ gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
++ };
++ };
++};
++
++/* uart0 communicates with the BT module */
++&uart0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
++ status = "okay";
++
++ bluetooth {
++ compatible = "brcm,bcm43438-bt";
++ max-speed = <2000000>;
++ };
++};
++
++/* uart1 is mapped to the pin header */
++&uart1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart1_gpio14>;
++ status = "okay";
++};
++
++/* SDHCI is used to control the SDIO for wireless */
++&sdhci {
++ pinctrl-names = "default";
++ pinctrl-0 = <&emmc_gpio34>;
++ status = "okay";
++ bus-width = <4>;
++ non-removable;
++};
++
++/* SDHOST is used to drive the SD card */
++&sdhost {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdhost_gpio48>;
++ status = "okay";
++ bus-width = <4>;
++};
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+new file mode 100644
+index 000000000000..1b1075d4aa5c
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+@@ -0,0 +1,36 @@
++/ {
++ aliases {
++ ethernet0 = &ethernet;
++ };
++};
++
++&usb {
++ usb1@1 {
++ compatible = "usb424,2514";
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ usb1_1@1 {
++ compatible = "usb424,2514";
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ethernet: usbether@1 {
++ compatible = "usb424,7800";
++ reg = <1>;
++ microchip,eee-enabled;
++ microchip,tx-lpi-timer = <600>; /* non-aggressive*/
++ };
++ };
++ };
++};
++
++
++/ {
++ __overrides__ {
++ eee = <&ethernet>,"microchip,eee-enabled?";
++ tx_lpi_timer = <&ethernet>,"microchip,tx-lpi-timer:0";
++ };
++};
+diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
+index 2a2591ef1fee..6b5b70542dad 100644
+--- a/arch/arm64/boot/dts/broadcom/Makefile
++++ b/arch/arm64/boot/dts/broadcom/Makefile
+@@ -1,5 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0
+-dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
++dtb-$(CONFIG_ARCH_BCM2835) += \
++ bcm2837-rpi-3-b.dtb \
++ bcm2837-rpi-3-b-plus.dtb
+
+ subdir-y += northstar2
+ subdir-y += stingray
+diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
+new file mode 100644
+index 000000000000..46ad2023cccf
+--- /dev/null
++++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
+@@ -0,0 +1,2 @@
++// SPDX-License-Identifier: GPL-2.0
++#include "arm/bcm2837-rpi-3-b-plus.dts"
+--
+2.16.2
+
diff --git a/kernel.spec b/kernel.spec
index 01ba471bd..788fe809d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -608,6 +608,8 @@ Patch316: mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch
# https://www.spinics.net/lists/arm-kernel/msg633945.html
Patch317: bcm2835-hwrng-Handle-deferred-clock-properly.patch
+Patch318: bcm2837-rpi-initial-support-for-the-3.patch
+
# 400 - IBM (ppc/s390x) patches
# 500 - Temp fixes/CVEs etc