Skip to content

Commit

Permalink
Merge pull request #142 from openwrtdiy/openwrt-23.05
Browse files Browse the repository at this point in the history
Synchronize official source code
  • Loading branch information
openwrtdiy authored Nov 24, 2024
2 parents 81dc513 + a281c02 commit c4b71ae
Show file tree
Hide file tree
Showing 25 changed files with 370 additions and 236 deletions.
4 changes: 2 additions & 2 deletions include/kernel-5.15
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LINUX_VERSION-5.15 = .171
LINUX_KERNEL_HASH-5.15.171 = 2953e064d8123c4c22c4fd48011378d73c8b99a3bf3d989e33f4f5c8f82f2a3b
LINUX_VERSION-5.15 = .173
LINUX_KERNEL_HASH-5.15.173 = 8a4b2a47ccc9b208b2b6ed9a216ea1a5eb12852c723bec1a04de9e671a1d7da8
3 changes: 2 additions & 1 deletion package/boot/uboot-envtools/files/ath79
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ domywifi,dw33d)
glinet,gl-ar150)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000"
;;
huawei,ap5030dn)
huawei,ap5030dn|\
huawei,ap6010dn)
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x20000" "0x20000"
;;
netgear,wndr3700|\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ mac80211_hostapd_setup_base() {
dsss_cck_40:1

ht_cap_mask=0
for cap in $(iw phy "$phy" info | grep 'Capabilities:' | cut -d: -f2); do
for cap in $(iw phy "$phy" info | grep -E '^\s*Capabilities:' | cut -d: -f2); do
ht_cap_mask="$(($ht_cap_mask | $cap))"
done

Expand Down
243 changes: 243 additions & 0 deletions target/linux/ath79/dts/ar9344_huawei_ap6010dn.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "ar9344.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>

/ {
model = "Huawei AP6010DN";
compatible = "huawei,ap6010dn", "qca,ar9344";

chosen {
bootargs = "console=ttyS0,9600n8";
};

aliases {
led-boot = &led_function_green;
led-failsafe = &led_function_red;
led-running = &led_function_green;
led-upgrade = &led_function_red;
label-mac-device = &eth0;
};

leds {
compatible = "gpio-leds";

led_function_green: led-status-green {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};

led_function_red: led-status-red {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_RED>;
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
};

};

keys {
compatible = "gpio-keys";

restart {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};

watchdog {
pinctrl-names = "default";
pinctrl-0 = <&wdt_gpio15>;

compatible = "linux,wdt-gpio";
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
hw_algo = "toggle";
hw_margin_ms = <100>;
always-running;
};

virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0 &fwconcat1>;

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "firmware";
reg = <0x0 0x1e00000>;
compatible = "openwrt,uimage", "denx,uimage";
};
};
};
};

&spi {
status = "okay";

flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "u-boot-a";
reg = <0x0 0x80000>;
read-only;
};

partition@80000 {
label = "BootupA";
reg = <0x80000 0x20000>;
};

partition@a0000 {
label = "BootupB";
reg = <0xa0000 0x20000>;
};

partition@c0000 {
label = "u-boot-env";
reg = <0xc0000 0x20000>;
read-only;
};

partition@e0000 {
label = "BoardData";
reg = <0xe0000 0x20000>;
read-only;
};

// In the vendor layout, there are the "SysImageA" (12 MiB)
// and the "ConfigA" (3 MiB) partitions here.
fwconcat0: partition@100000 {
label = "fwconcat0";
reg = <0x100000 0xf00000>;
};

partition@1000000 {
label = "u-boot-b";
reg = <0x1000000 0x80000>;
read-only;
};

partition@1080000 {
label = "ResultA";
reg = <0x1080000 0x20000>;
read-only;
};

partition@10a0000 {
label = "ResultB";
reg = <0x10a0000 0x20000>;
read-only;
};

// In the vendor layout, there are the "SysImageB" (12 MiB)
// and the "ConfigB" (3 MiB) partitions here.
fwconcat1: partition@10c0000 {
label = "fwconcat1";
reg = <0x10c0000 0xf00000>;
};

art: partition@1fc0000 {
label = "art";
reg = <0x1fc0000 0x40000>;
read-only;

nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;

macaddr_art_2005b: macaddr@2005b {
compatible = "mac-base";
reg = <0x2005b 0x6>;
#nvmem-cell-cells = <1>;
};

cal_art_1000: cal@1000 {
reg = <0x1000 0x440>;
};

cal_art_5000: cal@5000 {
reg = <0x5000 0x844>;
};
};
};
};
};
};

&wmac {
status = "okay";

nvmem-cells = <&macaddr_art_2005b 1>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};

