mbox series

[v4,0/5] Add Broadcom Northstar basic support

Message ID 20230407134008.1939717-1-linus.walleij@linaro.org
Headers show
Series Add Broadcom Northstar basic support | expand

Message

Linus Walleij April 7, 2023, 1:40 p.m. UTC
This adds the device trees and minimal code needed to run
U-Boot on Broadcom Northstar SoCs.

This is needed to properly boot the D-Link DIR-890L router
as it refuse to directly boot compressed kernels bigger
than 2MB, and well our compressed kernel is bigger than
2MB so let's put in U-Boot.

While it is a bit tailored to this usecase (it can probably
also be used with the DIR-885L without modifications) it
forms a base that can be used to support more Northstar
boards.

I have this working with DIR-890L and OpenWrt:
https://dflund.se/~triad/krad/dlink-dir-890l/

ChangeLog v3->v4:
- Rewrote the algorithm detection patch to be more
  careful so as to fix Tom's regression.
ChangeLog v1->v3:
- Bundle with the iproc NAND and nand base pacthes
  as the iproc patch is a prerequisite.
- Jump from v1->v3 as the other patches was at version
  v3.

It is a bit of a mystery to me who can merge this patches...
BRCM custodian?

Linus Walleij (5):
  nand: brcmnand: add iproc support
  mtd: rawnand: nand_base: Handle algorithm selection
  arm: dts: Import device tree for Broadcom Northstar
  arm: Add support for the Broadcom Northstar SoCs
  board: Add new Broadcom Northstar board

 arch/arm/Kconfig                           |  22 +-
 arch/arm/dts/Makefile                      |   2 +
 arch/arm/dts/bcm5301x.dtsi                 | 581 +++++++++++++++++++++
 arch/arm/dts/ns-board.dts                  |  57 ++
 board/broadcom/bcmns/Kconfig               |  12 +
 board/broadcom/bcmns/MAINTAINERS           |   6 +
 board/broadcom/bcmns/Makefile              |   2 +
 board/broadcom/bcmns/ns.c                  |  60 +++
 configs/bcmns_defconfig                    |  41 ++
 drivers/mtd/nand/raw/Kconfig               |   7 +
 drivers/mtd/nand/raw/brcmnand/Makefile     |   1 +
 drivers/mtd/nand/raw/brcmnand/iproc_nand.c | 148 ++++++
 drivers/mtd/nand/raw/nand_base.c           |  29 +-
 include/configs/bcmns.h                    |  49 ++
 include/dt-bindings/clock/bcm-nsp.h        |  51 ++
 15 files changed, 1063 insertions(+), 5 deletions(-)
 create mode 100644 arch/arm/dts/bcm5301x.dtsi
 create mode 100644 arch/arm/dts/ns-board.dts
 create mode 100644 board/broadcom/bcmns/Kconfig
 create mode 100644 board/broadcom/bcmns/MAINTAINERS
 create mode 100644 board/broadcom/bcmns/Makefile
 create mode 100644 board/broadcom/bcmns/ns.c
 create mode 100644 configs/bcmns_defconfig
 create mode 100644 drivers/mtd/nand/raw/brcmnand/iproc_nand.c
 create mode 100644 include/configs/bcmns.h
 create mode 100644 include/dt-bindings/clock/bcm-nsp.h

Comments

Heinrich Schuchardt April 13, 2023, 7:49 a.m. UTC | #1
On 4/7/23 15:40, Linus Walleij wrote:
> This adds the device trees and minimal code needed to run
> U-Boot on Broadcom Northstar SoCs.
>
> This is needed to properly boot the D-Link DIR-890L router
> as it refuse to directly boot compressed kernels bigger
> than 2MB, and well our compressed kernel is bigger than
> 2MB so let's put in U-Boot.
>
> While it is a bit tailored to this usecase (it can probably
> also be used with the DIR-885L without modifications) it
> forms a base that can be used to support more Northstar
> boards.
>
> I have this working with DIR-890L and OpenWrt:
> https://dflund.se/~triad/krad/dlink-dir-890l/
>
> ChangeLog v3->v4:
> - Rewrote the algorithm detection patch to be more
>    careful so as to fix Tom's regression.
> ChangeLog v1->v3:
> - Bundle with the iproc NAND and nand base pacthes
>    as the iproc patch is a prerequisite.
> - Jump from v1->v3 as the other patches was at version
>    v3.
>
> It is a bit of a mystery to me who can merge this patches...
> BRCM custodian?

Hello Linus,

Could you, please, add documentation describing installation under
doc/board/broadcom/.

Best regards

Heinrich

>
> Linus Walleij (5):
>    nand: brcmnand: add iproc support
>    mtd: rawnand: nand_base: Handle algorithm selection
>    arm: dts: Import device tree for Broadcom Northstar
>    arm: Add support for the Broadcom Northstar SoCs
>    board: Add new Broadcom Northstar board
>
>   arch/arm/Kconfig                           |  22 +-
>   arch/arm/dts/Makefile                      |   2 +
>   arch/arm/dts/bcm5301x.dtsi                 | 581 +++++++++++++++++++++
>   arch/arm/dts/ns-board.dts                  |  57 ++
>   board/broadcom/bcmns/Kconfig               |  12 +
>   board/broadcom/bcmns/MAINTAINERS           |   6 +
>   board/broadcom/bcmns/Makefile              |   2 +
>   board/broadcom/bcmns/ns.c                  |  60 +++
>   configs/bcmns_defconfig                    |  41 ++
>   drivers/mtd/nand/raw/Kconfig               |   7 +
>   drivers/mtd/nand/raw/brcmnand/Makefile     |   1 +
>   drivers/mtd/nand/raw/brcmnand/iproc_nand.c | 148 ++++++
>   drivers/mtd/nand/raw/nand_base.c           |  29 +-
>   include/configs/bcmns.h                    |  49 ++
>   include/dt-bindings/clock/bcm-nsp.h        |  51 ++
>   15 files changed, 1063 insertions(+), 5 deletions(-)
>   create mode 100644 arch/arm/dts/bcm5301x.dtsi
>   create mode 100644 arch/arm/dts/ns-board.dts
>   create mode 100644 board/broadcom/bcmns/Kconfig
>   create mode 100644 board/broadcom/bcmns/MAINTAINERS
>   create mode 100644 board/broadcom/bcmns/Makefile
>   create mode 100644 board/broadcom/bcmns/ns.c
>   create mode 100644 configs/bcmns_defconfig
>   create mode 100644 drivers/mtd/nand/raw/brcmnand/iproc_nand.c
>   create mode 100644 include/configs/bcmns.h
>   create mode 100644 include/dt-bindings/clock/bcm-nsp.h
>