Hi,

Please Cc me for brcm63xx patches, this makes it easier for me to
apply them (especially if they get mangled by patchwork).

On 12 February 2017 at 14:48, Anthony Sepa via Lede-dev
<lede-dev@lists.infradead.org> wrote:
> The sender domain has a DMARC Reject/Quarantine policy which disallows
> sending mailing list messages using the original "From" header.
>
> To mitigate this problem, the original message has been wrapped
> automatically by the mailing list software.
>
> ---------- Forwarded message ----------
> From: Anthony Sepa <anthonys...@yahoo.ca>
> To: lede-dev@lists.infradead.org
> Cc: Anthony Sepa <anthonys...@yahoo.ca>
> Date: Sun, 12 Feb 2017 09:45:06 -0400
> Subject: [PATCH] This patch adds support for the Actiontec R1000H gateway to 
> the brcm63xx targets.

Please use "[PATCH] brcm63xx: <foo>" as the subject.

> SOC: Broadcom BCM6368 (2 * Broadcom BMIPS4350 V3.1 / 400 MHz)
> Flash size: 32MB (split 16/16 dual boot)

You usually can use all 32MB and force it to not dual boot by giving
it large enough images (>= 16MB).

> RAM size: 64MB
> Wireless: BCM432x 802.11a/b/g/n(pci)
> Ethernet: Broadcom BCM53115
> USB: 1 x USB 2.0
>
> Known issues:
>  - Unable to detect 53115 switch. This appear to be a problem with
> probing for the PHY using MDIO and results in error 5. Doesn't seem to
> be a problem with the configuration, and could use someone with
> experience to have a look at it.

Currently MDIO connected switches/devices aren't supported yet.

>  - Uses the b43 driver as using the OpenWRT/LEDE broadcom-wl driver
> fails to load the firmware for the 4322, so 802.11n is not supported.

You probably just need to supply an sprom, see how other boards use
.use_fallback_sprom = 1 etc.

> The factory build uses a newer broadcom-wl driver.
>  - No support for the cable port
>
> More info on the device and the research can be found at:
> http://www.actiontec.com/212.html
>
> Same FCC ID as:
> https://wikidevi.com/wiki/Actiontec_V1000H_(Telus)
>
> Signed-off-by: Anthony Sepa <anthonys...@yahoo.ca>
> ---
>  target/linux/brcm63xx/dts/r1000h.dts               | 89 
> ++++++++++++++++++++++
>  target/linux/brcm63xx/image/bcm63xx.mk             | 16 ++++
>  .../brcm63xx/patches-4.4/578-board_R1000H.patch    | 63 +++++++++++++++
>  3 files changed, 168 insertions(+)
>  create mode 100644 target/linux/brcm63xx/dts/r1000h.dts
>  create mode 100644 target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch
>
> diff --git a/target/linux/brcm63xx/dts/r1000h.dts 
> b/target/linux/brcm63xx/dts/r1000h.dts
> new file mode 100644
> index 0000000..a3a8073
> --- /dev/null
> +++ b/target/linux/brcm63xx/dts/r1000h.dts
> @@ -0,0 +1,89 @@
> +/dts-v1/;
> +
> +#include "bcm6368.dtsi"
> +
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +       model = "Actiontec R1000H";
> +       compatible = "actiontec,r1000h", "brcm,bcm6368";
> +
> +       chosen {
> +               bootargs = "root=/dev/mtdblock2 rootfstype=squashfs 
> ubi.mtd=ubi_dev noinitrd console=ttyS0,115200";

What's up with the ubi partiton? Where does this come from?

> +       };
> +
> +       gpio-keys-polled {
> +               compatible = "gpio-keys-polled";
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +               poll-interval = <20>;
> +               debounce-interval = <60>;
> +
> +               reset {
> +                       label = "reset";
> +                       gpios = <&gpio1 2 1>;
> +                       linux,code = <KEY_RESTART>;
> +               };

Please add an empty line between nodes (I know that many boards don't,
I plan to fix it eventually).

> +               wps {
> +                       label = "wps";
> +                       gpios = <&gpio1 3 1>;
> +                       linux,code = <KEY_WPS_BUTTON>;
> +               };
> +       };
> +
> +       gpio-leds {
> +               compatible = "gpio-leds";
> +
> +               inet_green {
> +                       label = "R1000H:green:inet";
> +                       gpios = <&gpio0 5 0>;
> +               };

Same here etc.

> +               usb_green {
> +                       label = "R1000H:green:usb";
> +                       gpios = <&gpio0 21 1>;
> +               };
> +               power_green {
> +                       label = "R1000H:green:power";
> +                       gpios = <&gpio0 22 0>;
> +                       default-state = "on";
> +               };
> +               wps_green {
> +                       label = "R1000H:green:wps";
> +                       gpios = <&gpio0 23 1>;
> +               };
> +               power_red {
> +                       label = "R1000H:red:power";
> +                       gpios = <&gpio0 24 0>;
> +               };
> +               wps_red {
> +                       label = "R1000H:red:wps";
> +                       gpios = <&gpio0 30 1>;
> +               };
> +               inet_red {
> +                       label = "R1000H:red:inet";
> +                       gpios = <&gpio0 31 0>;
> +               };
> +       };
> +};
> +
> +&pflash {
> +       status = "ok";
> +
> +       linux,part-probe = "bcm63xxpart";
> +
> +       CFE@0 {
> +               reg = <0x000000 0x020000>;

Please make this partition read-only.

> +       };
> +       linux@20000 {
> +               reg = <0x020000 0x07e0000>;
> +       };
> +       ubi_dev@800000 {
> +               reg = <0x0800000 0x0800000>;
> +       };

Same again, what's up with the ubi?

> +       factory@1000000 {
> +               reg = <0x1000000 0x0fe0000>;
> +       };

So this is the second image? As mentioned above, you should be able to
use the full flash, unless actiontec did something strange.

> +       nvram@1fe0000 {
> +               reg = <0x1fe0000 0x20000>;
> +       };
> +};
> diff --git a/target/linux/brcm63xx/image/bcm63xx.mk 
> b/target/linux/brcm63xx/image/bcm63xx.mk
> index 0749c29..947259b 100644
> --- a/target/linux/brcm63xx/image/bcm63xx.mk
> +++ b/target/linux/brcm63xx/image/bcm63xx.mk
> @@ -1,3 +1,4 @@
> +
>  #
>  # BCM33XX/BCM63XX Profiles
>  #
> @@ -174,6 +175,21 @@ define Device/96368MVWG-generic
>  endef
>  TARGET_DEVICES += 96368MVWG-generic
>
> +### Actiontec ###
> +define Device/R1000H
> +  $(Device/bcm63xx)
> +  FILESYSTEMS := squashfs
> +  DEVICE_TITLE := Actiontec R1000H
> +  DEVICE_DTS := r1000h
> +  CFE_BOARD_ID := 96368MVWG
> +  CFE_CHIP_ID := 6368
> +  FLASH_MB := 8

