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

Chen-Yu Tsai wens at kernel.org
Wed Feb 5 05:01:13 CET 2020


On Fri, Jan 24, 2020 at 4:32 PM Chen-Yu Tsai <wens at kernel.org> wrote:
>
> On Fri, Jan 24, 2020 at 2:24 PM Jagan Teki <jagan at amarulasolutions.com> wrote:
> >
> > 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
>
> That's still including all the SPI stuff for boards that don't need
> it though. And the # of boards that don't need SPI far outnumber the
> ones that do. 18 dts files have references to SPI, and only 7 of them
> have some peripheral sub-node defined. We have roughly 160 boards in
> total.
>
> I think it makes more sense to not enable SPI by default.
>
> On the other hand, we could probably have a few options default to y
> if SPI is enabled, such as DM_SPI, DM_SPI_FLASH, and SPL_SPI_SUNXI.
>
> But could we get these two patches merged first, and do the cleanup
> as a follow-up series during -rc?

So I looked around, and it seems most of the boards that do have SPI
flash on board only enable SPL_SPI_SUNXI, and not SPI/DM_SPI/DM_SPI_FLASH.
This includes some of the Orange Pi boards, and Pine64 LTS.

I wonder why that is?

ChenYu


More information about the U-Boot mailing list