arm64: allwinner: h6: orangepi-lite2: Support BT+WIFI combo module
authorSebastian Meyer <git-commit@mailhell.seb7.de>
Mon, 13 Apr 2020 06:24:33 +0000 (08:24 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Tue, 14 Apr 2020 07:33:50 +0000 (09:33 +0200)
OrangePi Lite2 has AP6255 BT+WIFI combo chip. Add support for it.

Signed-off-by: Sebastian Meyer <git-commit@mailhell.seb7.de>
[merged BT and WIFI patches and updated commit message]
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts

index e7ca75c..e877085 100644 (file)
@@ -6,4 +6,69 @@
 / {
        model = "OrangePi Lite2";
        compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6";
+
+       aliases {
+               serial1 = &uart1; /* BT-UART */
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               clocks = <&rtc 1>;
+               clock-names = "ext_clock";
+               reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
+               post-power-on-delay-ms = <200>;
+       };
+};
+
+&mmc1 {
+       vmmc-supply = <&reg_cldo2>;
+       vqmmc-supply = <&reg_bldo3>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       brcm: sdio-wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+               interrupt-parent = <&r_pio>;
+               interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>;  /* PM0 */
+               interrupt-names = "host-wake";
+       };
+};
+
+&reg_cldo2 {
+       /*
+        * This regulator is connected with CLDO3.
+        * Before the kernel can support synchronized
+        * enable of coupled regulators, keep them
+        * both always on as a ugly hack.
+        */
+       regulator-always-on;
+};
+
+&reg_cldo3 {
+       /*
+        * This regulator is connected with CLDO2.
+        * See the comments for CLDO2.
+        */
+       regulator-always-on;
+};
+
+/* There's the BT part of the AP6255 connected to that UART */
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+       uart-has-rtscts;
+       status = "okay";
+
+       bluetooth {
+               compatible = "brcm,bcm4345c5";
+               clocks = <&rtc 1>;
+               clock-names = "lpo";
+               device-wakeup-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
+               host-wakeup-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
+               shutdown-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
+               max-speed = <1500000>;
+       };
 };