[PATCH v2] bmips: add NAND devices from bcm63xx

Adrian Schmutzler mail at adrianschmutzler.de
Fri Mar 5 19:18:32 GMT 2021


Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Daniel González Cabanelas
> Sent: Mittwoch, 3. März 2021 15:01
> To: openwrt-devel at lists.openwrt.org
> Cc: noltari at gmail.com
> Subject: [PATCH v2] bmips: add NAND devices from bcm63xx
> 
> Add NAND based devices from the bcm63xx target:
>  - Sercomm AD1018 v1 / v2
>  - Sercomm H500-s lowi
>  - Sercomm H500-s vfes
>  - Comtrend VG-8050
>  - Huawei HG253s v2
> 
> They're all already supported, just adapt them for the new WiP bmips target.

base-files are missing.

If we add devices to this target (after the initial one-target-per-board starters), I think we should make sure they are fully supported.
Otherwise, we risk having to look at everything twice, and will forget some in the middle.

Weren't some drivers missing as well?

Best

Adrian

> 
> Signed-off-by: Daniel González Cabanelas <dgcbueu at gmail.com>
> ---
> Changes in v2:
>  - Added missing USB nodes for H500-s, deleted unused NAND property
>  - Commit log changed
> 
>  .../dts/bcm63167-sercomm-h500-s-lowi.dts      |  13 +
>  .../dts/bcm63167-sercomm-h500-s-vfes.dts      |  13 +
>  .../bmips/dts/bcm63167-sercomm-h500-s.dtsi    | 204 ++++++++++++++++
>  .../bmips/dts/bcm63169-comtrend-vg-8050.dts   | 149 ++++++++++++
>  .../bmips/dts/bcm6328-sercomm-ad1018-v1.dts   |  13 +
>  .../bmips/dts/bcm6328-sercomm-ad1018-v2.dts   |  13 +
>  .../bmips/dts/bcm6328-sercomm-ad1018.dtsi     | 222
> ++++++++++++++++++
>  .../bmips/dts/bcm6362-huawei-hg253s-v2.dts    | 141 +++++++++++
>  target/linux/bmips/image/bcm63xx_nand.mk      | 132 ++++++++++-
>  9 files changed, 899 insertions(+), 1 deletion(-)  create mode 100644
> target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts
>  create mode 100644 target/linux/bmips/dts/bcm63167-sercomm-h500-s-
> vfes.dts
>  create mode 100644 target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi
>  create mode 100644 target/linux/bmips/dts/bcm63169-comtrend-vg-
> 8050.dts
>  create mode 100644 target/linux/bmips/dts/bcm6328-sercomm-ad1018-
> v1.dts
>  create mode 100644 target/linux/bmips/dts/bcm6328-sercomm-ad1018-
> v2.dts
>  create mode 100644 target/linux/bmips/dts/bcm6328-sercomm-ad1018.dtsi
>  create mode 100644 target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts
> 
> diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts
> b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts
> new file mode 100644
> index 0000000000..90aa9e1c15
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-lowi.dts
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
> +/*
> + * Device Tree file for Sercomm H500-s lowi
> + *
> + * Copyright (C) 2020 Daniel González Cabanelas <dgcbueu at gmail.com>  */
> +
> +#include "bcm63167-sercomm-h500-s.dtsi"
> +
> +/ {
> +	model = "Sercomm H500-s lowi";
> +	compatible = "sercomm,h500-s-lowi", "brcm,bcm63167",
> "brcm,bcm63268";
> +};
> diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts
> b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts
> new file mode 100644
> index 0000000000..bd69ccd316
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s-vfes.dts
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
> +/*
> + * Device Tree file for Sercomm H500-s vfes
> + *
> + * Copyright (C) 2020 Daniel González Cabanelas <dgcbueu at gmail.com>  */
> +
> +#include "bcm63167-sercomm-h500-s.dtsi"
> +
> +/ {
> +	model = "Sercomm H500-s vfes";
> +	compatible = "sercomm,h500-s-vfes", "brcm,bcm63167",
> "brcm,bcm63268";
> +};
> diff --git a/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi
> b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi
> new file mode 100644
> index 0000000000..f9fe6fe40c
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm63167-sercomm-h500-s.dtsi
> @@ -0,0 +1,204 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
> +/*
> + * Device Tree file for Sercomm H500-s
> + *
> + * Copyright (C) 2020 Daniel González Cabanelas <dgcbueu at gmail.com>  */
> +
> +#include "bcm63268.dtsi"
> +
> +/ {
> +	aliases {
> +		led-boot = &led_power_green;
> +		led-failsafe = &led_power_red;
> +		led-running = &led_power_green;
> +		led-upgrade = &led_power_green;
> +	};
> +
> +	memory at 0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x08000000>; /* 128 MiB */
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		poll-interval = <20>;
> +
> +		wps {
> +			label = "wps";
> +			gpios = <&pinctrl 34 1>;
> +			linux,code = <KEY_WPS_BUTTON>;
> +			debounce-interval = <60>;
> +		};
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&pinctrl 35 1>;
> +			linux,code = <KEY_RESTART>;
> +			debounce-interval = <60>;
> +		};
> +	};
> +};
> +
> +&ehci {
> +	status = "okay";
> +};
> +
> +&ohci {
> +	status = "okay";
> +};
> +
> +&usbh {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_leds>;
> +
> +	mobile_red {
> +		reg = <0>;
> +		label = "red:mobile";
> +	};
> +
> +	mobile_green {
> +		reg = <1>;
> +		label = "green:mobile";
> +	};
> +
> +	led_power_red: power_red {
> +		reg = <8>;
> +		label = "red:power";
> +	};
> +
> +	wifi_green {
> +		reg = <9>;
> +		label = "green:wifi";
> +	};
> +
> +	phone_red {
> +		reg = <12>;
> +		label = "red:phone";
> +	};
> +
> +	wifi_red {
> +		reg = <13>;
> +		label = "red:wifi";
> +	};
> +
> +	internet_red {
> +		reg = <14>;
> +		label = "red:internet";
> +	};
> +
> +	internet_green {
> +		reg = <15>;
> +		label = "green:internet";
> +	};
> +
> +	phone_green {
> +		reg = <16>;
> +		label = "green:phone";
> +	};
> +
> +	led_power_green: power_green {
> +		reg = <17>;
> +		label = "green:power";
> +		default-state = "on";
> +	};
> +
> +	mobile_blue {
> +		reg = <23>;
> +		label = "blue:mobile";
> +	};
> +};
> +
> +&nflash {
> +	status = "okay";
> +
> +	nandcs at 0 {
> +		compatible = "brcm,nandcs";
> +		#size-cells = <1>;
> +		#address-cells = <1>;
> +		reg = <0>;
> +		nand-ecc-step-size = <512>;
> +		nand-ecc-strength = <4>;
> +		nand-on-flash-bbt;
> +		brcm,nand-oob-sector-size = <64>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "cferom";
> +				reg = <0x0000000 0x0020000>;
> +				read-only;
> +			};
> +
> +			partition at 20000 {
> +				label = "part_map";
> +				reg = <0x0020000 0x00a0000>;
> +				read-only;
> +			};
> +
> +			partition at c0000 {
> +				label = "cferam1";
> +				reg = <0x00c0000 0x0140000>;
> +				read-only;
> +			};
> +
> +			partition at 200000 {
> +				label = "cferam2";
> +				reg = <0x0200000 0x0140000>;
> +				read-only;
> +			};
> +
> +			partition at 6920000 {
> +				label = "bootflag1";
> +				reg = <0x6920000 0x0140000>;
> +			};
> +
> +			partition at 6a60000 {
> +				label = "bootflag2";
> +				reg = <0x6a60000 0x0140000>;
> +			};
> +
> +			partition at 520000 {
> +				compatible = "sercomm,wfi";
> +				label = "wfi";
> +				reg = <0x0520000 0x6400000>; /* 2 images,
> 97152 KiB */
> +			};
> +
> +			partition at 6ba0000 {
> +				label = "xml_cfg";
> +				reg = <0x6ba0000 0x0280000>;
> +				read-only;
> +			};
> +
> +			partition at 6e20000 {
> +				label = "app_data";
> +				reg = <0x6e20000 0x0280000>;
> +				read-only;
> +			};
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	pinctrl_leds: leds {
> +		function = "led";
> +		pins = "gpio0",  "gpio1",  "gpio8",  "gpio9",
> +		       "gpio12", "gpio13", "gpio14", "gpio15",
> +		       "gpio16", "gpio17", "gpio23";
> +	};
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> diff --git a/target/linux/bmips/dts/bcm63169-comtrend-vg-8050.dts
> b/target/linux/bmips/dts/bcm63169-comtrend-vg-8050.dts
> new file mode 100644
> index 0000000000..481674f6a2
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm63169-comtrend-vg-8050.dts
> @@ -0,0 +1,149 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include "bcm63268.dtsi"
> +
> +/ {
> +	model = "Comtrend VG-8050";
> +	compatible = "comtrend,vg-8050", "brcm,bcm63169",
> "brcm,bcm63268";
> +
> +	aliases {
> +		led-boot = &led_power_green;
> +		led-failsafe = &led_power_green;
> +		led-running = &led_power_green;
> +		led-upgrade = &led_power_green;
> +	};
> +
> +	memory at 0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x08000000>; /* 128 MiB */
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		poll-interval = <20>;
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&pinctrl 33 1>;
> +			linux,code = <KEY_RESTART>;
> +			debounce-interval = <60>;
> +		};
> +
> +		wps {
> +			label = "wps";
> +			gpios = <&pinctrl 34 1>;
> +			linux,code = <KEY_WPS_BUTTON>;
> +			debounce-interval = <60>;
> +		};
> +	};
> +};
> +
> +&ehci {
> +	status = "okay";
> +};
> +
> +&ohci {
> +	status = "okay";
> +};
> +
> +&usbh {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +	brcm,serial-leds;
> +	brcm,serial-dat-low;
> +	brcm,serial-shift-inv;
> +
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_serial_led>;
> +
> +	led at 2 {
> +		reg = <2>;
> +		active-low;
> +		label = "red:internet";
> +	};
> +
> +	led at 3 {
> +		reg = <3>;
> +		active-low;
> +		label = "red:power";
> +	};
> +
> +	led_power_green: led at 6 {
> +		reg = <6>;
> +		active-low;
> +		label = "green:power";
> +		default-state = "on";
> +	};
> +
> +	led at 7 {
> +		reg = <7>;
> +		active-low;
> +		label = "green:wps";
> +	};
> +
> +	led at 8 {
> +		reg = <8>;
> +		active-low;
> +		label = "green:internet";
> +	};
> +
> +	led at 10 {
> +		reg = <10>;
> +		active-low;
> +		label = "green:voip";
> +	};
> +
> +	led at 12 {
> +		reg = <12>;
> +		active-low;
> +		label = "red:voip";
> +	};
> +
> +	led at 14 {
> +		reg = <14>;
> +		active-low;
> +		label = "red:wps";
> +	};
> +};
> +
> +&nflash {
> +	status = "okay";
> +
> +	nandcs at 0 {
> +		compatible = "brcm,nandcs";
> +		#size-cells = <1>;
> +		#address-cells = <1>;
> +		reg = <0>;
> +		nand-ecc-step-size = <512>;
> +		nand-ecc-strength = <15>;
> +		nand-on-flash-bbt;
> +		brcm,nand-oob-sector-size = <64>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "cferom";
> +				reg = <0x0000000 0x0020000>;
> +				read-only;
> +			};
> +
> +			partition at 20000 {
> +				compatible = "brcm,wfi-split";
> +				label = "wfi";
> +				reg = <0x0020000 0x7ac0000>;
> +			};
> +		};
> +	};
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> diff --git a/target/linux/bmips/dts/bcm6328-sercomm-ad1018-v1.dts
> b/target/linux/bmips/dts/bcm6328-sercomm-ad1018-v1.dts
> new file mode 100644
> index 0000000000..5700b3b692
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm6328-sercomm-ad1018-v1.dts
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include "bcm6328-sercomm-ad1018.dtsi"
> +
> +/ {
> +	model = "Sercomm AD1018 v1";
> +	compatible = "sercomm,ad1018", "brcm,bcm6328";
> +
> +	memory at 0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x04000000>; /* 64 MiB */
> +	};
> +};
> diff --git a/target/linux/bmips/dts/bcm6328-sercomm-ad1018-v2.dts
> b/target/linux/bmips/dts/bcm6328-sercomm-ad1018-v2.dts
> new file mode 100644
> index 0000000000..11150af187
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm6328-sercomm-ad1018-v2.dts
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include "bcm6328-sercomm-ad1018.dtsi"
> +
> +/ {
> +	model = "Sercomm AD1018 v2";
> +	compatible = "sercomm,ad1018", "brcm,bcm6328";
> +
> +	memory at 0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x08000000>; /* 128 MiB */
> +	};
> +};
> diff --git a/target/linux/bmips/dts/bcm6328-sercomm-ad1018.dtsi
> b/target/linux/bmips/dts/bcm6328-sercomm-ad1018.dtsi
> new file mode 100644
> index 0000000000..aeaeb74538
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm6328-sercomm-ad1018.dtsi
> @@ -0,0 +1,222 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include "bcm6328.dtsi"
> +
> +/ {
> +	aliases {
> +		led-boot = &led_power_green;
> +		led-failsafe = &led_power_green;
> +		led-running = &led_power_green;
> +		led-upgrade = &led_power_green;
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		poll-interval = <20>;
> +
> +		wps {
> +			label = "wps";
> +			gpios = <&pinctrl 24 1>;
> +			linux,code = <KEY_WPS_BUTTON>;
> +			debounce-interval = <60>;
> +		};
> +
> +		wifi {
> +			label = "wifi";
> +			gpios = <&pinctrl 25 1>;
> +			linux,code = <KEY_WLAN>;
> +			debounce-interval = <60>;
> +		};
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&pinctrl 31 1>;
> +			linux,code = <KEY_RESTART>;
> +			debounce-interval = <60>;
> +		};
> +	};
> +};
> +
> +&ehci {
> +	status = "okay";
> +};
> +
> +&ohci {
> +	status = "okay";
> +};
> +
> +&usbh {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_leds &pinctrl_serial_led
> +		     &pinctrl_ephy0_spd_led &pinctrl_ephy1_act_led
> +		     &pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>;
> +
> +	brcm,serial-leds;
> +	brcm,serial-shift-inv;
> +	brcm,serial-dat-low;
> +
> +	led at 0 {
> +		reg = <0>;
> +		active-low;
> +		label = "red:internet";
> +	};
> +
> +	led at 1 {
> +		reg = <1>;
> +		active-low;
> +		label = "green:internet";
> +	};
> +
> +	led_power_green: led at 8 {
> +		reg = <8>;
> +		active-low;
> +		label = "green:power";
> +		default-state = "on";
> +	};
> +
> +	led at 10 {
> +		reg = <10>;
> +		active-low;
> +		label = "green:adsl";
> +	};
> +
> +	led at 11 {
> +		reg = <11>;
> +		active-low;
> +		label = "red:adsl";
> +	};
> +
> +	led at 12 {
> +		reg = <12>;
> +		active-low;
> +		label = "green:phone";
> +	};
> +
> +	led at 13 {
> +		reg = <13>;
> +		active-low;
> +		label = "green:wps";
> +	};
> +
> +	led at 14 {
> +		reg = <14>;
> +		active-low;
> +		label = "green:wifi";
> +	};
> +
> +	led at 15 {
> +		reg = <15>;
> +		active-low;
> +		label = "green:usb";
> +	};
> +
> +	led at 17 {
> +		/* EPHY0 Spd */
> +		reg = <17>;
> +		brcm,hardware-controlled;
> +	};
> +};
> +
> +&nflash {
> +	status = "okay";
> +
> +	nandcs at 0 {
> +		compatible = "brcm,nandcs";
> +		#size-cells = <1>;
> +		#address-cells = <1>;
> +		reg = <0>;
> +		nand-ecc-step-size = <512>;
> +		nand-ecc-strength = <15>;
> +		nand-on-flash-bbt;
> +		brcm,nand-oob-sector-size = <64>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "cferom";
> +				reg = <0x0000000 0x0020000>;
> +				read-only;
> +			};
> +
> +			partition at 20000 {
> +				label = "mmap";
> +				reg = <0x0020000 0x00a0000>;
> +				read-only;
> +			};
> +
> +			partition at c0000 {
> +				label = "cferam1";
> +				reg = <0x00c0000 0x0140000>;
> +				read-only;
> +			};
> +
> +			partition at 200000 {
> +				label = "cferam2";
> +				reg = <0x0200000 0x0140000>;
> +				read-only;
> +			};
> +
> +			partition at 340000 {
> +				label = "serial";
> +				reg = <0x0340000 0x00a0000>;
> +				read-only;
> +			};
> +
> +			partition at 3e0000 {
> +				label = "protect";
> +				reg = <0x03e0000 0x0140000>;
> +				read-only;
> +			};
> +
> +			partition at 6920000 {
> +				label = "bootflag1";
> +				reg = <0x6920000 0x0140000>;
> +			};
> +
> +			partition at 6a60000 {
> +				label = "bootflag2";
> +				reg = <0x6a60000 0x0140000>;
> +			};
> +
> +			partition at 520000 {
> +				compatible = "sercomm,wfi";
> +				label = "wfi";
> +				reg = <0x0520000 0x6400000>;
> +			};
> +
> +			partition at 6ba0000 {
> +				label = "xml_cfg";
> +				reg = <0x6ba0000 0x0280000>;
> +				read-only;
> +			};
> +
> +			partition at 6e20000 {
> +				label = "app_dat";
> +				reg = <0x6e20000 0x0280000>;
> +				read-only;
> +			};
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	pinctrl_leds: leds {
> +		function = "led";
> +		pins = "gpio0", "gpio1";
> +	};
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> diff --git a/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts
> b/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts
> new file mode 100644
> index 0000000000..eaf83ecc88
> --- /dev/null
> +++ b/target/linux/bmips/dts/bcm6362-huawei-hg253s-v2.dts
> @@ -0,0 +1,141 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include "bcm6362.dtsi"
> +
> +/ {
> +	model = "Huawei HG253s v2";
> +	compatible = "huawei,hg253s-v2", "brcm,bcm6362";
> +
> +	aliases {
> +		led-boot = &led_phone_green;
> +		led-failsafe = &led_phone_green;
> +		led-upgrade = &led_phone_green;
> +	};
> +
> +	memory at 0 {
> +		device_type = "memory";
> +		reg = <0x00000000 0x08000000>; /* 128 MiB */
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		poll-interval = <20>;
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&pinctrl 24 1>;
> +			linux,code = <KEY_RESTART>;
> +			debounce-interval = <60>;
> +		};
> +
> +		wlan {
> +			label = "wlan";
> +			gpios = <&pinctrl 25 1>;
> +			linux,code = <KEY_WLAN>;
> +			debounce-interval = <60>;
> +		};
> +
> +		wps {
> +			label = "wps";
> +			gpios = <&pinctrl 26 1>;
> +			linux,code = <KEY_WPS_BUTTON>;
> +			debounce-interval = <60>;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_phone_green: led at 28 {
> +			label = "green:phone";
> +			gpios = <&pinctrl 28 1>;
> +		};
> +
> +		led at 30 {
> +			label = "green:usb";
> +			gpios = <&pinctrl 30 1>;
> +		};
> +	};
> +};
> +
> +&ehci {
> +	status = "okay";
> +};
> +
> +&ohci {
> +	status = "okay";
> +};
> +
> +&usbh {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_leds>;
> +
> +	led at 3 {
> +		reg = <3>;
> +		active-low;
> +		label = "green:internet";
> +	};
> +
> +	led at 5 {
> +		reg = <5>;
> +		active-low;
> +		label = "green:wifi";
> +	};
> +};
> +
> +&nflash {
> +	status = "okay";
> +
> +	nandcs at 0 {
> +		compatible = "brcm,nandcs";
> +		#size-cells = <1>;
> +		#address-cells = <1>;
> +		reg = <0>;
> +		nand-ecc-step-size = <512>;
> +		nand-ecc-strength = <15>;
> +		nand-on-flash-bbt;
> +		brcm,nand-oob-sector-size = <64>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "cferom";
> +				reg = <0x0000000 0x0020000>;
> +				read-only;
> +			};
> +
> +			partition at 20000 {
> +				compatible = "brcm,wfi";
> +				label = "wfi";
> +				reg = <0x0020000 0x7d80000>;
> +			};
> +
> +			partition at 7da0000 {
> +				label = "nvram";
> +				reg = <0x7da0000 0x160000>;
> +			};
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	pinctrl_leds: leds {
> +		function = "led";
> +		pins = "gpio3", "gpio5";
> +	};
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> diff --git a/target/linux/bmips/image/bcm63xx_nand.mk
> b/target/linux/bmips/image/bcm63xx_nand.mk
> index a712cd0699..6c63a58640 100644
> --- a/target/linux/bmips/image/bcm63xx_nand.mk
> +++ b/target/linux/bmips/image/bcm63xx_nand.mk
> @@ -41,10 +41,28 @@ define Device/sercomm-nand
>    IMAGES := factory.img sysupgrade.bin
>    IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) |
> append-ubi |\
>      cfe-sercomm-part | gzip | cfe-sercomm-load | cfe-sercomm-crypto
> -  SERCOM_PID :=
> +  SERCOMM_PID :=
>    SERCOMM_VERSION :=
>  endef
> 
> +define Device/comtrend_vg-8050
> +  $(Device/bcm63xx-nand)
> +  DEVICE_VENDOR := Comtrend
> +  DEVICE_MODEL := VG-8050
> +  CHIP_ID := 63268
> +  SOC := bcm63169
> +  CFE_RAM_FILE := comtrend,vg-8050/cferam.000
> +  CFE_RAM_JFFS2_NAME := cferam.000
> +  BLOCKSIZE := 128k
> +  PAGESIZE := 2048
> +  SUBPAGESIZE := 512
> +  VID_HDR_OFFSET := 2048
> +  DEVICE_PACKAGES += $(USB2_PACKAGES)
> +  CFE_WFI_VERSION := 0x5732
> +  CFE_WFI_FLASH_TYPE := 3
> +endef
> +TARGET_DEVICES += comtrend_vg-8050
> +
>  define Device/comtrend_vr-3032u
>    $(Device/bcm63xx-nand)
>    DEVICE_VENDOR := Comtrend
> @@ -63,6 +81,27 @@ define Device/comtrend_vr-3032u  endef
> TARGET_DEVICES += comtrend_vr-3032u
> 
> +define Device/huawei_hg253s-v2
> +  $(Device/bcm63xx-nand)
> +  IMAGES := flash.bin sysupgrade.bin
> +  IMAGE/flash.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) |
> +cfe-jffs2-cferam | append-ubi
> +  DEVICE_VENDOR := Huawei
> +  DEVICE_MODEL := HG253s
> +  DEVICE_VARIANT := v2
> +  CHIP_ID := 6362
> +  CFE_PART_FLAGS := 1
> +  CFE_PART_ID := 0x0001EFEE
> +  CFE_RAM_FILE := huawei,hg253s-v2/cferam.000
> +  CFE_RAM_JFFS2_NAME := cferam.000
> +  BLOCKSIZE := 128k
> +  PAGESIZE := 2048
> +  SUBPAGESIZE := 512
> +  VID_HDR_OFFSET := 2048
> +  DEVICE_PACKAGES += $(USB2_PACKAGES)
> +  CFE_WFI_FLASH_TYPE := 3
> +endef
> +TARGET_DEVICES += huawei_hg253s-v2
> +
>  define Device/netgear_dgnd3700-v2
>    $(Device/bcm63xx-nand)
>    DEVICE_VENDOR := NETGEAR
> @@ -79,3 +118,94 @@ define Device/netgear_dgnd3700-v2
>    CFE_WFI_VERSION := 0x5731
>  endef
>  TARGET_DEVICES += netgear_dgnd3700-v2
> +
> +define Device/sercomm_ad1018_v1
> +  $(Device/sercomm-nand)
> +  DEVICE_VENDOR := Sercomm
> +  DEVICE_MODEL := AD1018
> +  DEVICE_VARIANT := v1
> +  CHIP_ID := 6328
> +  CFE_RAM_FILE := sercomm,ad1018/cferam
> +  CFE_RAM_JFFS2_NAME := cferam
> +  BLOCKSIZE := 128k
> +  PAGESIZE := 2048
> +  SUBPAGESIZE := 512
> +  VID_HDR_OFFSET := 2048
> +  DEVICE_PACKAGES += $(USB2_PACKAGES)
> +  CFE_WFI_FLASH_TYPE := 3
> +  CFE_WFI_VERSION := 0x5731
> +  SERCOMM_PID := \
> +    30 30 30 30 30 30 30 31 34 31 35 31 35 33 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 33 30 31 33 30 30 30 30 30 30 30 30 \
> +    0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> +  SERCOMM_VERSION := 1001
> +endef
> +TARGET_DEVICES += sercomm_ad1018_v1
> +
> +define Device/sercomm_ad1018_v2
> +  $(Device/sercomm-nand)
> +  $(Device/sercomm_ad1018_v1)
> +  DEVICE_VENDOR := Sercomm
> +  DEVICE_MODEL := AD1018
> +  DEVICE_VARIANT := v2
> +endef
> +TARGET_DEVICES += sercomm_ad1018_v2
> +
> +define Device/sercomm_h500-s-lowi
> +  $(Device/sercomm-nand)
> +  DEVICE_VENDOR := Sercomm
> +  DEVICE_MODEL := H500-s
> +  DEVICE_VARIANT := lowi
> +  DEVICE_LOADADDR := $(KERNEL_LOADADDR)
> +  KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel
> +  CHIP_ID := 63268
> +  SOC := bcm63167
> +  BLOCKSIZE := 128k
> +  PAGESIZE := 2048
> +  SUBPAGESIZE := 512
> +  VID_HDR_OFFSET := 2048
> +  DEVICE_PACKAGES += $(USB2_PACKAGES)
> +  SERCOMM_PID := \
> +    30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \
> +    0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> +  SERCOMM_VERSION := 1001
> +endef
> +TARGET_DEVICES += sercomm_h500-s-lowi
> +
> +define Device/sercomm_h500-s-vfes
> +  $(Device/sercomm-nand)
> +  DEVICE_VENDOR := Sercomm
> +  DEVICE_MODEL := H500-s
> +  DEVICE_VARIANT := vfes
> +  DEVICE_LOADADDR := $(KERNEL_LOADADDR)
> +  KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel
> +  CHIP_ID := 63268
> +  SOC := bcm63167
> +  BLOCKSIZE := 128k
> +  PAGESIZE := 2048
> +  SUBPAGESIZE := 512
> +  VID_HDR_OFFSET := 2048
> +  DEVICE_PACKAGES += $(USB2_PACKAGES)
> +  SERCOMM_PID := \
> +    30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \
> +    30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \
> +    0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> +  SERCOMM_VERSION := 1001
> +endef
> +TARGET_DEVICES += sercomm_h500-s-vfes
> --
> 2.30.1
> 
> 
> 
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20210305/9dd0a9e5/attachment-0001.sig>


More information about the openwrt-devel mailing list