diff --git a/arch/arm64/boot/dts/amlogic/meson-s6.dtsi b/arch/arm64/boot/dts/amlogic/meson-s6.dtsi index ddb9cd041..037dd2110 100644 --- a/arch/arm64/boot/dts/amlogic/meson-s6.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-s6.dtsi @@ -1806,7 +1806,7 @@ compatible = "amlogic, aml-wifi"; status = "disabled"; irq_trigger_type = "IRQF_TRIGGER_LOW"; - wifi_static_buf = <2>; + wifi_static_buf = <0>; //pinctrl-0 = <&pwm_e_pins>; //pinctrl-names = "default"; pwm_config = <&wifi_pwm_conf>; @@ -1814,12 +1814,12 @@ wifi_pwm_conf:wifi_pwm_conf{ pwm_channel1_conf { - // pwms = <&pwm_ef 0 30541 0>; + pwms = <&pwm_e 0 30541 0>; duty-cycle = <15270>; times = <7>; }; pwm_channel2_conf { - // pwms = <&pwm_ef 2 30500 0>; + pwms = <&pwm_e 2 30500 0>; duty-cycle = <15250>; times = <10>; }; @@ -2746,7 +2746,6 @@ mux { groups = "pwm_e"; function = "pwm_e"; - drive-strength-microamp = <500>; }; }; diff --git a/arch/arm64/boot/dts/amlogic/s6_s905d5_bq201.dts b/arch/arm64/boot/dts/amlogic/s6_s905d5_bq201.dts index dd90d7970..cfb7917fe 100644 --- a/arch/arm64/boot/dts/amlogic/s6_s905d5_bq201.dts +++ b/arch/arm64/boot/dts/amlogic/s6_s905d5_bq201.dts @@ -951,8 +951,9 @@ }; &pcie { - reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; - status = "disable"; + reset-gpio = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; + max-link-speed=<1>; + status = "okay"; }; /* SDIO */ @@ -966,8 +967,8 @@ bus-width = <4>; cap-sd-highspeed; - //sd-uhs-sdr50; - //sd-uhs-sdr104; + sd-uhs-sdr50; + sd-uhs-sdr104; max-frequency = <200000000>; non-removable; @@ -1240,18 +1241,24 @@ }; &aml_wifi{ - status = "disabled"; + status = "okay"; interrupt-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; power_on-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; }; &aml_bt { - status = "disabled"; + status = "okay"; reset-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; btwakeup-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; hostwake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; }; +&pwm_e { + pinctrl-0 = <&pwm_e_pins1>; + pinctrl-names = "default"; + status = "okay"; +}; + &uart_A { status = "okay"; uart-has-rtscts; diff --git a/arch/arm64/boot/dts/amlogic/s6_s905d5_bq208.dts b/arch/arm64/boot/dts/amlogic/s6_s905d5_bq208.dts index 8d50aadd7..21c8a0551 100644 --- a/arch/arm64/boot/dts/amlogic/s6_s905d5_bq208.dts +++ b/arch/arm64/boot/dts/amlogic/s6_s905d5_bq208.dts @@ -885,8 +885,9 @@ }; &pcie { - reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; - status = "disable"; + reset-gpio = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; + max-link-speed=<1>; + status = "okay"; }; /* SDIO */ @@ -900,8 +901,8 @@ bus-width = <4>; cap-sd-highspeed; - //sd-uhs-sdr50; - //sd-uhs-sdr104; + sd-uhs-sdr50; + sd-uhs-sdr104; max-frequency = <200000000>; non-removable; @@ -1174,18 +1175,24 @@ }; &aml_wifi{ - status = "disabled"; + status = "okay"; interrupt-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; power_on-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; }; &aml_bt { - status = "disabled"; + status = "okay"; reset-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; btwakeup-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; hostwake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; }; +&pwm_e { + pinctrl-0 = <&pwm_e_pins1>; + pinctrl-names = "default"; + status = "okay"; +}; + &uart_A { status = "okay"; uart-has-rtscts; diff --git a/arch/arm64/boot/dts/amlogic/s6_s905d5_bq209.dts b/arch/arm64/boot/dts/amlogic/s6_s905d5_bq209.dts index d5b3a9314..5d8b1d670 100644 --- a/arch/arm64/boot/dts/amlogic/s6_s905d5_bq209.dts +++ b/arch/arm64/boot/dts/amlogic/s6_s905d5_bq209.dts @@ -885,8 +885,9 @@ }; &pcie { - reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; - status = "disable"; + reset-gpio = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; + max-link-speed=<1>; + status = "okay"; }; /* SDIO */ @@ -900,8 +901,8 @@ bus-width = <4>; cap-sd-highspeed; - //sd-uhs-sdr50; - //sd-uhs-sdr104; + sd-uhs-sdr50; + sd-uhs-sdr104; max-frequency = <200000000>; non-removable; @@ -1174,18 +1175,24 @@ }; &aml_wifi{ - status = "disabled"; + status = "okay"; interrupt-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; power_on-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; }; &aml_bt { - status = "disabled"; + status = "okay"; reset-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; btwakeup-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; hostwake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; }; +&pwm_e { + pinctrl-0 = <&pwm_e_pins1>; + pinctrl-names = "default"; + status = "okay"; +}; + &uart_A { status = "okay"; uart-has-rtscts; diff --git a/arch/arm64/boot/dts/amlogic/s6_s905x5_bl201.dts b/arch/arm64/boot/dts/amlogic/s6_s905x5_bl201.dts index a1a180a94..51b3c5e3d 100644 --- a/arch/arm64/boot/dts/amlogic/s6_s905x5_bl201.dts +++ b/arch/arm64/boot/dts/amlogic/s6_s905x5_bl201.dts @@ -1063,8 +1063,9 @@ }; &pcie { - reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; - status = "disable"; + reset-gpio = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; + max-link-speed=<1>; + status = "okay"; }; /* SDIO */ @@ -1078,8 +1079,8 @@ bus-width = <4>; cap-sd-highspeed; - //sd-uhs-sdr50; - //sd-uhs-sdr104; + sd-uhs-sdr50; + sd-uhs-sdr104; max-frequency = <200000000>; non-removable; @@ -1352,18 +1353,24 @@ }; &aml_wifi{ - status = "disabled"; + status = "okay"; interrupt-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; power_on-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; }; &aml_bt { - status = "disabled"; + status = "okay"; reset-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; btwakeup-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; hostwake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; }; +&pwm_e { + pinctrl-0 = <&pwm_e_pins1>; + pinctrl-names = "default"; + status = "okay"; +}; + &uart_A { status = "okay"; uart-has-rtscts; diff --git a/arch/arm64/boot/dts/amlogic/s6_s905x5_bl208.dts b/arch/arm64/boot/dts/amlogic/s6_s905x5_bl208.dts index efd001daa..a2c98418a 100644 --- a/arch/arm64/boot/dts/amlogic/s6_s905x5_bl208.dts +++ b/arch/arm64/boot/dts/amlogic/s6_s905x5_bl208.dts @@ -1027,8 +1027,9 @@ }; &pcie { - reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; - status = "disable"; + reset-gpio = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; + max-link-speed=<1>; + status = "okay"; }; /* SDIO */ @@ -1042,8 +1043,8 @@ bus-width = <4>; cap-sd-highspeed; - //sd-uhs-sdr50; - //sd-uhs-sdr104; + sd-uhs-sdr50; + sd-uhs-sdr104; max-frequency = <200000000>; non-removable; @@ -1316,18 +1317,24 @@ }; &aml_wifi{ - status = "disabled"; + status = "okay"; interrupt-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; power_on-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; }; &aml_bt { - status = "disabled"; + status = "okay"; reset-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; btwakeup-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; hostwake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; }; +&pwm_e { + pinctrl-0 = <&pwm_e_pins1>; + pinctrl-names = "default"; + status = "okay"; +}; + &uart_A { status = "okay"; uart-has-rtscts; diff --git a/arch/arm64/boot/dts/amlogic/s6_s905x5_bl209.dts b/arch/arm64/boot/dts/amlogic/s6_s905x5_bl209.dts index cb0da4bdc..0e228e78e 100644 --- a/arch/arm64/boot/dts/amlogic/s6_s905x5_bl209.dts +++ b/arch/arm64/boot/dts/amlogic/s6_s905x5_bl209.dts @@ -1037,8 +1037,9 @@ }; &pcie { - reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; - status = "disable"; + reset-gpio = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; + max-link-speed=<1>; + status = "okay"; }; /* SDIO */ @@ -1052,8 +1053,8 @@ bus-width = <4>; cap-sd-highspeed; - //sd-uhs-sdr50; - //sd-uhs-sdr104; + sd-uhs-sdr50; + sd-uhs-sdr104; max-frequency = <200000000>; non-removable; @@ -1326,18 +1327,24 @@ }; &aml_wifi{ - status = "disabled"; + status = "okay"; interrupt-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; power_on-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; }; &aml_bt { - status = "disabled"; + status = "okay"; reset-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; btwakeup-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; hostwake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; }; +&pwm_e { + pinctrl-0 = <&pwm_e_pins1>; + pinctrl-names = "default"; + status = "okay"; +}; + &uart_A { status = "okay"; uart-has-rtscts; diff --git a/drivers/wireless/wifi/wifi_dt.c b/drivers/wireless/wifi/wifi_dt.c index 80dadda26..30d6bc2a9 100644 --- a/drivers/wireless/wifi/wifi_dt.c +++ b/drivers/wireless/wifi/wifi_dt.c @@ -42,7 +42,8 @@ struct pcie_wifi_chip { }; static const struct pcie_wifi_chip pcie_wifi[] = { - {0x16c3, 0xabcd} + {0x16c3, 0xabcd}, + {0x1556, 0x1111} }; int wifi_power_gpio;