diff --git a/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network b/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network index 4d9a64c95..25b6097d6 100755 --- a/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network +++ b/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network @@ -60,7 +60,7 @@ qcom_setup_interfaces() ucidef_set_interface_wan "eth0" ;; cig,wf660a) - ucidef_set_interface_lan "eth0" + ucidef_set_interface_wan "eth0" ;; cig,wf186w) ucidef_set_interface_lan "eth1" @@ -134,6 +134,15 @@ qcom_setup_macs() ip link set eth1 address $lan_mac ucidef_set_label_macaddr $wan_mac ;; + cig,wf660a) + mmc_dev=$(echo $(find_mmc_part "0:APPSBLENV") | sed 's/^.\{5\}//') + [ -z mmc_dev ] && return + mac=$(grep BaseMacAddress= /dev/$mmc_dev | cut -dx -f2) + [ -z "$mac" ] && return; + wan_mac=$(macaddr_canonicalize $mac) + ucidef_set_network_device_mac eth0 $wan_mac + ip link set eth0 address $wan_mac + ;; cybertan,eww622-a1) mac=$(grep -i -m 1 mac_addr_base= /dev/`cat /proc/mtd | grep devinfo | cut -d: -f1` | cut -d= -f2) [ -z "$mac"] && mac="00:11:22:33:44:55" diff --git a/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh b/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh index c79929aee..f807b75c8 100755 --- a/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh +++ b/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh @@ -44,7 +44,7 @@ do_flash_emmc() { return } - echo erase $4 + echo erase $4 / $emmcblock dd if=/dev/zero of=${emmcblock} 2> /dev/null echo flash $4 tar Oxf $tar_file ${board_dir}/$part | dd of=${emmcblock} diff --git a/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a-cp01.dtsi b/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a-cp01.dtsi index a21418f8a..89092423c 100755 --- a/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a-cp01.dtsi +++ b/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a-cp01.dtsi @@ -17,6 +17,7 @@ #include "qcom-ipq6018.dtsi" #include #include +#include / { #address-cells = <0x2>; @@ -38,6 +39,11 @@ ethernet2 = "/soc/dp3"; ethernet3 = "/soc/dp4"; ethernet4 = "/soc/dp5"; + + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; }; chosen { @@ -227,27 +233,6 @@ }; }; - leds_pins: leds_pins { - led_5g { - pins = "gpio35"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - led_2g { - pins = "gpio37"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - led_usb0 { - pins = "gpio50"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - }; - hsuart_pins: hsuart_pins { mux { pins = "gpio71", "gpio72"; @@ -298,11 +283,12 @@ }; &soc { - pwm { + pwm0: pwm { pinctrl-0 = <&pwm_pins>; pinctrl-names = "default"; used-pwm-indices = <1>, <1>, <1>, <0>; status = "ok"; + #pwm-cells = <2>; }; extcon_usb: extcon_usb { pinctrl-0 = <&extcon_usb_pins>; @@ -454,28 +440,25 @@ }; }; - leds { - compatible = "gpio-leds"; - pinctrl-0 = <&leds_pins>; - pinctrl-names = "default"; + pwmleds { + compatible = "pwm-leds"; - led@35 { - label = "led_5g"; - gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "led_5g"; - default-state = "off"; + led_power: led1 { + label = "blue:status"; + pwms = <&pwm0 0 5000>; + max-brightness = <255>; }; - led@37 { - label = "led_2g"; - gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "led_2g"; - default-state = "off"; + + led2 { + label = "green:status"; + pwms = <&pwm0 1 5000>; + max-brightness = <255>; }; - led@50 { - label = "led_usb0"; - gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "usb-host"; - default-state = "off"; + + led3 { + label = "red:status"; + pwms = <&pwm0 2 5000>; + max-brightness = <255>; }; }; diff --git a/feeds/tip/certificates/files/etc/init.d/certificates b/feeds/tip/certificates/files/etc/init.d/certificates index e7c65dd7a..b05d6d7be 100755 --- a/feeds/tip/certificates/files/etc/init.d/certificates +++ b/feeds/tip/certificates/files/etc/init.d/certificates @@ -30,12 +30,18 @@ boot() { [ -e /dev/ubi1 ] && mount -t ubifs ubi1:certificates /certificates fi fi + + case "$(board_name)" in + cig,wf660a) + mmc_dev=$(echo $(find_mmc_part "0:ETHPHYFW") | sed 's/^.\{5\}//') + [ -n $mmc_dev ] && mount -t ext4 /dev/$mmc_dev /certificates + ;; + esac + copy_certificates # if we get here no valid certificates were found - . /lib/functions.sh - local PART_NAME case "$(board_name)" in diff --git a/patches/ipq807x/0008-Add-fw_printenv-support-for-EMMC.patch b/patches/ipq807x/0008-Add-fw_printenv-support-for-EMMC.patch index 1d24b0737..1f42dc08e 100644 --- a/patches/ipq807x/0008-Add-fw_printenv-support-for-EMMC.patch +++ b/patches/ipq807x/0008-Add-fw_printenv-support-for-EMMC.patch @@ -1,12 +1,13 @@ -From 3353a474f9cda9a61101c7f57cec2b991503c73e Mon Sep 17 00:00:00 2001 +From 7d2818e1e1b49b9172c66171e9a96f4cdb9418ff Mon Sep 17 00:00:00 2001 From: Ken Date: Tue, 7 Feb 2023 14:39:52 +0800 -Subject: [PATCH] Add fw_printenv support for EMMC +Subject: [PATCH 1/9] Add fw_printenv support for EMMC --- package/base-files/files/lib/functions.sh | 13 ++++++++++++ + package/boot/uboot-envtools/files/ipq60xx | 24 +++++++++++++++++++---- package/boot/uboot-envtools/files/ipq807x | 24 +++++++++++++++++++---- - 2 files changed, 33 insertions(+), 4 deletions(-) + 3 files changed, 53 insertions(+), 8 deletions(-) diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 2bad45324f..415e0763ed 100644 @@ -32,8 +33,49 @@ index 2bad45324f..415e0763ed 100644 append() { local var="$1" local value="$2" +diff --git a/package/boot/uboot-envtools/files/ipq60xx b/package/boot/uboot-envtools/files/ipq60xx +index 84ed73f288..8863df4225 100644 +--- a/package/boot/uboot-envtools/files/ipq60xx ++++ b/package/boot/uboot-envtools/files/ipq60xx +@@ -13,16 +13,32 @@ ubootenv_mtdinfo () { + mtd_size=$(echo $UBOOTENV_PART | awk '{print "0x"$2}') + mtd_erase=$(echo $UBOOTENV_PART | awk '{print "0x"$3}') + nor_flash=$(find /sys/bus/spi/devices/*/mtd -name ${mtd_dev}) +- +- if [ -n "$nor_flash" ]; then ++ found_emmc=0 ++ ++ if [ -z "$UBOOTENV_PART" ]; then ++ mtd_dev=$(echo $(find_mmc_part "0:APPSBLENV") | sed 's/^.\{5\}//') ++ if [ -n "$mtd_dev" ]; then ++ EMMC_UBOOTENV_PART=$(cat /proc/partitions | grep $mtd_dev) ++ #convert block to bytes ++ emmc_ubootenv_size=`expr $(echo $EMMC_UBOOTENV_PART | awk '{print $3}') \* 1024` ++ ubootenv_size=0x`printf "%x" $emmc_ubootenv_size` ++ found_emmc=1 ++ fi ++ mtd_erase="" ++ ++ elif [ -n "$nor_flash" ]; then + ubootenv_size=$mtd_size + else + # size is fixed to 0x40000 in u-boot + ubootenv_size=0x40000 + fi ++ if [ $found_emmc -eq 0 ]; then ++ sectors=$(printf '0x%x' $(( $ubootenv_size / $mtd_erase ))) ++ echo /dev/$mtd_dev 0x0 $ubootenv_size $mtd_erase $sectors ++ else ++ echo /dev/$mtd_dev 0x0 $ubootenv_size ++ fi + +- sectors=$(( $ubootenv_size / $mtd_erase )) +- echo /dev/$mtd_dev 0x0 $ubootenv_size $mtd_erase $sectors + } + + case "$board" in diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x -index 84ed73f288..539cafb3fd 100644 +index 2dcd294964..8863df4225 100644 --- a/package/boot/uboot-envtools/files/ipq807x +++ b/package/boot/uboot-envtools/files/ipq807x @@ -13,16 +13,32 @@ ubootenv_mtdinfo () {