| From a5a4bc14914faf219336d71c71595975b8112ff7 Mon Sep 17 00:00:00 2001 |
| From: Chen-Yu Tsai <wens@csie.org> |
| Date: Wed, 9 Jan 2019 23:02:54 +0800 |
| Subject: ARM: dts: sun8i: r40: Add pinmux setting for CLK_OUT_A |
| |
| CLK_OUT_A, an external clock output function driven from the clock |
| control unit, on the R40 is sometimes used to provide a low rate low |
| power clock to a WiFi or Bluetooth controller. |
| |
| This patch adds a pinmux setting for it. |
| |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> |
| |
| arch/arm/boot/dts/sun8i-r40.dtsi | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi |
| index f1fcfa0bdce0..06b685869f52 100644 |
| |
| |
| @@ -342,6 +342,11 @@ |
| #interrupt-cells = <3>; |
| #gpio-cells = <3>; |
| |
| + clk_out_a_pin: clk-out-a-pin { |
| + pins = "PI12"; |
| + function = "clk_out_a"; |
| + }; |
| + |
| gmac_rgmii_pins: gmac-rgmii-pins { |
| pins = "PA0", "PA1", "PA2", "PA3", |
| "PA4", "PA5", "PA6", "PA7", |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From 26e9ffeb2c04f0f577d0179e7eca8e1d54f9e050 Mon Sep 17 00:00:00 2001 |
| From: Chen-Yu Tsai <wens@csie.org> |
| Date: Wed, 9 Jan 2019 23:02:53 +0800 |
| Subject: ARM: dts: sun8i: r40: Add pinmux settings for UART3 on PG pingroup |
| |
| UART3 on the PG pingroup on the R40 SoC is commonly used to connect the |
| bluetooth controller in a WiFi+Bluetooth combo chip, with the WiFi bits |
| also on the PG pingroup. |
| |
| This patch adds two device nodes for UART3 on PG pingroup, one for the |
| RX/TX pins, and one for the RTS/CTS pins. Consumers can reference either |
| just the RX/TX pinmux setting or both, depending on the application. |
| |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> |
| |
| arch/arm/boot/dts/sun8i-r40.dtsi | 10 ++++++++++ |
| 1 file changed, 10 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi |
| index 89762dbefe42..f1fcfa0bdce0 100644 |
| |
| |
| @@ -389,6 +389,16 @@ |
| pins = "PB22", "PB23"; |
| function = "uart0"; |
| }; |
| + |
| + uart3_pg_pins: uart3-pg-pins { |
| + pins = "PG6", "PG7"; |
| + function = "uart3"; |
| + }; |
| + |
| + uart3_rts_cts_pg_pins: uart3-rts-cts-pg-pins { |
| + pins = "PG8", "PG9"; |
| + function = "uart3"; |
| + }; |
| }; |
| |
| wdt: watchdog@1c20c90 { |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From 75d64e8bf5c1582853515adc7e6f734852d5d5c7 Mon Sep 17 00:00:00 2001 |
| From: Chen-Yu Tsai <wens@csie.org> |
| Date: Mon, 3 Dec 2018 22:58:23 +0800 |
| Subject: ARM: dts: sun8i: r40: Add clock accuracy for external oscillators |
| |
| The R40 datasheet specifies a tolerance range for the external |
| oscillators used. Add them to the device tree as the clock accuracy. |
| |
| Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> |
| Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com> |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| |
| arch/arm/boot/dts/sun8i-r40.dtsi | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi |
| index 6f4c9ca5a3ee..a8917f8b1c80 100644 |
| |
| |
| @@ -61,6 +61,7 @@ |
| #clock-cells = <0>; |
| compatible = "fixed-clock"; |
| clock-frequency = <24000000>; |
| + clock-accuracy = <50000>; |
| clock-output-names = "osc24M"; |
| }; |
| |
| @@ -68,6 +69,7 @@ |
| #clock-cells = <0>; |
| compatible = "fixed-clock"; |
| clock-frequency = <32768>; |
| + clock-accuracy = <20000>; |
| clock-output-names = "osc32k"; |
| }; |
| }; |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From c41ca64d075020e2d5daecb7f48da6af0ba5b512 Mon Sep 17 00:00:00 2001 |
| From: Tuomas Tynkkynen <tuomas@tuxera.com> |
| Date: Wed, 8 Aug 2018 02:25:53 +0300 |
| Subject: ARM: dts: sunxi: Don't use cd-inverted in sun8i-r40-bananapi-m2-ultra |
| |
| Another user of cd-inverted seems to have crept in. Switch it away from |
| cd-inverted to be consistent with other sunxi boards. |
| |
| Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com> |
| Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> |
| |
| arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts |
| index c39b9169ea64..a891a387e8f1 100644 |
| |
| |
| @@ -159,8 +159,7 @@ |
| &mmc0 { |
| vmmc-supply = <®_dcdc1>; |
| bus-width = <4>; |
| - cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */ |
| - cd-inverted; |
| + cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ |
| status = "okay"; |
| }; |
| |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From e5c6e693be831c1bba9b4f8f1da597fb5514deca Mon Sep 17 00:00:00 2001 |
| From: Chen-Yu Tsai <wens@csie.org> |
| Date: Wed, 9 Jan 2019 23:02:55 +0800 |
| Subject: ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix WiFi regulator |
| definitions |
| |
| The design of the Bananapi M2 Ultra has both DLDO1 and DLDO2 regulators |
| provide power to the WiFi+BT module, which is based on the Broadcom |
| BCM43438 or BCM43430 chip. Each regulator output from the PMIC can supply |
| up to 200 mA. The datasheet of the chip suggests a maximum power draw of |
| up to 360 mA when transmitting, thus requiring two outputs from the PMIC |
| to handle the load. However the device tree only references one of them, |
| leaving the other unused and possibly turned off. |
| |
| This patch marks both as always-on, since we don't have a proper binding |
| to specify two regulators as "bound together". The name and constraints |
| of DLDO2 are also added. |
| |
| Fixes: da7ac948fa93 ("ARM: dts: sun8i: Add board dts file for Banana Pi M2 |
| Ultra") |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> |
| |
| arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 15 +++++++++++++++ |
| 1 file changed, 15 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts |
| index 438b7b44dab3..1a6794e63b90 100644 |
| |
| |
| @@ -250,12 +250,27 @@ |
| regulator-name = "vcc-wifi-io"; |
| }; |
| |
| +/* |
| + * Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same |
| + * time, with the two being in sync, to be able to meet maximum power |
| + * consumption during transmits. Since this is not really supported |
| + * right now, just use the two as always on, and we will fix it later. |
| + */ |
| + |
| ®_dldo2 { |
| + regulator-always-on; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-name = "vcc-wifi"; |
| }; |
| |
| +®_dldo3 { |
| + regulator-always-on; |
| + regulator-min-microvolt = <3300000>; |
| + regulator-max-microvolt = <3300000>; |
| + regulator-name = "vcc-wifi-2"; |
| +}; |
| + |
| ®_dldo4 { |
| regulator-min-microvolt = <2500000>; |
| regulator-max-microvolt = <2500000>; |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From 1e5f1db4ccd8348a21da55bff82f4263000879ef Mon Sep 17 00:00:00 2001 |
| From: Chen-Yu Tsai <wens@csie.org> |
| Date: Wed, 9 Jan 2019 23:02:56 +0800 |
| Subject: ARM: dts: sun8i: r40: bananapi-m2-ultra: Add Bluetooth device node |
| |
| The AP6212 is based on the Broadcom BCM43430 or BCM43438. The WiFi side |
| identifies as BCM43430, while the Bluetooth side identifies as BCM43438. |
| |
| The Bluetooth side is connected to UART3 in a 4 wire configuration. Same |
| as the WiFi side, due to being the same chip and package, DLDO1 and |
| DLDO2 regulator outputs from the PMIC provide overall power via VBAT and |
| I/O power via VDDIO. The CLK_OUT_A clock output from the SoC provides |
| the LPO low power clock at 32.768 kHz. |
| |
| This patch enables Bluetooth on this board, and also adds the missing |
| LPO clock on the WiFi side. There is also a PCM connection for |
| Bluetooth, but this is not covered here. |
| |
| The LPO clock is fed from CLK_OUT_A, which needs to be muxed on pin |
| PI12. This can be represented in multiple ways. This patch puts the |
| pinctrl property in the pin controller node. This is due to limitations |
| in Linux, where pinmux settings, even the same one, can not be shared |
| by multiple devices. Thus we cannot put it in both the WiFi and |
| Bluetooth device nodes. Putting it the CCU node is another option, but |
| Linux's CCU driver does not handle pinctrl. Also the pin controller is |
| guaranteed to be initialized after the CCU, when clocks are available. |
| And any other devices that use muxed pins are guaranteed to be |
| initialized after the pin controller. Thus having the CLK_OUT_A pinmux |
| reference be in the pin controller node is a good choice without having |
| to deal with implementation issues. |
| |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> |
| |
| arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 26 +++++++++++++++++++++++ |
| 1 file changed, 26 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts |
| index 1a6794e63b90..c488aaacbd68 100644 |
| |
| |
| @@ -102,6 +102,8 @@ |
| wifi_pwrseq: wifi_pwrseq { |
| compatible = "mmc-pwrseq-simple"; |
| reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */ |
| + clocks = <&ccu CLK_OUTA>; |
| + clock-names = "ext_clock"; |
| }; |
| }; |
| |
| @@ -196,6 +198,11 @@ |
| status = "okay"; |
| }; |
| |
| +&pio { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&clk_out_a_pin>; |
| +}; |
| + |
| ®_aldo2 { |
| regulator-always-on; |
| regulator-min-microvolt = <2500000>; |
| @@ -293,6 +300,25 @@ |
| status = "okay"; |
| }; |
| |
| +&uart3 { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_cts_pg_pins>; |
| + uart-has-rtscts; |
| + status = "okay"; |
| + |
| + bluetooth { |
| + compatible = "brcm,bcm43438-bt"; |
| + clocks = <&ccu CLK_OUTA>; |
| + clock-names = "lpo"; |
| + vbat-supply = <®_dldo2>; |
| + vddio-supply = <®_dldo1>; |
| + device-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ |
| + /* TODO host wake line connected to PMIC GPIO pins */ |
| + shutdown-gpios = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */ |
| + max-speed = <1500000>; |
| + }; |
| +}; |
| + |
| &usbphy { |
| usb1_vbus-supply = <®_vcc5v0>; |
| usb2_vbus-supply = <®_vcc5v0>; |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From 0e363c61307062cd18c48e889b419fb37afb1c31 Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Tue, 16 Apr 2019 18:23:45 -0300 |
| Subject: [PATCH v5 1/7] ARM: dts: sun8i: r40: bananapi-m2-ultra: Add GPIO |
| pin-bank regulator supplies |
| |
| The bananapi-m2-ultra has the PMIC providing voltage to all the pin-bank |
| supply rails from its various regulator outputs, tie them to the pio |
| node. |
| |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts |
| index c488aaa..699579d 100644 |
| |
| |
| @@ -201,6 +201,12 @@ |
| &pio { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&clk_out_a_pin>; |
| + vcc-pa-supply = <®_aldo2>; |
| + vcc-pc-supply = <®_dcdc1>; |
| + vcc-pd-supply = <®_dcdc1>; |
| + vcc-pe-supply = <®_eldo1>; |
| + vcc-pf-supply = <®_dcdc1>; |
| + vcc-pg-supply = <®_dldo1>; |
| }; |
| |
| ®_aldo2 { |
| -- |
| 1.8.3.1 |
| |
| From 0729b4af5753b65aa031f58c435da53dbbf56d19 Mon Sep 17 00:00:00 2001 |
| From: Rob Herring <robh@kernel.org> |
| Date: Thu, 13 Sep 2018 13:12:32 -0500 |
| Subject: ARM: dts: sunxi: Fix I2C bus warnings |
| |
| dtc has new checks for I2C buses. Fix the warnings in unit-addresses. |
| |
| arch/arm/boot/dts/sun8i-a23-gt90h-v4.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: I2C bus unit address format error, expected "40" |
| arch/arm/boot/dts/sun8i-a23-inet86dz.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: I2C bus unit address format error, expected "40" |
| arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: I2C bus unit address format error, expected "40" |
| arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: I2C bus unit address format error, expected "40" |
| arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: I2C bus unit address format error, expected "40" |
| arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: missing or empty reg property |
| arch/arm/boot/dts/sun8i-a33-ippo-q8h-v1.2.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: missing or empty reg property |
| arch/arm/boot/dts/sun8i-a33-q8-tablet.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2ac00/touchscreen@0: missing or empty reg property |
| arch/arm/boot/dts/sun5i-a13-utoo-p66.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2b000/touchscreen: I2C bus unit address format error, expected "40" |
| arch/arm/boot/dts/sun5i-a13-difrnce-dit4350.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2b000/touchscreen: missing or empty reg property |
| arch/arm/boot/dts/sun5i-a13-empire-electronix-m712.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2b000/touchscreen: missing or empty reg property |
| arch/arm/boot/dts/sun5i-a13-inet-98v-rev2.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2b000/touchscreen: missing or empty reg property |
| arch/arm/boot/dts/sun5i-a13-q8-tablet.dtb: Warning (i2c_bus_reg): /soc@1c00000/i2c@1c2b000/touchscreen: missing or empty reg property |
| |
| Cc: Maxime Ripard <maxime.ripard@bootlin.com> |
| Cc: Chen-Yu Tsai <wens@csie.org> |
| Signed-off-by: Rob Herring <robh@kernel.org> |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| (limited to 'arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts') |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index 35859d8f3267..bf97f6244c23 100644 |
| |
| |
| @@ -95,7 +95,7 @@ |
| &i2c0 { |
| status = "okay"; |
| |
| - axp22x: pmic@68 { |
| + axp22x: pmic@34 { |
| compatible = "x-powers,axp221"; |
| reg = <0x34>; |
| interrupt-parent = <&nmi_intc>; |
| -- |
| cgit 1.2-0.3.lf.el7 |
| |
| From 933ea7e9d143cee0c8c3bdc274afa69c91d91d61 Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Wed, 10 Apr 2019 18:59:25 -0300 |
| Subject: [PATCH v2 1/6] ARM: dts: sun8i: v40: bananapi-m2-berry: Sort device |
| node dereferences. |
| |
| The device node dereferences are out of order, sort them. |
| |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 36 +++++++++++------------ |
| 1 file changed, 18 insertions(+), 18 deletions(-) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index bf97f62..f05cabd 100644 |
| |
| |
| @@ -105,6 +105,24 @@ |
| |
| #include "axp22x.dtsi" |
| |
| +&mmc0 { |
| + vmmc-supply = <®_dcdc1>; |
| + bus-width = <4>; |
| + cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ |
| + status = "okay"; |
| +}; |
| + |
| +&mmc1 { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&mmc1_pg_pins>; |
| + vmmc-supply = <®_dldo2>; |
| + vqmmc-supply = <®_dldo1>; |
| + mmc-pwrseq = <&wifi_pwrseq>; |
| + bus-width = <4>; |
| + non-removable; |
| + status = "okay"; |
| +}; |
| + |
| ®_aldo3 { |
| regulator-always-on; |
| regulator-min-microvolt = <2700000>; |
| @@ -152,24 +170,6 @@ |
| regulator-name = "vcc-wifi"; |
| }; |
| |
| -&mmc0 { |
| - vmmc-supply = <®_dcdc1>; |
| - bus-width = <4>; |
| - cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ |
| - status = "okay"; |
| -}; |
| - |
| -&mmc1 { |
| - pinctrl-names = "default"; |
| - pinctrl-0 = <&mmc1_pg_pins>; |
| - vmmc-supply = <®_dldo2>; |
| - vqmmc-supply = <®_dldo1>; |
| - mmc-pwrseq = <&wifi_pwrseq>; |
| - bus-width = <4>; |
| - non-removable; |
| - status = "okay"; |
| -}; |
| - |
| &uart0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart0_pb_pins>; |
| -- |
| 1.8.3.1 |
| |
| From 8aaf8c380ea622a324de435fef9acc0491c98854 Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Wed, 17 Apr 2019 19:34:25 -0300 |
| Subject: [PATCH v6 1/5] ARM: dts: sun8i: v40: bananapi-m2-berry: Add GPIO |
| pin-bank regulator supplies |
| |
| The bananapi-m2-berry has the PMIC providing voltage to all the pin-bank |
| supply rails from its various regulator outputs, tie them to the pio |
| node. |
| |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 15 +++++++++++++++ |
| 1 file changed, 15 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index f05cabd..27297f4 100644 |
| |
| |
| @@ -123,6 +123,21 @@ |
| status = "okay"; |
| }; |
| |
| +&pio { |
| + vcc-pa-supply = <®_aldo2>; |
| + vcc-pc-supply = <®_dcdc1>; |
| + vcc-pd-supply = <®_dcdc1>; |
| + vcc-pe-supply = <®_eldo1>; |
| + vcc-pf-supply = <®_dcdc1>; |
| + vcc-pg-supply = <®_dldo1>; |
| +}; |
| + |
| +®_aldo2 { |
| + regulator-min-microvolt = <2500000>; |
| + regulator-max-microvolt = <2500000>; |
| + regulator-name = "vcc-pa"; |
| +}; |
| + |
| ®_aldo3 { |
| regulator-always-on; |
| regulator-min-microvolt = <2700000>; |
| -- |
| 1.8.3.1 |
| |
| From 8f708af45073e971ac75a43863382ece8bb4ce79 Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Thu, 11 Apr 2019 13:58:49 -0300 |
| Subject: [PATCH v6 2/5] ARM: dts: sun8i: v40: bananapi-m2-berry: Enable GMAC |
| ethernet controller |
| |
| Just like the Bananapi M2 Ultra, the Bananapi M2 Berry has a Realtek |
| RTL8211E RGMII PHY tied to the GMAC. |
| The PMIC's DC1SW output provides power for the PHY, while the ALDO2 |
| output provides I/O voltages on both sides. |
| |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 23 +++++++++++++++++++++++ |
| 1 file changed, 23 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index 27297f4..0dfde58 100644 |
| |
| |
| @@ -50,6 +50,7 @@ |
| compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40"; |
| |
| aliases { |
| + ethernet0 = &gmac; |
| serial0 = &uart0; |
| }; |
| |
| @@ -92,6 +93,22 @@ |
| status = "okay"; |
| }; |
| |
| +&gmac { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&gmac_rgmii_pins>; |
| + phy-handle = <&phy1>; |
| + phy-mode = "rgmii"; |
| + phy-supply = <®_dc1sw>; |
| + status = "okay"; |
| +}; |
| + |
| +&gmac_mdio { |
| + phy1: ethernet-phy@1 { |
| + compatible = "ethernet-phy-ieee802.3-c22"; |
| + reg = <1>; |
| + }; |
| +}; |
| + |
| &i2c0 { |
| status = "okay"; |
| |
| @@ -145,6 +162,12 @@ |
| regulator-name = "avcc"; |
| }; |
| |
| +®_dc1sw { |
| + regulator-min-microvolt = <3000000>; |
| + regulator-max-microvolt = <3000000>; |
| + regulator-name = "vcc-gmac-phy"; |
| +}; |
| + |
| ®_dcdc1 { |
| regulator-always-on; |
| regulator-min-microvolt = <3000000>; |
| -- |
| 1.8.3.1 |
| |
| From 1d4425d5ee921a8ec63000b9544b5098a80c94fe Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Thu, 11 Apr 2019 14:00:05 -0300 |
| Subject: [PATCH v6 3/5] ARM: dts: sun8i: v40: bananapi-m2-berry: Enable HDMI |
| output |
| |
| This patch adds the hdmi nodes to the Bananapi M2 Berry, the same way it |
| was done to the Bananapi M2 Ultra |
| |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 29 +++++++++++++++++++++++ |
| 1 file changed, 29 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index 0dfde58..1f4f51f9 100644 |
| |
| |
| @@ -58,6 +58,17 @@ |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| + connector { |
| + compatible = "hdmi-connector"; |
| + type = "a"; |
| + |
| + port { |
| + hdmi_con_in: endpoint { |
| + remote-endpoint = <&hdmi_out_con>; |
| + }; |
| + }; |
| + }; |
| + |
| leds { |
| compatible = "gpio-leds"; |
| |
| @@ -88,6 +99,10 @@ |
| }; |
| }; |
| |
| +&de { |
| + status = "okay"; |
| +}; |
| + |
| &ehci1 { |
| /* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */ |
| status = "okay"; |
| @@ -109,6 +124,16 @@ |
| }; |
| }; |
| |
| +&hdmi { |
| + status = "okay"; |
| +}; |
| + |
| +&hdmi_out { |
| + hdmi_out_con: endpoint { |
| + remote-endpoint = <&hdmi_con_in>; |
| + }; |
| +}; |
| + |
| &i2c0 { |
| status = "okay"; |
| |
| @@ -208,6 +233,10 @@ |
| regulator-name = "vcc-wifi"; |
| }; |
| |
| +&tcon_tv0 { |
| + status = "okay"; |
| +}; |
| + |
| &uart0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart0_pb_pins>; |
| -- |
| 1.8.3.1 |
| |
| From 6191156685f9b94b87a370d82e642671104f504c Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Thu, 11 Apr 2019 14:03:54 -0300 |
| Subject: [PATCH v6 4/5] ARM: dts: sun8i: v40: bananapi-m2-berry: Enable AHCI |
| |
| Just like the Bananapi M2 Ultra, enable the ahci controller and |
| the two regulators needed to activate it. |
| |
| Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 18 ++++++++++++++++++ |
| 1 file changed, 18 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index 1f4f51f9..461683c 100644 |
| |
| |
| @@ -99,6 +99,12 @@ |
| }; |
| }; |
| |
| +&ahci { |
| + ahci-supply = <®_dldo4>; |
| + phy-supply = <®_eldo3>; |
| + status = "okay"; |
| +}; |
| + |
| &de { |
| status = "okay"; |
| }; |
| @@ -233,6 +239,18 @@ |
| regulator-name = "vcc-wifi"; |
| }; |
| |
| +®_dldo4 { |
| + regulator-min-microvolt = <2500000>; |
| + regulator-max-microvolt = <2500000>; |
| + regulator-name = "vdd2v5-sata"; |
| +}; |
| + |
| +®_eldo3 { |
| + regulator-min-microvolt = <1200000>; |
| + regulator-max-microvolt = <1200000>; |
| + regulator-name = "vdd1v2-sata"; |
| +}; |
| + |
| &tcon_tv0 { |
| status = "okay"; |
| }; |
| -- |
| 1.8.3.1 |
| |
| From c8fbe63299222c29c721816939a8bb12eb77c2ac Mon Sep 17 00:00:00 2001 |
| From: Pablo Greco <pgreco@centosproject.org> |
| Date: Thu, 11 Apr 2019 14:05:06 -0300 |
| Subject: [PATCH v6 5/5] ARM: dts: sun8i: v40: bananapi-m2-berry: Add Bluetooth |
| device node |
| |
| The AP6212 is based on the Broadcom BCM43430 or BCM43438. The WiFi side |
| identifies as BCM43430, while the Bluetooth side identifies as BCM43438. |
| |
| The Bluetooth side is connected to UART3 in a 4 wire configuration. Same |
| as the WiFi side, due to being the same chip and package, DLDO1 and |
| DLDO2 regulator outputs from the PMIC provide overall power via VBAT and |
| I/O power via VDDIO. The CLK_OUT_A clock output from the SoC provides |
| the LPO low power clock at 32.768 kHz. |
| |
| This patch enables Bluetooth on this board, and also adds the missing |
| LPO clock on the WiFi side. There is also a PCM connection for |
| Bluetooth, but this is not covered here. |
| |
| The LPO clock is fed from CLK_OUT_A, which needs to be muxed on pin |
| PI12. This can be represented in multiple ways. This patch puts the |
| pinctrl property in the pin controller node. This is due to limitations |
| in Linux, where pinmux settings, even the same one, can not be shared |
| by multiple devices. Thus we cannot put it in both the WiFi and |
| Bluetooth device nodes. Putting it the CCU node is another option, but |
| Linux's CCU driver does not handle pinctrl. Also the pin controller is |
| guaranteed to be initialized after the CCU, when clocks are available. |
| And any other devices that use muxed pins are guaranteed to be |
| initialized after the pin controller. Thus having the CLK_OUT_A pinmux |
| reference be in the pin controller node is a good choice without having |
| to deal with implementation issues. |
| |
| Signed-off-by: Pablo Greco <pgreco@centosproject.org> |
| |
| arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 38 +++++++++++++++++++++++ |
| 1 file changed, 38 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts |
| index 461683c..15c22b0 100644 |
| |
| |
| @@ -96,6 +96,8 @@ |
| wifi_pwrseq: wifi_pwrseq { |
| compatible = "mmc-pwrseq-simple"; |
| reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */ |
| + clocks = <&ccu CLK_OUTA>; |
| + clock-names = "ext_clock"; |
| }; |
| }; |
| |
| @@ -172,6 +174,8 @@ |
| }; |
| |
| &pio { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&clk_out_a_pin>; |
| vcc-pa-supply = <®_aldo2>; |
| vcc-pc-supply = <®_dcdc1>; |
| vcc-pd-supply = <®_dcdc1>; |
| @@ -233,12 +237,27 @@ |
| regulator-name = "vcc-wifi-io"; |
| }; |
| |
| +/* |
| + * Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same |
| + * time, with the two being in sync, to be able to meet maximum power |
| + * consumption during transmits. Since this is not really supported |
| + * right now, just use the two as always on, and we will fix it later. |
| + */ |
| + |
| ®_dldo2 { |
| + regulator-always-on; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-name = "vcc-wifi"; |
| }; |
| |
| +®_dldo3 { |
| + regulator-always-on; |
| + regulator-min-microvolt = <3300000>; |
| + regulator-max-microvolt = <3300000>; |
| + regulator-name = "vcc-wifi-2"; |
| +}; |
| + |
| ®_dldo4 { |
| regulator-min-microvolt = <2500000>; |
| regulator-max-microvolt = <2500000>; |
| @@ -261,6 +280,25 @@ |
| status = "okay"; |
| }; |
| |
| +&uart3 { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_cts_pg_pins>; |
| + uart-has-rtscts; |
| + status = "okay"; |
| + |
| + bluetooth { |
| + compatible = "brcm,bcm43438-bt"; |
| + clocks = <&ccu CLK_OUTA>; |
| + clock-names = "lpo"; |
| + vbat-supply = <®_dldo2>; |
| + vddio-supply = <®_dldo1>; |
| + device-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ |
| + /* TODO host wake line connected to PMIC GPIO pins */ |
| + shutdown-gpios = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */ |
| + max-speed = <1500000>; |
| + }; |
| +}; |
| + |
| &usbphy { |
| usb1_vbus-supply = <®_vcc5v0>; |
| status = "okay"; |
| -- |
| 1.8.3.1 |
| |