In your patch notes you say, 32, here you say 8. So how much is it?

> +  IMAGE_OFFSET := 0x20000
> +  DEVICE_PACKAGES := \
> +    $(USB2_PACKAGES)
> +endef
> +TARGET_DEVICES += R1000H
> +
>  ### ADB ###
>  define Device/A4001N
>    $(Device/bcm63xx)
> diff --git a/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch 
> b/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch
> new file mode 100644
> index 0000000..c9c919a
> --- /dev/null
> +++ b/target/linux/brcm63xx/patches-4.4/578-board_R1000H.patch
> @@ -0,0 +1,63 @@
> +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
> ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
> +@@ -2200,6 +2200,44 @@
> +               .type                           = SPROM_BCM4318,
> +               .pci_bus                        = 0,
> +               .pci_dev                        = 1,
> ++      },
> ++};
> ++
> ++static struct board_info __initdata board_R1000H = {
> ++      .name                           = "R1000H",
> ++      .expected_cpu_id                = 0x6368,
> ++
> ++      .has_uart0                      = 1,
> ++      .has_uart1                      = 1,
> ++      .has_pci                        = 1,
> ++      .has_ohci0                      = 1,
> ++      .has_ehci0                      = 1,
> ++      .has_usbd                       = 1,
> ++      .usbd = {
> ++              .use_fullspeed          = 0,
> ++              .port_no                = 0,
> ++      },

I don't see any usb device port. Did I miss it? If not, please drop
the .has_usbd etc.

> ++
> ++      .has_enetsw                     = 1,
> ++      .enetsw = {
> ++              .used_ports = {
> ++                      [4] = {
> ++                              .used  = 1,
> ++                              .phy_id  = 0xff,
> ++                              .bypass_link = 1,
> ++                              .force_speed = 1000,
> ++                              .force_duplex_full = 1,
> ++                              .name  = "RGMII",
> ++                      },
> ++                      [5] = {
> ++                              .used  = 1,
> ++                              .phy_id  = 0xff,
> ++                              .bypass_link = 1,
> ++                              .force_speed = 1000,
> ++                              .force_duplex_full = 1,
> ++                              .name  = "RGMII",
> ++                      },

Does it really use both ports. Is one the wan port? is it the cable
port? Anyways, you should give them unique names.

> ++              },
> +       },
> + };
> +
> +@@ -2701,6 +2739,7 @@
> +       &board_HG622,
> +       &board_HG655b,
> +       &board_P870HW51A_V2,
> ++      &board_R1000H,
> +       &board_VH4032N,
> +       &board_VR3025u,
> +       &board_VR3025un,
> +@@ -2802,6 +2841,7 @@
> +       { .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
> + #endif
> + #ifdef CONFIG_BCM63XX_CPU_6368
> ++      { .compatible = "actiontec,r1000h", .data = &board_R1000H, },
> +       { .compatible = "adb,av4202n", .data = &board_AV4202N, },
> +       { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
> +       { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },

I don't see you modifying
target/linux/brcm63xx/base-files/etc/board.d/02_network, please add it
at the appropriate place.

You also might want to add it to 01_leds for its usb-led.


Regards
Jonas

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to