&pcie {
status = "okay";

ath9k: wifi@0,0 {
compatible = "pci168c,0033";
reg = <0x0000 0 0 0 0>;
gpio-controller;
#gpio-cells = <2>;

nvmem-cells = <&macaddr_art_2005b 2>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
};

&ref {
clock-frequency = <40000000>;
};

&eth0 {
status = "okay";

nvmem-cells = <&macaddr_art_2005b 0>;
nvmem-cell-names = "mac-address";

pll-data = <0x06000000 0x04000101 0x0c001313>;
phy-mode = "rgmii-id";
phy-handle = <&phy>;

gmac-config {
device = <&gmac>;
rgmii-gmac0 = <1>;
rxdv-delay = <3>;
rxd-delay = <3>;
};
};

&mdio0 {
status = "okay";

phy: ethernet-phy@18 {
reg = <0x4>;
};
};

&pinmux {
wdt_gpio15: pinmux_wdt_gpio15 {
pinctrl-single,bits = <0xc 0x0 0xFF000000>;
};
};

&wdt {
status = "disabled";
};
4 changes: 3 additions & 1 deletion target/linux/ath79/generic/base-files/etc/board.d/02_network
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ ath79_setup_interfaces()
glinet,gl-ar300m-lite|\
glinet,gl-usb150|\
hak5,wifi-pineapple-nano|\
huawei,ap6010dn|\
meraki,mr16|\
netgear,ex7300|\
netgear,ex7300-v2|\
Expand Down Expand Up @@ -710,7 +711,8 @@ ath79_setup_macs()
hak5,packet-squirrel)
label_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
;;
huawei,ap5030dn)
huawei,ap5030dn|\
huawei,ap6010dn)
label_mac=$(mtd_get_mac_binary art 0x2005b)
;;
iodata,etg3-r)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ platform_do_upgrade() {
ROOTFS_FILE="root.squashfs"
platform_do_upgrade_failsafe_datachk "$1"
;;
huawei,ap5030dn)
huawei,ap5030dn|\
huawei,ap6010dn)
# Store beginning address of the "firmware" partition
# as KernelA address and KernelB address, each to BootupA & BootupB
# This is the address from which the bootloader will try to load the kernel.
Expand Down
15 changes: 15 additions & 0 deletions target/linux/ath79/image/generic.mk
Original file line number Diff line number Diff line change
Expand Up @@ -1643,6 +1643,21 @@ define Device/huawei_ap5030dn
endef
TARGET_DEVICES += huawei_ap5030dn

define Device/huawei_ap6010dn
SOC := ar9344
DEVICE_VENDOR := Huawei
DEVICE_MODEL := AP6010DN
LOADER_TYPE := bin
LOADER_FLASH_OFFS := 0x111DC0
KERNEL_SIZE := 15360k
IMAGE_SIZE := 30720k
COMPILE := loader-$(1).bin
COMPILE/loader-$(1).bin := loader-okli-compile | pad-to 64k | uImage none
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 8128
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
endef
TARGET_DEVICES += huawei_ap6010dn

define Device/iodata_etg3-r
SOC := ar9342
DEVICE_VENDOR := I-O DATA
Expand Down
1 change: 1 addition & 0 deletions target/linux/ath79/image/lzma-loader/src/ar71xx_regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,7 @@
#define AR934X_GPIO_FUNC_SPI_CS_0_EN BIT(13)

#define AR934X_GPIO_OUT_GPIO 0x00
#define AR934X_GPIO_OUTSEL_CLK_OBS4 0x14

#define QCA955X_GPIO_OUTSEL_CLK_OBS5 0x54

Expand Down
22 changes: 14 additions & 8 deletions target/linux/ath79/image/lzma-loader/src/board.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,34 +182,40 @@ static inline void mr18_init(void)
static inline void mr18_init(void) { }
#endif

#ifdef CONFIG_BOARD_HUAWEI_AP5030DN
static inline void ap5030dn_init(void)
#if defined(CONFIG_BOARD_HUAWEI_AP5030DN) || defined(CONFIG_BOARD_HUAWEI_AP6010DN)
static inline void huawei_ap_init(void)
{
const unsigned int ap5030dn_watchdog_gpio = 15;
const unsigned int watchdog_gpio = 15;
unsigned int gpiobase, reg;

gpiobase = KSEG1ADDR(AR71XX_GPIO_BASE);

printf("Huawei AP5030DN\n");
printf("Huawei AP\n");

reg = READREG(gpiobase + AR71XX_GPIO_REG_OE);
WRITEREG(gpiobase + AR71XX_GPIO_REG_OE,
reg & ~(1 << ap5030dn_watchdog_gpio));
reg & ~(1 << watchdog_gpio));

/* Set GPIO15 MUX to output CLK_OBS5 (= CPU_CLK/4)
* to keep the watchdog happy until wdt-gpio takes over
* or CLK_OBS4 (= AHB_CLK/2) to keep the watchdog happy
* until wdt-gpio takes over
*/
reg = READREG(gpiobase + AR934X_GPIO_REG_OUT_FUNC3);
#if defined(CONFIG_BOARD_HUAWEI_AP5030DN)
WRITEREG(gpiobase + AR934X_GPIO_REG_OUT_FUNC3,
reg | (QCA955X_GPIO_OUTSEL_CLK_OBS5 << 24));
#elif defined(CONFIG_BOARD_HUAWEI_AP6010DN)
WRITEREG(gpiobase + AR934X_GPIO_REG_OUT_FUNC3,
reg | (AR934X_GPIO_OUTSEL_CLK_OBS4 << 24));
#endif
}
#else
static inline void ap5030dn_init(void) { }
static inline void huawei_ap_init(void) {}
#endif

void board_init(void)
{
tlwr1043nd_init();
mr18_init();
ap5030dn_init();
huawei_ap_init();
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201

@@ -1337,6 +1340,9 @@
@@ -1338,6 +1341,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ Signed-off-by: Hans Verkuil <[email protected]>
/* Validate controls. */
static int validate_ctrls(struct v4l2_ext_controls *cs,
struct v4l2_ctrl_helper *helpers,
@@ -872,6 +922,9 @@ int __v4l2_ctrl_s_ctrl_compound(struct v
@@ -877,6 +927,9 @@ int __v4l2_ctrl_s_ctrl_compound(struct v
/* It's a driver bug if this happens. */
if (WARN_ON(ctrl->type != type))
return -EINVAL;
Expand Down
Loading

0 comments on commit c4b71ae

Please sign in to comment.