[PATCH 2/3] sunxi: Add Libre Computer ALL-H3-IT H5 board

Jagan Teki jagan at amarulasolutions.com
Fri Jan 24 07:23:56 CET 2020


On Tue, Jan 21, 2020 at 1:11 PM Chen-Yu Tsai <wens at kernel.org> wrote:
>
> On Tue, Jan 21, 2020 at 3:29 PM Jagan Teki <jagan at amarulasolutions.com> wrote:
> >
> > On Sun, Jan 12, 2020 at 9:06 PM Chen-Yu Tsai <wens at kernel.org> wrote:
> > >
> > > From: Chen-Yu Tsai <wens at csie.org>
> > >
> > > The Libre Computer ALL-H3-IT board is a small single board computer that
> > > is roughly the same size as the Raspberry Pi Zero, or around 20% smaller
> > > than a credit card.
> > >
> > > The board features:
> > >
> > >   - H2, H3, or H5 SoC from Allwinner
> > >   - 2 DDR3 DRAM chips
> > >   - Realtek RTL8821CU based WiFi module
> > >   - 128 Mbit SPI-NOR flash
> > >   - micro-SD card slot
> > >   - micro HDMI video output
> > >   - FPC connector for camera sensor module
> > >   - generic Raspberri-Pi style 40 pin GPIO header
> > >   - additional pin headers for extra USB host ports, ananlog audio and
> > >     IR receiver
> > >
> > > Only H5 variant test samples were made available, but the vendor does
> > > have plans to include at least an H3 variant. Thus the device tree is
> > > split much like the ALL-H3-CC, with a common dtsi file for the board
> > > design, and separate dts files including the common board file and the
> > > SoC dtsi file. The other variants will be added as they are made
> > > available.
> > >
> > > The device tree was synced over from the Linux kernel, along with other
> > > H3/H5 changes, in a previous patch. Thus only the defconfig and an entry
> > > to the MAINTAINERS file is added.
> > >
> > > Signed-off-by: Chen-Yu Tsai <wens at csie.org>
> > > ---
> > >  board/sunxi/MAINTAINERS                  |  5 +++++
> > >  configs/libretech_all_h3_it_h5_defconfig | 22 ++++++++++++++++++++++
> > >  2 files changed, 27 insertions(+)
> > >  create mode 100644 configs/libretech_all_h3_it_h5_defconfig
> > >
> > > diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
> > > index 4a89bb0e7b7e..ed620ade766c 100644
> > > --- a/board/sunxi/MAINTAINERS
> > > +++ b/board/sunxi/MAINTAINERS
> > > @@ -318,6 +318,11 @@ F: configs/libretech_all_h3_cc_h2_plus_defconfig
> > >  F:     configs/libretech_all_h3_cc_h3_defconfig
> > >  F:     configs/libretech_all_h3_cc_h5_defconfig
> > >
> > > +LIBRETECH ALL-H3-IT BOARDS
> > > +M:     Chen-Yu Tsai <wens at csie.org>
> > > +S:     Maintained
> > > +F:     configs/libretech_all_h3_it_h5_defconfig
> > > +
> > >  NANOPI-M1 BOARD
> > >  M:     Mylène Josserand <mylene.josserand at free-electrons.com>
> > >  S:     Maintained
> > > diff --git a/configs/libretech_all_h3_it_h5_defconfig b/configs/libretech_all_h3_it_h5_defconfig
> > > new file mode 100644
> > > index 000000000000..df13f4a0d307
> > > --- /dev/null
> > > +++ b/configs/libretech_all_h3_it_h5_defconfig
> > > @@ -0,0 +1,22 @@
> > > +CONFIG_ARM=y
> > > +CONFIG_ARCH_SUNXI=y
> > > +CONFIG_NR_DRAM_BANKS=1
> > > +CONFIG_SPL=y
> > > +CONFIG_MACH_SUN50I_H5=y
> > > +CONFIG_DRAM_CLK=672
> > > +CONFIG_MMC_SUNXI_SLOT_EXTRA=2
> > > +CONFIG_SPL_SPI_SUNXI=y
> > > +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> > > +CONFIG_USE_PREBOOT=y
> > > +CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> > > +# CONFIG_SPL_DOS_PARTITION is not set
> > > +# CONFIG_SPL_EFI_PARTITION is not set
> > > +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-libretech-all-h3-it"
> > > +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> > > +CONFIG_DM_SPI_FLASH=y
> > > +CONFIG_SPI_FLASH_XMC=y
> > > +CONFIG_SPI=y
> > > +CONFIG_DM_SPI=y
> >
> > We just enable SPI_FLASH_XMC and rest we can add it via arch Kconfig?
> > like A64 does.
>
> Are you referring to the rest of the SPI stuff?

Yes.

>
> Only the more recent boards have SPI flash on board, so if we enable
> it by default, we might end up with a whole bunch of boards disabling
> it because they don't actually have SPI flash, and maybe don't want
> the overhead.

How about select the generic configs like DM_SPI, SPI based on the on
board flash type. like add CONFIG_SPI_FLASH_XMC on defconfig and that
would enable the required options. and boards that won't enable
SPI_FLASH_XMC or any flash type can simply untouch SPI configs items.
May be have SPI_FLASH_XMC

>
> The rest of the generic stuff could be moved to Kconfig. DRAM_CLK
> is probably not doable as the values vary a lot. NR_DRAM_BANKS yes.
> SYS_SPI_U_BOOT_OFFS was already done I believe. Not sure about
> some of the rest of the SPL settings.

Except SYS_SPI_U_BOOT_OFFS, rest are okay. Use [1] it has a change
that moved SYS_SPI_U_BOOT_OFFS to Kconfig.

[1] https://gitlab.denx.de/u-boot/custodians/u-boot-spi/commits/master


More information about the U-Boot mailing list