kernel: bump 4.14 to 4.14.93
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.14 / 950-0290-overlays-Add-support-for-Balena-Fin-board.patch
1 From 09e843542826ad1241d77d5ef9abb2bce21a0984 Mon Sep 17 00:00:00 2001
2 From: Florin Sarbu <florin@resin.io>
3 Date: Mon, 30 Apr 2018 09:11:52 +0200
4 Subject: [PATCH 290/454] overlays: Add support for Balena Fin board
5
6 Signed-off-by: Florin Sarbu <florin@resin.io>
7 ---
8 arch/arm/boot/dts/overlays/Makefile | 1 +
9 arch/arm/boot/dts/overlays/README | 7 ++
10 .../boot/dts/overlays/balena-fin-overlay.dts | 79 +++++++++++++++++++
11 3 files changed, 87 insertions(+)
12 create mode 100644 arch/arm/boot/dts/overlays/balena-fin-overlay.dts
13
14 --- a/arch/arm/boot/dts/overlays/Makefile
15 +++ b/arch/arm/boot/dts/overlays/Makefile
16 @@ -17,6 +17,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
17 audioinjector-addons.dtbo \
18 audioinjector-wm8731-audio.dtbo \
19 audremap.dtbo \
20 + balena-fin.dtbo \
21 bmp085_i2c-sensor.dtbo \
22 dht11.dtbo \
23 dionaudio-loco.dtbo \
24 --- a/arch/arm/boot/dts/overlays/README
25 +++ b/arch/arm/boot/dts/overlays/README
26 @@ -404,6 +404,13 @@ Params: swap_lr Reverse
27 (default off)
28
29
30 +Name: balena-fin
31 +Info: Overlay that enables WiFi, Bluetooth and the GPIO expander on the
32 + Balena Fin board.
33 +Load: dtoverlay=balena-fin
34 +Params: <None>
35 +
36 +
37 Name: bmp085_i2c-sensor
38 Info: This overlay is now deprecated - see i2c-sensor
39 Load: dtoverlay=bmp085_i2c-sensor
40 --- /dev/null
41 +++ b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts
42 @@ -0,0 +1,79 @@
43 +/dts-v1/;
44 +/plugin/;
45 +
46 +/{
47 + compatible = "brcm,bcm2708";
48 +
49 + fragment@0 {
50 + target = <&mmc>;
51 + sdio_wifi: __overlay__ {
52 + pinctrl-names = "default";
53 + pinctrl-0 = <&sdio_pins>;
54 + bus-width = <4>;
55 + brcm,overclock-50 = <35>;
56 + status = "okay";
57 + };
58 + };
59 +
60 + fragment@1 {
61 + target = <&gpio>;
62 + __overlay__ {
63 + sdio_pins: sdio_pins {
64 + brcm,pins = <34 35 36 37 38 39>;
65 + brcm,function = <7>; /* ALT3 = SD1 */
66 + brcm,pull = <0 2 2 2 2 2>;
67 + };
68 +
69 + power_ctrl_pins: power_ctrl_pins {
70 + brcm,pins = <40>;
71 + brcm,function = <1>; // out
72 + };
73 + };
74 + };
75 +
76 + fragment@2 {
77 + target-path = "/";
78 + __overlay__ {
79 + // We should investigate how to switch to mmc-pwrseq-sd8787
80 + // Currently that module requires two GPIOs to function since it
81 + // targets a slightly different chip
82 + power_ctrl: power_ctrl {
83 + compatible = "gpio-poweroff";
84 + gpios = <&gpio 40 1>;
85 + force;
86 + };
87 +
88 + i2c_soft: i2c@0 {
89 + compatible = "i2c-gpio";
90 + gpios = <&gpio 43 0 /* sda */ &gpio 42 0 /* scl */>;
91 + i2c-gpio,delay-us = <2>; /* ~100 kHz */
92 + #address-cells = <1>;
93 + #size-cells = <0>;
94 + };
95 + };
96 + };
97 +
98 + fragment@3 {
99 + target = <&i2c_soft>;
100 + __overlay__ {
101 + #address-cells = <1>;
102 + #size-cells = <0>;
103 + status = "okay";
104 +
105 + gpio_expander: gpio_expander@20 {
106 + compatible = "nxp,pca9554";
107 + gpio-controller;
108 + #gpio-cells = <2>;
109 + reg = <0x20>;
110 + status = "okay";
111 + };
112 +
113 + // rtc clock
114 + ds1307: ds1307@68 {
115 + compatible = "maxim,ds1307";
116 + reg = <0x68>;
117 + status = "okay";
118 + };
119 + };
120 + };
121 +};