diff --git a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/dts_arm64/sg2000_milkv_duos_glibc_arm64_emmc.dts b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/dts_arm64/sg2000_milkv_duos_glibc_arm64_emmc.dts index 5e35ecc20..540648c92 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/dts_arm64/sg2000_milkv_duos_glibc_arm64_emmc.dts +++ b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/dts_arm64/sg2000_milkv_duos_glibc_arm64_emmc.dts @@ -46,3 +46,20 @@ power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; + +&wifisd { + status = "okay"; + cap-sd-highspeed; + sd-uhs-sdr25; + sd-uhs-ddr50; + sd-uhs-sdr104; + min-frequency = <400000>; + max-frequency = <187500000>; +}; + +&wifi_pin { + compatible = "cvitek,wifi-pin"; + poweron-gpio = <&porta 15 GPIO_ACTIVE_HIGH>; + wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>; +}; + diff --git a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/linux/cvitek_sg2000_milkv_duos_glibc_arm64_emmc_defconfig b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/linux/cvitek_sg2000_milkv_duos_glibc_arm64_emmc_defconfig index df1b8615b..56d46882b 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/linux/cvitek_sg2000_milkv_duos_glibc_arm64_emmc_defconfig +++ b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/linux/cvitek_sg2000_milkv_duos_glibc_arm64_emmc_defconfig @@ -35,7 +35,7 @@ CONFIG_UNIX=y CONFIG_INET=y # CONFIG_INET_DIAG is not set # CONFIG_IPV6 is not set -CONFIG_CFG80211=m +CONFIG_CFG80211=y CONFIG_RFKILL=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y @@ -113,6 +113,11 @@ CONFIG_USB_NET_SMSC95XX=y # CONFIG_WLAN_VENDOR_ZYDAS is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set # CONFIG_WLAN_VENDOR_ICOMMSEMI is not set +CONFIG_WLAN_VENDOR_AICSEMI=y +CONFIG_AIC8800=y +CONFIG_AIC_FW_PATH="/mnt/system/firmware/aic8800" +CONFIG_AIC8800_WLAN_SUPPORT=m +CONFIG_AIC8800_BTLPM_SUPPORT=m CONFIG_INPUT_EVDEV=y # CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set @@ -188,6 +193,7 @@ CONFIG_ION_CARVEOUT_HEAP=y CONFIG_ION_CMA_HEAP=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_CV1835_SYSDMA_REMAP=y +CONFIG_CVI_WIFI_PIN=y CONFIG_PWM=y CONFIG_ANDROID=y CONFIG_EXT4_FS=y @@ -208,7 +214,6 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_ISO8859_3=y -CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_HW is not set # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set diff --git a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/u-boot/cvi_board_init.c b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/u-boot/cvi_board_init.c index 01b5c7cc2..778f244ce 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/u-boot/cvi_board_init.c +++ b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_emmc/u-boot/cvi_board_init.c @@ -35,6 +35,9 @@ int cvi_board_init(void) PINMUX_CONFIG(CAM_MCLK1, CAM_MCLK1); // Sensor1 MCLK PINMUX_CONFIG(CAM_PD1, XGPIOA_4); // Sensor1 RESET + // WIFI/BT + PINMUX_CONFIG(CLK32K, PWR_GPIO_10); + set_rtc_register_for_power(); return 0; diff --git a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/dts_arm64/sg2000_milkv_duos_glibc_arm64_sd.dts b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/dts_arm64/sg2000_milkv_duos_glibc_arm64_sd.dts index f05b6e114..571fe3b7f 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/dts_arm64/sg2000_milkv_duos_glibc_arm64_sd.dts +++ b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/dts_arm64/sg2000_milkv_duos_glibc_arm64_sd.dts @@ -50,3 +50,20 @@ power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; + +&wifisd { + status = "okay"; + cap-sd-highspeed; + sd-uhs-sdr25; + sd-uhs-ddr50; + sd-uhs-sdr104; + min-frequency = <400000>; + max-frequency = <187500000>; +}; + +&wifi_pin { + compatible = "cvitek,wifi-pin"; + poweron-gpio = <&porta 15 GPIO_ACTIVE_HIGH>; + wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>; +}; + diff --git a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/linux/cvitek_sg2000_milkv_duos_glibc_arm64_sd_defconfig b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/linux/cvitek_sg2000_milkv_duos_glibc_arm64_sd_defconfig index 7437fbdc8..4135bf236 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/linux/cvitek_sg2000_milkv_duos_glibc_arm64_sd_defconfig +++ b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/linux/cvitek_sg2000_milkv_duos_glibc_arm64_sd_defconfig @@ -33,7 +33,7 @@ CONFIG_UNIX=y CONFIG_INET=y # CONFIG_INET_DIAG is not set # CONFIG_IPV6 is not set -CONFIG_CFG80211=m +CONFIG_CFG80211=y CONFIG_RFKILL=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y @@ -111,6 +111,11 @@ CONFIG_USB_NET_SMSC95XX=y # CONFIG_WLAN_VENDOR_ZYDAS is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set # CONFIG_WLAN_VENDOR_ICOMMSEMI is not set +CONFIG_WLAN_VENDOR_AICSEMI=y +CONFIG_AIC8800=y +CONFIG_AIC_FW_PATH="/mnt/system/firmware/aic8800" +CONFIG_AIC8800_WLAN_SUPPORT=m +CONFIG_AIC8800_BTLPM_SUPPORT=m CONFIG_INPUT_EVDEV=y # CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set @@ -186,6 +191,7 @@ CONFIG_ION_CARVEOUT_HEAP=y CONFIG_ION_CMA_HEAP=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_CV1835_SYSDMA_REMAP=y +CONFIG_CVI_WIFI_PIN=y CONFIG_PWM=y CONFIG_ANDROID=y CONFIG_EXT3_FS=y @@ -206,7 +212,6 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_ISO8859_3=y -CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_HW is not set # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set diff --git a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/u-boot/cvi_board_init.c b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/u-boot/cvi_board_init.c index 01b5c7cc2..778f244ce 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/u-boot/cvi_board_init.c +++ b/build/boards/cv181x/sg2000_milkv_duos_glibc_arm64_sd/u-boot/cvi_board_init.c @@ -35,6 +35,9 @@ int cvi_board_init(void) PINMUX_CONFIG(CAM_MCLK1, CAM_MCLK1); // Sensor1 MCLK PINMUX_CONFIG(CAM_PD1, XGPIOA_4); // Sensor1 RESET + // WIFI/BT + PINMUX_CONFIG(CLK32K, PWR_GPIO_10); + set_rtc_register_for_power(); return 0; diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts index 8e5a8ffa0..2b48b02d8 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts @@ -46,3 +46,21 @@ power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; + +&wifisd { + status = "okay"; + cap-sd-highspeed; + sd-uhs-sdr25; + sd-uhs-ddr50; + sd-uhs-sdr104; + min-frequency = <400000>; + max-frequency = <187500000>; +}; + +&wifi_pin { + status = "okay"; + compatible = "cvitek,wifi-pin"; + poweron-gpio = <&porta 15 GPIO_ACTIVE_HIGH>; + wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>; +}; + diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig index a93ff598e..77d409ea5 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig @@ -27,6 +27,7 @@ CONFIG_SOC_THEAD=y CONFIG_VECTOR=y CONFIG_VECTOR_0_7=y # CONFIG_COMPAT is not set +# CONFIG_SUSPEND is not set CONFIG_ARCH_CVITEK_CHIP="cv181x" CONFIG_ARCH_CV181X_ASIC=y CONFIG_COMPAT_32BIT_TIME=y @@ -47,7 +48,7 @@ CONFIG_UNIX=y CONFIG_INET=y # CONFIG_INET_DIAG is not set # CONFIG_IPV6 is not set -CONFIG_CFG80211=m +CONFIG_CFG80211=y CONFIG_RFKILL=y CONFIG_UEVENT_HELPER=y CONFIG_DEVTMPFS=y @@ -119,6 +120,11 @@ CONFIG_USB_NET_SMSC95XX=y # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set +CONFIG_WLAN_VENDOR_AICSEMI=y +CONFIG_AIC8800=y +CONFIG_AIC_FW_PATH="/mnt/system/firmware/aic8800" +CONFIG_AIC8800_WLAN_SUPPORT=m +CONFIG_AIC8800_BTLPM_SUPPORT=m CONFIG_INPUT_EVDEV=y # CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set @@ -196,6 +202,7 @@ CONFIG_ION_CARVEOUT_HEAP=y CONFIG_ION_CMA_HEAP=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_CV1835_SYSDMA_REMAP=y +CONFIG_CVI_WIFI_PIN=y CONFIG_PWM=y CONFIG_SIFIVE_PLIC=y CONFIG_ANDROID=y @@ -217,7 +224,6 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_ISO8859_3=y -CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_HW is not set # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c index 01b5c7cc2..778f244ce 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c @@ -35,6 +35,9 @@ int cvi_board_init(void) PINMUX_CONFIG(CAM_MCLK1, CAM_MCLK1); // Sensor1 MCLK PINMUX_CONFIG(CAM_PD1, XGPIOA_4); // Sensor1 RESET + // WIFI/BT + PINMUX_CONFIG(CLK32K, PWR_GPIO_10); + set_rtc_register_for_power(); return 0; diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/dts_riscv/sg2000_milkv_duos_musl_riscv64_sd.dts b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/dts_riscv/sg2000_milkv_duos_musl_riscv64_sd.dts index e4e1fd31f..2c3e85b2b 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/dts_riscv/sg2000_milkv_duos_musl_riscv64_sd.dts +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/dts_riscv/sg2000_milkv_duos_musl_riscv64_sd.dts @@ -46,3 +46,21 @@ power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; + +&wifisd { + status = "okay"; + cap-sd-highspeed; + sd-uhs-sdr25; + sd-uhs-ddr50; + sd-uhs-sdr104; + min-frequency = <400000>; + max-frequency = <187500000>; +}; + +&wifi_pin { + status = "okay"; + compatible = "cvitek,wifi-pin"; + poweron-gpio = <&porta 15 GPIO_ACTIVE_HIGH>; + wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>; +}; + diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/linux/cvitek_sg2000_milkv_duos_musl_riscv64_sd_defconfig b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/linux/cvitek_sg2000_milkv_duos_musl_riscv64_sd_defconfig index a93ff598e..6bdc629d2 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/linux/cvitek_sg2000_milkv_duos_musl_riscv64_sd_defconfig +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/linux/cvitek_sg2000_milkv_duos_musl_riscv64_sd_defconfig @@ -47,7 +47,7 @@ CONFIG_UNIX=y CONFIG_INET=y # CONFIG_INET_DIAG is not set # CONFIG_IPV6 is not set -CONFIG_CFG80211=m +CONFIG_CFG80211=y CONFIG_RFKILL=y CONFIG_UEVENT_HELPER=y CONFIG_DEVTMPFS=y @@ -119,6 +119,11 @@ CONFIG_USB_NET_SMSC95XX=y # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set +CONFIG_WLAN_VENDOR_AICSEMI=y +CONFIG_AIC8800=y +CONFIG_AIC_FW_PATH="/mnt/system/firmware/aic8800" +CONFIG_AIC8800_WLAN_SUPPORT=m +CONFIG_AIC8800_BTLPM_SUPPORT=m CONFIG_INPUT_EVDEV=y # CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set @@ -196,6 +201,7 @@ CONFIG_ION_CARVEOUT_HEAP=y CONFIG_ION_CMA_HEAP=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_CV1835_SYSDMA_REMAP=y +CONFIG_CVI_WIFI_PIN=y CONFIG_PWM=y CONFIG_SIFIVE_PLIC=y CONFIG_ANDROID=y @@ -217,7 +223,6 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_ISO8859_3=y -CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_HW is not set # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/u-boot/cvi_board_init.c b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/u-boot/cvi_board_init.c index 01b5c7cc2..778f244ce 100644 --- a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/u-boot/cvi_board_init.c +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_sd/u-boot/cvi_board_init.c @@ -35,6 +35,9 @@ int cvi_board_init(void) PINMUX_CONFIG(CAM_MCLK1, CAM_MCLK1); // Sensor1 MCLK PINMUX_CONFIG(CAM_PD1, XGPIOA_4); // Sensor1 RESET + // WIFI/BT + PINMUX_CONFIG(CLK32K, PWR_GPIO_10); + set_rtc_register_for_power(); return 0; diff --git a/build/boards/default/dts/cv181x/cv181x_base.dtsi b/build/boards/default/dts/cv181x/cv181x_base.dtsi index 63f8f6794..c9a765f07 100644 --- a/build/boards/default/dts/cv181x/cv181x_base.dtsi +++ b/build/boards/default/dts/cv181x/cv181x_base.dtsi @@ -659,7 +659,7 @@ cvi,card_name = "cv182x_internal_PDM"; }; - wifi_pin { + wifi_pin: wifi_pin { compatible = "cvitek,wifi-pin"; poweron-gpio = <&porta 18 GPIO_ACTIVE_HIGH>; wakeup-gpio = <&porte 7 GPIO_ACTIVE_HIGH>;