brcm2708: update to latest patches from RPi foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0301-overlays-balenaFin-v1.1.0-carrier-board-update.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0301-overlays-balenaFin-v1.1.0-carrier-board-update.patch b/target/linux/brcm2708/patches-4.19/950-0301-overlays-balenaFin-v1.1.0-carrier-board-update.patch
new file mode 100644 (file)
index 0000000..4dc4141
--- /dev/null
@@ -0,0 +1,109 @@
+From 6cafe647492605d21c2418b6261bf3182b9229f2 Mon Sep 17 00:00:00 2001
+From: Zahari Petkov <zahari@balena.io>
+Date: Fri, 8 Feb 2019 13:03:38 +0200
+Subject: [PATCH] overlays: balenaFin v1.1.0 carrier board update
+
+A backward compatible update for the balenaFin carrier board for the
+Raspberry Pi Compute Module 3/3+ Lite.
+
+The updated overlay includes:
+  * support for the newly introduced RGB LEDs
+  * i2c-gpio and SDIO improvements
+  * DT based Marvell 88W8887 configuration
+
+Signed-off-by: Zahari Petkov <zahari@balena.io>
+---
+ arch/arm/boot/dts/overlays/README             |  2 +-
+ .../boot/dts/overlays/balena-fin-overlay.dts  | 46 ++++++++++++++++++-
+ 2 files changed, 45 insertions(+), 3 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -472,7 +472,7 @@ Params: swap_lr                 Reverse
+ Name:   balena-fin
+ Info:   Overlay that enables WiFi, Bluetooth and the GPIO expander on the
+-        Balena Fin board.
++        balenaFin carrier board for the Raspberry Pi Compute Module 3/3+ Lite.
+ Load:   dtoverlay=balena-fin
+ Params: <None>
+--- a/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
++++ b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
+@@ -11,6 +11,7 @@
+                       pinctrl-0 = <&sdio_pins>;
+                       bus-width = <4>;
+                       brcm,overclock-50 = <35>;
++                      non-removable;
+                       status = "okay";
+               };
+       };
+@@ -34,7 +35,8 @@
+       fragment@2 {
+               target-path = "/";
+               __overlay__ {
+-                      // We should investigate how to switch to mmc-pwrseq-sd8787
++                      // We should switch to mmc-pwrseq-sd8787 after making it
++                      // compatible with sd8887
+                       // Currently that module requires two GPIOs to function since it
+                       // targets a slightly different chip
+                       power_ctrl: power_ctrl {
+@@ -46,10 +48,21 @@
+                       i2c_soft: i2c@0 {
+                               compatible = "i2c-gpio";
+                               gpios = <&gpio 43 0 /* sda */ &gpio 42 0 /* scl */>;
+-                              i2c-gpio,delay-us = <2>; /* ~100 kHz */
++                              i2c-gpio,delay-us = <5>;
++                              i2c-gpio,scl-open-drain;
++                              i2c-gpio,sda-open-drain;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
++
++                      sd8xxx-wlan {
++                              drvdbg = <0x6>;
++                              drv_mode = <0x1>;
++                              cfg80211_wext = <0xf>;
++                              sta_name = "wlan";
++                              wfd_name = "p2p";
++                              cal_data_cfg = "none";
++                      };
+               };
+       };
+@@ -74,6 +87,35 @@
+                               reg = <0x68>;
+                               status = "okay";
+                       };
++
++                      // RGB LEDs (>= v1.1.0)
++                      pca9633: pca9633@62 {
++                              compatible = "nxp,pca9633";
++                              reg = <0x62>;
++                              #address-cells = <1>;
++                              #size-cells = <0>;
++
++                              red@0 {
++                                      label = "red";
++                                      reg = <0>;
++                                      linux,default-trigger = "none";
++                              };
++                              green@1 {
++                                      label = "green";
++                                      reg = <1>;
++                                      linux,default-trigger = "none";
++                              };
++                              blue@2 {
++                                      label = "blue";
++                                      reg = <2>;
++                                      linux,default-trigger = "none";
++                              };
++                              unused@3 {
++                                      label = "unused";
++                                      reg = <3>;
++                                      linux,default-trigger = "none";
++                              };
++                      };
+               };
+       };
+ };