diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts index 73088c06b2ab..e9e8ea1eec41 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidc4.dts @@ -191,28 +191,6 @@ 0xffff 0x0>; /* ending flag */ }; - bt-dev{ - compatible = "amlogic, bt-dev"; - dev_name = "bt-dev"; - status = "disabled"; - gpio_reset = <&gpio GPIOH_7 GPIO_ACTIVE_HIGH>; - gpio_hostwake = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; - }; - - wifi{ - compatible = "amlogic, aml_wifi"; - dev_name = "aml_wifi"; - status = "disabled"; - interrupt_pin = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; - irq_trigger_type = "GPIO_IRQ_HIGH"; - power_on_pin = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; - dhd_static_buf; //if use bcm wifi, config dhd_static_buf - pinctrl-names = "default"; - pinctrl-0 = <&pwm_e_pins>; - pwms= <&pwm_ef MESON_PWM_0 30541 0>; - duty_cycle = <15270>; - }; - deinterlace { compatible = "amlogic, deinterlace"; status = "okay"; diff --git a/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi b/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi index fdbd4b79ee04..60f0648cc458 100644 --- a/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi @@ -176,14 +176,6 @@ clock-frequency = <100000>; /* default 100k */ }; -&a_uart_pins { - mux{ - groups = "uart_tx_a", - "uart_rx_a"; - function = "uart_a"; - }; -}; - &usb2_phy_v2 { status = "okay"; portnum = <2>; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index 5867b9e439cd..79e728ed7e9d 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -17,7 +17,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ pwm_cd.dtbo \ pwm_ef.dtbo \ pwm_a-pwmfan.dtbo \ - pwm_b-backlight.dtbo + pwm_b-backlight.dtbo \ + wifi_bt_combo.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart0.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart0.dts index ef5468a12130..6ef674d92b54 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart0.dts +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/uart0.dts @@ -9,4 +9,15 @@ status = "okay"; }; }; + + fragment@1 { + target = <&a_uart_pins>; + + __overlay__ { + mux { + groups = "uart_tx_a", + "uart_rx_a"; + }; + }; + }; }; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/wifi_bt_combo.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/wifi_bt_combo.dts new file mode 100644 index 000000000000..2fd8fedaca79 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/wifi_bt_combo.dts @@ -0,0 +1,56 @@ +/dts-v1/; +/plugin/; + +#include +#include + +#include +#include +/{ + fragment@0 { + target-path = "/"; + + __overlay__ { + bt-dev{ + compatible = "amlogic, bt-dev"; + dev_name = "bt-dev"; + status = "okay"; + gpio_reset = <&gpio GPIOX_17 GPIO_ACTIVE_LOW>; + gpio_hostwake = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; + gpio_btwakeup = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; + }; + + wifi{ + compatible = "amlogic, aml_wifi"; + dev_name = "aml_wifi"; + status = "okay"; + interrupt_pin = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; + irq_trigger_type = "GPIO_IRQ_HIGH"; + power_on_pin = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; + dhd_static_buf; //if use bcm wifi, config dhd_static_buf + pinctrl-names = "default"; + pinctrl-0 = <&pwm_e_pins>; + pwms= <&pwm_ef MESON_PWM_0 30541 0>; + duty_cycle = <15270>; + }; + }; + }; + + fragment@1 { + target = <&uart_A>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&pwm_ef>; + + __overlay__ { + status = "okay"; + pinctrl-names = "pwm_pins"; + pinctrl-0 = <&pwm_e_pins>; + }; + }; +};