From e3e12f52b214121840b44c91de5b3e5af5d3eb84 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 06 Nov 2023 03:04:41 +0000 Subject: [PATCH] rk3568 rt init --- kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c index 714afe2..fe3ef3b 100644 --- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c +++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c @@ -3,6 +3,12 @@ #include <osl.h> #include <dhd_linux.h> #include <linux/gpio.h> +#ifdef BCMDHD_DTS +#include <linux/of_gpio.h> +#endif +#ifdef BCMDHD_PLATDEV +#include <linux/platform_device.h> +#endif #ifdef CUSTOMER_HW_ROCKCHIP #include <linux/rfkill-wlan.h> #endif @@ -34,7 +40,7 @@ #ifdef BCMDHD_DTS /* This is sample code in dts file. -bcmdhd { +bcmdhd_wlan { compatible = "android,bcmdhd_wlan"; gpio_wl_reg_on = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH>; gpio_wl_host_wake = <&gpio GPIOZ_15 GPIO_ACTIVE_HIGH>; @@ -159,7 +165,7 @@ err = sdhci_force_presence_change(&sdmmc_channel, 0); #endif /* CUSTOMER_HW_PLATFORM */ #ifdef CUSTOMER_HW_ROCKCHIP - rockchip_wifi_set_carddetect(0); + rockchip_wifi_set_carddetect(0); #endif #elif defined(BCMPCIE) printf("======== Card detection to remove PCIE card! ========\n"); @@ -277,9 +283,9 @@ struct device_node *root_node = NULL; #endif int err = 0; - int gpio_wl_reg_on; + int gpio_wl_reg_on = -1; #ifdef CUSTOMER_OOB - int gpio_wl_host_wake; + int gpio_wl_host_wake = -1; int host_oob_irq = -1; uint host_oob_irq_flags = 0; #ifdef CUSTOMER_HW_ROCKCHIP @@ -293,9 +299,19 @@ * WL_REG_ON and WL_HOST_WAKE. */ #ifdef BCMDHD_DTS +#ifdef BCMDHD_PLATDEV + if (adapter->pdev) { + root_node = adapter->pdev->dev.of_node; + strcpy(wlan_node, root_node->name); + } else { + printf("%s: adapter->pdev is NULL\n", __FUNCTION__); + return -1; + } +#else strcpy(wlan_node, DHD_DT_COMPAT_ENTRY); - printf("======== Get GPIO from DTS(%s) ========\n", wlan_node); root_node = of_find_compatible_node(NULL, NULL, wlan_node); +#endif + printf("======== Get GPIO from DTS(%s) ========\n", wlan_node); if (root_node) { gpio_wl_reg_on = of_get_named_gpio(root_node, GPIO_WL_REG_ON_PROPNAME, 0); #ifdef CUSTOMER_OOB -- Gitblit v1.6.2