Message ID | 3199616.gAJloMhRER@tool |
---|---|
State | Deferred, archived |
Headers | show |
Series | [v2] bmips: add NAND devices from bcm63xx | expand |
Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] > On Behalf Of Daniel González Cabanelas > Sent: Mittwoch, 3. März 2021 15:01 > To: openwrt-devel@lists.openwrt.org > Cc: noltari@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@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@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@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@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@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@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@0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; > + read-only; > + }; > + > + partition@20000 { > + label = "part_map"; > + reg = <0x0020000 0x00a0000>; > + read-only; > + }; > + > + partition@c0000 { > + label = "cferam1"; > + reg = <0x00c0000 0x0140000>; > + read-only; > + }; > + > + partition@200000 { > + label = "cferam2"; > + reg = <0x0200000 0x0140000>; > + read-only; > + }; > + > + partition@6920000 { > + label = "bootflag1"; > + reg = <0x6920000 0x0140000>; > + }; > + > + partition@6a60000 { > + label = "bootflag2"; > + reg = <0x6a60000 0x0140000>; > + }; > + > + partition@520000 { > + compatible = "sercomm,wfi"; > + label = "wfi"; > + reg = <0x0520000 0x6400000>; /* 2 images, > 97152 KiB */ > + }; > + > + partition@6ba0000 { > + label = "xml_cfg"; > + reg = <0x6ba0000 0x0280000>; > + read-only; > + }; > + > + partition@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@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@2 { > + reg = <2>; > + active-low; > + label = "red:internet"; > + }; > + > + led@3 { > + reg = <3>; > + active-low; > + label = "red:power"; > + }; > + > + led_power_green: led@6 { > + reg = <6>; > + active-low; > + label = "green:power"; > + default-state = "on"; > + }; > + > + led@7 { > + reg = <7>; > + active-low; > + label = "green:wps"; > + }; > + > + led@8 { > + reg = <8>; > + active-low; > + label = "green:internet"; > + }; > + > + led@10 { > + reg = <10>; > + active-low; > + label = "green:voip"; > + }; > + > + led@12 { > + reg = <12>; > + active-low; > + label = "red:voip"; > + }; > + > + led@14 { > + reg = <14>; > + active-low; > + label = "red:wps"; > + }; > +}; > + > +&nflash { > + status = "okay"; > + > + nandcs@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@0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; > + read-only; > + }; > + > + partition@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@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@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@0 { > + reg = <0>; > + active-low; > + label = "red:internet"; > + }; > + > + led@1 { > + reg = <1>; > + active-low; > + label = "green:internet"; > + }; > + > + led_power_green: led@8 { > + reg = <8>; > + active-low; > + label = "green:power"; > + default-state = "on"; > + }; > + > + led@10 { > + reg = <10>; > + active-low; > + label = "green:adsl"; > + }; > + > + led@11 { > + reg = <11>; > + active-low; > + label = "red:adsl"; > + }; > + > + led@12 { > + reg = <12>; > + active-low; > + label = "green:phone"; > + }; > + > + led@13 { > + reg = <13>; > + active-low; > + label = "green:wps"; > + }; > + > + led@14 { > + reg = <14>; > + active-low; > + label = "green:wifi"; > + }; > + > + led@15 { > + reg = <15>; > + active-low; > + label = "green:usb"; > + }; > + > + led@17 { > + /* EPHY0 Spd */ > + reg = <17>; > + brcm,hardware-controlled; > + }; > +}; > + > +&nflash { > + status = "okay"; > + > + nandcs@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@0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; > + read-only; > + }; > + > + partition@20000 { > + label = "mmap"; > + reg = <0x0020000 0x00a0000>; > + read-only; > + }; > + > + partition@c0000 { > + label = "cferam1"; > + reg = <0x00c0000 0x0140000>; > + read-only; > + }; > + > + partition@200000 { > + label = "cferam2"; > + reg = <0x0200000 0x0140000>; > + read-only; > + }; > + > + partition@340000 { > + label = "serial"; > + reg = <0x0340000 0x00a0000>; > + read-only; > + }; > + > + partition@3e0000 { > + label = "protect"; > + reg = <0x03e0000 0x0140000>; > + read-only; > + }; > + > + partition@6920000 { > + label = "bootflag1"; > + reg = <0x6920000 0x0140000>; > + }; > + > + partition@6a60000 { > + label = "bootflag2"; > + reg = <0x6a60000 0x0140000>; > + }; > + > + partition@520000 { > + compatible = "sercomm,wfi"; > + label = "wfi"; > + reg = <0x0520000 0x6400000>; > + }; > + > + partition@6ba0000 { > + label = "xml_cfg"; > + reg = <0x6ba0000 0x0280000>; > + read-only; > + }; > + > + partition@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@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@28 { > + label = "green:phone"; > + gpios = <&pinctrl 28 1>; > + }; > + > + led@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@3 { > + reg = <3>; > + active-low; > + label = "green:internet"; > + }; > + > + led@5 { > + reg = <5>; > + active-low; > + label = "green:wifi"; > + }; > +}; > + > +&nflash { > + status = "okay"; > + > + nandcs@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@0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; > + read-only; > + }; > + > + partition@20000 { > + compatible = "brcm,wfi"; > + label = "wfi"; > + reg = <0x0020000 0x7d80000>; > + }; > + > + partition@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@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
El vie, 5 mar 2021 a las 20:18, Adrian Schmutzler (<mail@adrianschmutzler.de>) escribió: > > Hi, > > > -----Original Message----- > > From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org] > > On Behalf Of Daniel González Cabanelas > > Sent: Mittwoch, 3. März 2021 15:01 > > To: openwrt-devel@lists.openwrt.org > > Cc: noltari@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. > I agree, I already archived the patch. > Weren't some drivers missing as well? > Yes, ethernet and PCI. Regards. > Best > > Adrian > > > > > Signed-off-by: Daniel González Cabanelas <dgcbueu@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@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@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@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@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@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@0 { > > + label = "cferom"; > > + reg = <0x0000000 0x0020000>; > > + read-only; > > + }; > > + > > + partition@20000 { > > + label = "part_map"; > > + reg = <0x0020000 0x00a0000>; > > + read-only; > > + }; > > + > > + partition@c0000 { > > + label = "cferam1"; > > + reg = <0x00c0000 0x0140000>; > > + read-only; > > + }; > > + > > + partition@200000 { > > + label = "cferam2"; > > + reg = <0x0200000 0x0140000>; > > + read-only; > > + }; > > + > > + partition@6920000 { > > + label = "bootflag1"; > > + reg = <0x6920000 0x0140000>; > > + }; > > + > > + partition@6a60000 { > > + label = "bootflag2"; > > + reg = <0x6a60000 0x0140000>; > > + }; > > + > > + partition@520000 { > > + compatible = "sercomm,wfi"; > > + label = "wfi"; > > + reg = <0x0520000 0x6400000>; /* 2 images, > > 97152 KiB */ > > + }; > > + > > + partition@6ba0000 { > > + label = "xml_cfg"; > > + reg = <0x6ba0000 0x0280000>; > > + read-only; > > + }; > > + > > + partition@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@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@2 { > > + reg = <2>; > > + active-low; > > + label = "red:internet"; > > + }; > > + > > + led@3 { > > + reg = <3>; > > + active-low; > > + label = "red:power"; > > + }; > > + > > + led_power_green: led@6 { > > + reg = <6>; > > + active-low; > > + label = "green:power"; > > + default-state = "on"; > > + }; > > + > > + led@7 { > > + reg = <7>; > > + active-low; > > + label = "green:wps"; > > + }; > > + > > + led@8 { > > + reg = <8>; > > + active-low; > > + label = "green:internet"; > > + }; > > + > > + led@10 { > > + reg = <10>; > > + active-low; > > + label = "green:voip"; > > + }; > > + > > + led@12 { > > + reg = <12>; > > + active-low; > > + label = "red:voip"; > > + }; > > + > > + led@14 { > > + reg = <14>; > > + active-low; > > + label = "red:wps"; > > + }; > > +}; > > + > > +&nflash { > > + status = "okay"; > > + > > + nandcs@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@0 { > > + label = "cferom"; > > + reg = <0x0000000 0x0020000>; > > + read-only; > > + }; > > + > > + partition@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@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@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@0 { > > + reg = <0>; > > + active-low; > > + label = "red:internet"; > > + }; > > + > > + led@1 { > > + reg = <1>; > > + active-low; > > + label = "green:internet"; > > + }; > > + > > + led_power_green: led@8 { > > + reg = <8>; > > + active-low; > > + label = "green:power"; > > + default-state = "on"; > > + }; > > + > > + led@10 { > > + reg = <10>; > > + active-low; > > + label = "green:adsl"; > > + }; > > + > > + led@11 { > > + reg = <11>; > > + active-low; > > + label = "red:adsl"; > > + }; > > + > > + led@12 { > > + reg = <12>; > > + active-low; > > + label = "green:phone"; > > + }; > > + > > + led@13 { > > + reg = <13>; > > + active-low; > > + label = "green:wps"; > > + }; > > + > > + led@14 { > > + reg = <14>; > > + active-low; > > + label = "green:wifi"; > > + }; > > + > > + led@15 { > > + reg = <15>; > > + active-low; > > + label = "green:usb"; > > + }; > > + > > + led@17 { > > + /* EPHY0 Spd */ > > + reg = <17>; > > + brcm,hardware-controlled; > > + }; > > +}; > > + > > +&nflash { > > + status = "okay"; > > + > > + nandcs@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@0 { > > + label = "cferom"; > > + reg = <0x0000000 0x0020000>; > > + read-only; > > + }; > > + > > + partition@20000 { > > + label = "mmap"; > > + reg = <0x0020000 0x00a0000>; > > + read-only; > > + }; > > + > > + partition@c0000 { > > + label = "cferam1"; > > + reg = <0x00c0000 0x0140000>; > > + read-only; > > + }; > > + > > + partition@200000 { > > + label = "cferam2"; > > + reg = <0x0200000 0x0140000>; > > + read-only; > > + }; > > + > > + partition@340000 { > > + label = "serial"; > > + reg = <0x0340000 0x00a0000>; > > + read-only; > > + }; > > + > > + partition@3e0000 { > > + label = "protect"; > > + reg = <0x03e0000 0x0140000>; > > + read-only; > > + }; > > + > > + partition@6920000 { > > + label = "bootflag1"; > > + reg = <0x6920000 0x0140000>; > > + }; > > + > > + partition@6a60000 { > > + label = "bootflag2"; > > + reg = <0x6a60000 0x0140000>; > > + }; > > + > > + partition@520000 { > > + compatible = "sercomm,wfi"; > > + label = "wfi"; > > + reg = <0x0520000 0x6400000>; > > + }; > > + > > + partition@6ba0000 { > > + label = "xml_cfg"; > > + reg = <0x6ba0000 0x0280000>; > > + read-only; > > + }; > > + > > + partition@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@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@28 { > > + label = "green:phone"; > > + gpios = <&pinctrl 28 1>; > > + }; > > + > > + led@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@3 { > > + reg = <3>; > > + active-low; > > + label = "green:internet"; > > + }; > > + > > + led@5 { > > + reg = <5>; > > + active-low; > > + label = "green:wifi"; > > + }; > > +}; > > + > > +&nflash { > > + status = "okay"; > > + > > + nandcs@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@0 { > > + label = "cferom"; > > + reg = <0x0000000 0x0020000>; > > + read-only; > > + }; > > + > > + partition@20000 { > > + compatible = "brcm,wfi"; > > + label = "wfi"; > > + reg = <0x0020000 0x7d80000>; > > + }; > > + > > + partition@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@lists.openwrt.org > > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
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@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@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@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@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@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@0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition@20000 { + label = "part_map"; + reg = <0x0020000 0x00a0000>; + read-only; + }; + + partition@c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; + read-only; + }; + + partition@200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; + read-only; + }; + + partition@6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; + }; + + partition@6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; + }; + + partition@520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ + }; + + partition@6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; + read-only; + }; + + partition@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@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@2 { + reg = <2>; + active-low; + label = "red:internet"; + }; + + led@3 { + reg = <3>; + active-low; + label = "red:power"; + }; + + led_power_green: led@6 { + reg = <6>; + active-low; + label = "green:power"; + default-state = "on"; + }; + + led@7 { + reg = <7>; + active-low; + label = "green:wps"; + }; + + led@8 { + reg = <8>; + active-low; + label = "green:internet"; + }; + + led@10 { + reg = <10>; + active-low; + label = "green:voip"; + }; + + led@12 { + reg = <12>; + active-low; + label = "red:voip"; + }; + + led@14 { + reg = <14>; + active-low; + label = "red:wps"; + }; +}; + +&nflash { + status = "okay"; + + nandcs@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@0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition@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@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@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@0 { + reg = <0>; + active-low; + label = "red:internet"; + }; + + led@1 { + reg = <1>; + active-low; + label = "green:internet"; + }; + + led_power_green: led@8 { + reg = <8>; + active-low; + label = "green:power"; + default-state = "on"; + }; + + led@10 { + reg = <10>; + active-low; + label = "green:adsl"; + }; + + led@11 { + reg = <11>; + active-low; + label = "red:adsl"; + }; + + led@12 { + reg = <12>; + active-low; + label = "green:phone"; + }; + + led@13 { + reg = <13>; + active-low; + label = "green:wps"; + }; + + led@14 { + reg = <14>; + active-low; + label = "green:wifi"; + }; + + led@15 { + reg = <15>; + active-low; + label = "green:usb"; + }; + + led@17 { + /* EPHY0 Spd */ + reg = <17>; + brcm,hardware-controlled; + }; +}; + +&nflash { + status = "okay"; + + nandcs@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@0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition@20000 { + label = "mmap"; + reg = <0x0020000 0x00a0000>; + read-only; + }; + + partition@c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; + read-only; + }; + + partition@200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; + read-only; + }; + + partition@340000 { + label = "serial"; + reg = <0x0340000 0x00a0000>; + read-only; + }; + + partition@3e0000 { + label = "protect"; + reg = <0x03e0000 0x0140000>; + read-only; + }; + + partition@6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; + }; + + partition@6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; + }; + + partition@520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; + }; + + partition@6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; + read-only; + }; + + partition@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@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@28 { + label = "green:phone"; + gpios = <&pinctrl 28 1>; + }; + + led@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@3 { + reg = <3>; + active-low; + label = "green:internet"; + }; + + led@5 { + reg = <5>; + active-low; + label = "green:wifi"; + }; +}; + +&nflash { + status = "okay"; + + nandcs@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@0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition@20000 { + compatible = "brcm,wfi"; + label = "wfi"; + reg = <0x0020000 0x7d80000>; + }; + + partition@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
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. Signed-off-by: Daniel González Cabanelas <dgcbueu@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