arm64: dts: mediatek: mt8192-asurada-hayato: Enable Bluetooth
authorChen-Yu Tsai <wenst@chromium.org>
Mon, 24 Apr 2023 10:04:09 +0000 (18:04 +0800)
committerMatthias Brugger <matthias.bgg@gmail.com>
Mon, 29 May 2023 14:28:51 +0000 (16:28 +0200)
Hayato's Realtek WiFi/BT module has it's Bluetooth function wired to
UART1.

Add and enable the relevant device nodes for it.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20230424100409.2992418-1-wenst@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
arch/arm64/boot/dts/mediatek/mt8192-asurada-hayato-r1.dts

index 43a823990a927ad6aa3a3ba6a7ffbe4a9af4ed8a..6e23428a3ed23809e808d06d6bc7efec78a50c15 100644 (file)
        >;
 };
 
+&pio {
+       bt_pins: bt-pins {
+               pins-bt-kill {
+                       pinmux = <PINMUX_GPIO144__FUNC_GPIO144>;
+                       output-low;
+               };
+
+               pins-bt-wake {
+                       pinmux = <PINMUX_GPIO22__FUNC_GPIO22>;
+                       bias-pull-up;
+               };
+
+               pins-ap-wake-bt {
+                       pinmux = <PINMUX_GPIO168__FUNC_GPIO168>;
+                       output-low;
+               };
+       };
+
+       uart1_pins: uart1-pins {
+               pins-rx {
+                       pinmux = <PINMUX_GPIO94__FUNC_URXD1>;
+                       input-enable;
+                       bias-pull-up;
+               };
+
+               pins-tx {
+                       pinmux = <PINMUX_GPIO95__FUNC_UTXD1>;
+               };
+
+               pins-cts {
+                       pinmux = <PINMUX_GPIO166__FUNC_UCTS1>;
+                       input-enable;
+               };
+
+               pins-rts {
+                       pinmux = <PINMUX_GPIO167__FUNC_URTS1>;
+               };
+       };
+
+       uart1_pins_sleep: uart1-sleep-pins {
+               pins-rx {
+                       pinmux = <PINMUX_GPIO94__FUNC_GPIO94>;
+                       input-enable;
+                       bias-pull-up;
+               };
+
+               pins-tx {
+                       pinmux = <PINMUX_GPIO95__FUNC_UTXD1>;
+               };
+
+               pins-cts {
+                       pinmux = <PINMUX_GPIO166__FUNC_UCTS1>;
+                       input-enable;
+               };
+
+               pins-rts {
+                       pinmux = <PINMUX_GPIO167__FUNC_URTS1>;
+               };
+       };
+};
+
 &touchscreen {
        compatible = "hid-over-i2c";
        post-power-on-delay-ms = <10>;
        hid-descr-addr = <0x0001>;
        vdd-supply = <&pp3300_u>;
 };
+
+&uart1 {
+       status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&uart1_pins>;
+       pinctrl-1 = <&uart1_pins_sleep>;
+       /delete-property/ interrupts;
+       interrupts-extended = <&gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>,
+                             <&pio 94 IRQ_TYPE_EDGE_FALLING>;
+
+       bluetooth {
+               compatible = "realtek,rtl8822cs-bt";
+               pinctrl-names = "default";
+               pinctrl-0 = <&bt_pins>;
+
+               enable-gpios = <&pio 144 GPIO_ACTIVE_HIGH>;
+               device-wake-gpios = <&pio 168 GPIO_ACTIVE_HIGH>;
+               host-wake-gpios = <&pio 22 GPIO_ACTIVE_LOW>;
+       };
+};