aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/overlays/balena-fin-overlay.dts')
-rw-r--r--arch/arm/boot/dts/overlays/balena-fin-overlay.dts125
1 files changed, 125 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/overlays/balena-fin-overlay.dts b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
new file mode 100644
index 000000000000..e7ead7cdf5f5
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
@@ -0,0 +1,125 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+/{
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&mmcnr>;
+ __overlay__ {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdio_pins>;
+ bus-width = <4>;
+ brcm,overclock-50 = <35>;
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&gpio>;
+ __overlay__ {
+ sdio_pins: sdio_pins {
+ brcm,pins = <34 35 36 37 38 39>;
+ brcm,function = <7>; /* ALT3 = SD1 */
+ brcm,pull = <0 2 2 2 2 2>;
+ };
+
+ power_ctrl_pins: power_ctrl_pins {
+ brcm,pins = <40>;
+ brcm,function = <1>; // out
+ };
+ };
+ };
+
+ fragment@2 {
+ target-path = "/";
+ __overlay__ {
+ // 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 {
+ compatible = "gpio-poweroff";
+ gpios = <&gpio 40 1>;
+ force;
+ pinctrl-names = "default";
+ pinctrl-0 = <&power_ctrl_pins>;
+ };
+
+ i2c_soft: i2c@0 {
+ compatible = "i2c-gpio";
+ gpios = <&gpio 43 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */
+ &gpio 42 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */>;
+ 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";
+ };
+ };
+ };
+
+ fragment@3 {
+ target = <&i2c_soft>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ gpio_expander: gpio_expander@20 {
+ compatible = "nxp,pca9554";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0x20>;
+ status = "okay";
+ };
+
+ // rtc clock
+ ds1307: ds1307@68 {
+ compatible = "dallas,ds1307";
+ 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";
+ };
+ };
+ };
+ };
+};