Wireless driver for Opi Zero - fixed loading path /lib/firmware, patch for DHD driver to prevent wrong detection, extra uboot config for OPI zero .... with one problem to solve. Module failing to load at first try ... workaround installed until this is solved.

This commit is contained in:
Igor Pecovnik 2016-11-11 19:09:15 +01:00
parent 18e4192f14
commit a8ee68af8f
5 changed files with 67 additions and 9 deletions

View File

@ -1,8 +1,8 @@
# H2+ quad core 256/512MB SoC Wi-Fi/Ethernet
BOARD_NAME="Orange Pi Zero"
LINUXFAMILY=sun8i
BOOTCONFIG=FriendlyARM_NanoPi_NEO_defconfig
MODULES="#gpio_sunxi #w1-sunxi #w1-gpio #w1-therm #sunxi-cir xradio"
BOOTCONFIG=orangepi_zero_defconfig
MODULES="#gpio_sunxi #w1-sunxi #w1-gpio #w1-therm #sunxi-cir xradio_wlan xradio_wlan"
MODULES_NEXT=""
CPUMIN=240000
CPUMAX=1200000

View File

@ -0,0 +1,12 @@
diff --git a/drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c b/drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c
index 19e0018..e427b77 100755
--- a/drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c
+++ b/drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c
@@ -219,7 +219,6 @@ static const struct sdio_device_id bcmsdh_sdmmc_ids[] = {
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4334) },
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4324) },
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_43239) },
- { SDIO_DEVICE_CLASS(SDIO_CLASS_NONE) },
{ /* end: all zeroes */ },
};

View File

@ -127,7 +127,7 @@ index 0000000..235d117
+ccflags-y += -DCONFIG_XRADIO_SUSPEND_POWER_OFF
+# Use vfs for firmware load when request_firmware
+# can't work on other platform.
+ccflags-y += -DUSE_VFS_FIRMWARE
+# ccflags-y += -DUSE_VFS_FIRMWARE
+
+# Extra IE for probe response from upper layer is needed in P2P GO
+# For offloading probe response to FW, the extra IE must be included
@ -7854,13 +7854,13 @@ index 0000000..4816322
+
+#define XR819_HW_REV0 (8190)
+#ifdef USE_VFS_FIRMWARE
+#define XR819_BOOTLOADER ("/system/etc/firmware/boot_xr819.bin")
+#define XR819_FIRMWARE ("/system/etc/firmware/fw_xr819.bin")
+#define XR819_SDD_FILE ("/system/etc/firmware/sdd_xr819.bin")
+#define XR819_BOOTLOADER ("/lib/firmware/xr819/boot_xr819.bin")
+#define XR819_FIRMWARE ("/lib/firmware/xr819/fw_xr819.bin")
+#define XR819_SDD_FILE ("/lib/firmware/xr819/sdd_xr819.bin")
+#else
+#define XR819_BOOTLOADER ("boot_xr819.bin")
+#define XR819_FIRMWARE ("fw_xr819.bin")
+#define XR819_SDD_FILE ("sdd_xr819.bin")
+#define XR819_BOOTLOADER ("xr819/boot_xr819.bin")
+#define XR819_FIRMWARE ("xr819/fw_xr819.bin")
+#define XR819_SDD_FILE ("xr819/sdd_xr819.bin")
+#endif
+
+#define SDD_PTA_CFG_ELT_ID 0xEB

View File

@ -0,0 +1,23 @@
diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
new file mode 100755
index 0000000..a62d565
--- /dev/null
+++ b/configs/orangepi_zero_defconfig
@@ -0,0 +1,16 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN8I_H3=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881979
+CONFIG_DRAM_ODT_EN=y
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-one"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_SYS_CLK_FREQ=480000000
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
\ No newline at end of file

View File

@ -0,0 +1,23 @@
diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
new file mode 100755
index 0000000..a62d565
--- /dev/null
+++ b/configs/orangepi_zero_defconfig
@@ -0,0 +1,16 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN8I_H3=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881979
+CONFIG_DRAM_ODT_EN=y
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-one"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_SYS_CLK_FREQ=480000000
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
\ No newline at end of file