mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-17 12:21:23 +00:00
Merge pull request #1669 from armbian/xradio
Move Xradio driver to GIT with small improvements
This commit is contained in:
commit
194a53a34c
12 changed files with 32 additions and 37805 deletions
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 5.3.9 Kernel Configuration
|
||||
# Linux/arm 5.3.13 Kernel Configuration
|
||||
#
|
||||
|
||||
#
|
||||
|
@ -2554,13 +2554,13 @@ CONFIG_WLAN_VENDOR_TI=y
|
|||
# CONFIG_WL18XX is not set
|
||||
# CONFIG_WLCORE is not set
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8812AU=m
|
||||
CONFIG_RTL8188EUS=m
|
||||
CONFIG_WLAN_VENDOR_XRADIO=m
|
||||
CONFIG_XRADIO_NON_POWER_OF_TWO_BLOCKSIZES=y
|
||||
# CONFIG_XRADIO_5GHZ_SUPPORT is not set
|
||||
# CONFIG_XRADIO_WAPI_SUPPORT is not set
|
||||
CONFIG_XRADIO_USE_EXTENSIONS=y
|
||||
CONFIG_RTL8812AU=m
|
||||
CONFIG_WLAN_VENDOR_ZYDAS=y
|
||||
# CONFIG_USB_ZD1201 is not set
|
||||
# CONFIG_ZD1211RW is not set
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.19.72 Kernel Configuration
|
||||
# Linux/arm 4.19.88 Kernel Configuration
|
||||
#
|
||||
|
||||
#
|
||||
# Compiler: arm-linux-gnueabihf-gcc (Linaro GCC 7.4-2019.02) 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4]
|
||||
# Compiler: arm-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0
|
||||
#
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=70401
|
||||
CONFIG_GCC_VERSION=80300
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_CC_HAS_ASM_GOTO=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
|
@ -2429,7 +2429,7 @@ CONFIG_WLAN_VENDOR_TI=y
|
|||
# CONFIG_WL18XX is not set
|
||||
# CONFIG_WLCORE is not set
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8188EUS=m
|
||||
CONFIG_RTL8812AU=m
|
||||
CONFIG_WLAN_VENDOR_XRADIO=m
|
||||
CONFIG_XRADIO_NON_POWER_OF_TWO_BLOCKSIZES=y
|
||||
|
@ -4179,10 +4179,10 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
|||
#
|
||||
# Frame buffer Devices
|
||||
#
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_NOTIFY=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
|
@ -4795,7 +4795,6 @@ CONFIG_USB_SERIAL_DEBUG=m
|
|||
# CONFIG_USB_EMI26 is not set
|
||||
# CONFIG_USB_ADUTUX is not set
|
||||
# CONFIG_USB_SEVSEG is not set
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
|
@ -5370,7 +5369,6 @@ CONFIG_ARM_SMMU=y
|
|||
# Rpmsg drivers
|
||||
#
|
||||
# CONFIG_RPMSG_VIRTIO is not set
|
||||
# CONFIG_SOUNDWIRE is not set
|
||||
|
||||
#
|
||||
# SOC (System On Chip) specific Drivers
|
||||
|
|
|
@ -152,12 +152,34 @@ compilation_prepare()
|
|||
|
||||
fi
|
||||
|
||||
# Wireless drivers for Xradio XR819 chipsets
|
||||
if linux-version compare $version ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
|
||||
|
||||
display_alert "Adding" "Wireless drivers for Xradio XR819 chipsets" "info"
|
||||
|
||||
fetch_from_repo "https://github.com/karabek/xradio" "xradio" "branch:master" "yes"
|
||||
cd ${SRC}/cache/sources/${LINUXSOURCEDIR}
|
||||
rm -rf ${SRC}/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/xradio
|
||||
mkdir -p ${SRC}/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/xradio/
|
||||
cp ${SRC}/cache/sources/xradio/master/*.{h,c} \
|
||||
${SRC}/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/xradio/
|
||||
|
||||
# Makefile
|
||||
cp ${SRC}/cache/sources/xradio/master/Makefile \
|
||||
${SRC}/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/xradio/Makefile
|
||||
cp ${SRC}/cache/sources/xradio/master/Kconfig \
|
||||
${SRC}/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/xradio/Kconfig
|
||||
|
||||
# Add to section Makefile
|
||||
echo "obj-\$(CONFIG_WLAN_VENDOR_XRADIO) += xradio/" >> $SRC/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/Makefile
|
||||
sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/xradio\/Kconfig"' \
|
||||
$SRC/cache/sources/${LINUXSOURCEDIR}/drivers/net/wireless/Kconfig
|
||||
|
||||
fi
|
||||
|
||||
# Wireless drivers for Realtek 8188EU 8188EUS and 8188ETV chipsets
|
||||
|
||||
if linux-version compare $version ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
|
||||
if linux-version compare $version ge 3.14 && [ "$LINUXFAMILY" == sunxi ] && [ "$EXTRAWIFI" == yes ]; then
|
||||
|
||||
# attach to specifics tag or branch
|
||||
local rtl8811euver="branch:v5.3.9"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,43 +0,0 @@
|
|||
From 734e26b5a4b061d5f0667d59ce27a4a50f6d5c25 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Thu, 18 Oct 2018 15:07:29 +0800
|
||||
Subject: [PATCH 135/146] clk: sunxi-ng: enable so-said LDOs for A64 SoC's
|
||||
pll-mipi clock
|
||||
|
||||
In the user manual of A64 SoC, the bit 22 and 23 of pll-mipi control
|
||||
register is called "LDO{1,2}_EN", and according to the BSP source code
|
||||
from Allwinner , the LDOs are enabled during the clock's enabling
|
||||
process.
|
||||
|
||||
The clock failed to generate output if the two LDOs are not enabled.
|
||||
|
||||
Add the two bits to the clock's gate bits, so that the LDOs are enabled
|
||||
when the PLL is enabled.
|
||||
|
||||
Fixes: c6a0637460c2 ("clk: sunxi-ng: Add A64 clocks")
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
index 90ffee824c33..a637e62ae1c4 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
@@ -162,7 +162,12 @@ static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_gpu_clk, "pll-gpu",
|
||||
#define SUN50I_A64_PLL_MIPI_REG 0x040
|
||||
|
||||
static struct ccu_nkm pll_mipi_clk = {
|
||||
- .enable = BIT(31),
|
||||
+ /*
|
||||
+ * The bit 23 and 22 are called "LDO{1,2}_EN" on the SoC's
|
||||
+ * user manual, and by experiments the PLL doesn't work without
|
||||
+ * these bits toggled.
|
||||
+ */
|
||||
+ .enable = BIT(31) | BIT(23) | BIT(22),
|
||||
.lock = BIT(28),
|
||||
.n = _SUNXI_CCU_MULT(8, 4),
|
||||
.k = _SUNXI_CCU_MULT_MIN(4, 2, 2),
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
|
||||
index 3f531393eaee..b3f186434f36 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
|
||||
@@ -142,10 +142,14 @@
|
||||
|
||||
/* DCDC3 is polyphased with DCDC2 */
|
||||
|
||||
+/*
|
||||
+ * The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
|
||||
+ * 1.35V that the PMIC can drive.
|
||||
+ */
|
||||
®_dcdc5 {
|
||||
regulator-always-on;
|
||||
- regulator-min-microvolt = <1500000>;
|
||||
- regulator-max-microvolt = <1500000>;
|
||||
+ regulator-min-microvolt = <1360000>;
|
||||
+ regulator-max-microvolt = <1360000>;
|
||||
regulator-name = "vcc-ddr3";
|
||||
};
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
|
||||
index 98dbff19f5cc..5caba225b4f7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
|
||||
@@ -125,9 +125,9 @@
|
||||
|
||||
®_dcdc1 {
|
||||
regulator-always-on;
|
||||
- regulator-min-microvolt = <3000000>;
|
||||
- regulator-max-microvolt = <3000000>;
|
||||
- regulator-name = "vcc-3v";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
index c3bff1105e5d..2f4d93de836e 100644
|
||||
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
@@ -818,7 +818,7 @@
|
||||
clock-names = "apb", "ir";
|
||||
resets = <&r_ccu RST_APB0_IR>;
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- reg = <0x01f02000 0x40>;
|
||||
+ reg = <0x01f02000 0x400>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
|
||||
index 9e2e099b..a065943d 100644
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -749,13 +749,11 @@ static int spidev_probe(struct spi_device *spi)
|
||||
|
||||
/*
|
||||
* spidev should never be referenced in DT without a specific
|
||||
- * compatible string, it is a Linux implementation thing
|
||||
- * rather than a description of the hardware.
|
||||
+ * compatible string, but people don't care and use DT overlays
|
||||
+ * to activate SPIdev on demand
|
||||
*/
|
||||
if (spi->dev.of_node && !of_match_device(spidev_dt_ids, &spi->dev)) {
|
||||
- dev_err(&spi->dev, "buggy DT: spidev listed directly in DT\n");
|
||||
- WARN_ON(spi->dev.of_node &&
|
||||
- !of_match_device(spidev_dt_ids, &spi->dev));
|
||||
+ dev_info(&spi->dev, "probing from DT");
|
||||
}
|
||||
|
||||
spidev_probe_acpi(spi);
|
File diff suppressed because it is too large
Load diff
|
@ -1,56 +0,0 @@
|
|||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
|
||||
index b4ce2e056..63b9e7433 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
|
||||
@@ -94,6 +94,8 @@
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
|
||||
+ clocks = <&rtc 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
@@ -191,6 +193,14 @@
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
+
|
||||
+ brcmf: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ interrupt-parent = <&r_pio>;
|
||||
+ interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
@@ -363,7 +373,20 @@
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
+ uart-has-rtscts;
|
||||
status = "okay";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "brcm,bcm43438-bt";
|
||||
+ max-speed = <1500000>;
|
||||
+ clocks = <&rtc 1>;
|
||||
+ clock-names = "lpo";
|
||||
+ vbat-supply = <®_dldo2>;
|
||||
+ vddio-supply = <®_dldo4>;
|
||||
+ device-wakeup-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ host-wakeup-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
|
||||
+ shutdown-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
|
||||
+ };
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
@@ -375,4 +398,4 @@
|
||||
usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
-};
|
||||
\ No newline at end of file
|
||||
+};
|
Loading…
Add table
Reference in a new issue