u-boot/board/freescale/ls1021aiot
Masahiro Yamada b75d8dc564 treewide: convert bd_t to struct bd_info by coccinelle
The Linux coding style guide (Documentation/process/coding-style.rst)
clearly says:

  It's a **mistake** to use typedef for structures and pointers.

Besides, using typedef for structures is annoying when you try to make
headers self-contained.

Let's say you have the following function declaration in a header:

  void foo(bd_t *bd);

This is not self-contained since bd_t is not defined.

To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h>

  #include <asm/u-boot.h>
  void foo(bd_t *bd);

Then, the include direcective pulls in more bloat needlessly.

If you use 'struct bd_info' instead, it is enough to put a forward
declaration as follows:

  struct bd_info;
  void foo(struct bd_info *bd);

Right, typedef'ing bd_t is a mistake.

I used coccinelle to generate this commit.

The semantic patch that makes this change is as follows:

  <smpl>
  @@
  typedef bd_t;
  @@
  -bd_t
  +struct bd_info
  </smpl>

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-07-17 09:30:13 -04:00
..
dcu.c video: fsl_dcu_fb: refactor init functions 2019-07-29 00:08:49 +02:00
Kconfig NXP: Introduce board/freescale/common/Kconfig and migrate CHAIN_OF_TRUST 2017-01-24 10:33:59 -05:00
ls102xa_pbi.cfg armv7: Add support of ls1021a-iot board 2016-11-21 09:20:32 -08:00
ls102xa_rcw_sd.cfg armv7: Add support of ls1021a-iot board 2016-11-21 09:20:32 -08:00
ls1021aiot.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
MAINTAINERS armv7: Add support of ls1021a-iot board 2016-11-21 09:20:32 -08:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
psci.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README armv7: Add support of ls1021a-iot board 2016-11-21 09:20:32 -08:00

Overview
--------
The LS1021A-IOT is a Freescale reference board that hosts
the LS1021A SoC.

LS1021AIOT board Overview
-------------------------
 - DDR Controller
	- Supports 1GB un-buffered DDR3L SDRAM discrete
	devices(32-bit bus) with 4 bit ECC
	- DDR power supplies 1.35V to all devices with
	automatic tracking of VTT
	- Soldered DDR chip
	- Supprot one fixed speed
 - Ethernet
	- Two on-board SGMII 10/100/1G ethernet ports
	- One Gbit Etherent RGMII interface to 4-ports switch
	with 4x 10/100/1000 RJ145 ports
 - CPLD
	- 8-bit registers in CPLD for system configuration
	- connected to IFC_AD[0:7]
 - Power Supplies
	- 12V@5A DC
 - SDHC
	- SDHC port connects directly to a full 8-bit SD/MMC slot
	- Support for SDIO devices
 - USB
	- Two on-board USB 3.0
	- One on-board USB k22
 - PCIe
	- Two MiniPCIe Solts
 - SATA
	- Support SATA Connector
 - AUDIO
	- AUDIO in and out
 - I/O Expansion
	- Arduino Shield Connector
	- Port0 - CAN/GPIO/Flextimer
	- Port1 - GPIO/CPLD Expansion
	- Port2 - SPI/I2C/UART

Memory map
-----------
The addresses in brackets are physical addresses.

Start Address	End Address		Description			Size
0x00_0100_0000	0x00_0FFF_FFFF	CCSRBAR				240MB
0x00_4000_0000	0x00_43FF_FFFF	QSPI(Chip select 0)	64MB
0x00_4400_0000	0x00_47FF_FFFF	QSPI(Chip select 1)	64MB
0x00_6000_0000	0x00_6000_FFFF	CPLD				64K
0x00_8000_0000	0x00_BFFF_FFFF	DDR					1GB

Boot description
-----------------
LS1021A-IOT support two ways of boot:
Qspi boot and SD boot
The board doesn't support boot from another
source without changing any switch/jumper.