mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
122 lines
2.9 KiB
Diff
122 lines
2.9 KiB
Diff
|
From 09e843542826ad1241d77d5ef9abb2bce21a0984 Mon Sep 17 00:00:00 2001
|
||
|
From: Florin Sarbu <florin@resin.io>
|
||
|
Date: Mon, 30 Apr 2018 09:11:52 +0200
|
||
|
Subject: [PATCH 290/454] overlays: Add support for Balena Fin board
|
||
|
|
||
|
Signed-off-by: Florin Sarbu <florin@resin.io>
|
||
|
---
|
||
|
arch/arm/boot/dts/overlays/Makefile | 1 +
|
||
|
arch/arm/boot/dts/overlays/README | 7 ++
|
||
|
.../boot/dts/overlays/balena-fin-overlay.dts | 79 +++++++++++++++++++
|
||
|
3 files changed, 87 insertions(+)
|
||
|
create mode 100644 arch/arm/boot/dts/overlays/balena-fin-overlay.dts
|
||
|
|
||
|
--- a/arch/arm/boot/dts/overlays/Makefile
|
||
|
+++ b/arch/arm/boot/dts/overlays/Makefile
|
||
|
@@ -17,6 +17,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||
|
audioinjector-addons.dtbo \
|
||
|
audioinjector-wm8731-audio.dtbo \
|
||
|
audremap.dtbo \
|
||
|
+ balena-fin.dtbo \
|
||
|
bmp085_i2c-sensor.dtbo \
|
||
|
dht11.dtbo \
|
||
|
dionaudio-loco.dtbo \
|
||
|
--- a/arch/arm/boot/dts/overlays/README
|
||
|
+++ b/arch/arm/boot/dts/overlays/README
|
||
|
@@ -404,6 +404,13 @@ Params: swap_lr Reverse
|
||
|
(default off)
|
||
|
|
||
|
|
||
|
+Name: balena-fin
|
||
|
+Info: Overlay that enables WiFi, Bluetooth and the GPIO expander on the
|
||
|
+ Balena Fin board.
|
||
|
+Load: dtoverlay=balena-fin
|
||
|
+Params: <None>
|
||
|
+
|
||
|
+
|
||
|
Name: bmp085_i2c-sensor
|
||
|
Info: This overlay is now deprecated - see i2c-sensor
|
||
|
Load: dtoverlay=bmp085_i2c-sensor
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
|
||
|
@@ -0,0 +1,79 @@
|
||
|
+/dts-v1/;
|
||
|
+/plugin/;
|
||
|
+
|
||
|
+/{
|
||
|
+ compatible = "brcm,bcm2708";
|
||
|
+
|
||
|
+ fragment@0 {
|
||
|
+ target = <&mmc>;
|
||
|
+ sdio_wifi: __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 investigate how to switch to mmc-pwrseq-sd8787
|
||
|
+ // 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;
|
||
|
+ };
|
||
|
+
|
||
|
+ i2c_soft: i2c@0 {
|
||
|
+ compatible = "i2c-gpio";
|
||
|
+ gpios = <&gpio 43 0 /* sda */ &gpio 42 0 /* scl */>;
|
||
|
+ i2c-gpio,delay-us = <2>; /* ~100 kHz */
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ 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 = "maxim,ds1307";
|
||
|
+ reg = <0x68>;
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|