u-boot/board/freescale/mx28evk
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
..
iomux.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig kconfig: arm: introduce symbol for ARM CPUs 2014-10-29 09:02:09 -04:00
MAINTAINERS MAINTAINERS/mailmap: Update my email address 2016-01-11 11:22:43 -05:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mx28evk.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
README mx28evk: README: Fix location for the generic mxs README 2019-10-08 16:36:36 +02:00

FREESCALE MX28EVK
==================

Supported hardware: MX28EVK rev C and D are supported in U-Boot.

Files of the MX28EVK port
--------------------------

arch/arm/cpu/arm926ejs/mxs/	- The CPU support code for the Freescale i.MX28
arch/arm/include/asm/arch-mxs/	- Header files for the Freescale i.MX28
board/freescale/mx28evk/	- MX28EVK board specific files
include/configs/mx28evk.h	- MX28EVK configuration file

Jumper configuration
---------------------

To boot MX28EVK from an SD card, set the boot mode DIP switches as:

   * Boot Mode Select: 1 0 0 1 (Boot from SD card Slot 0 - U42)
   * JTAG PSWITCH RESET: To the right (reset disabled)
   * Battery Source: Down
   * Wall 5V: Up
   * VDD 5V: To the left (off)
   * Hold Button: Down (off)

To boot MX28EVK from SPI NOR flash, set the boot mode DIP switches as:

   * Boot Mode Select: 0 0 1 0 (Boot from SSP2)
   * JTAG PSWITCH RESET: To the right (reset disabled)
   * Battery Source: Down
   * Wall 5V: Up
   * VDD 5V: To the left (off)
   * Hold Button: Down (off)

Environment Storage
-------------------

There are three targets for mx28evk:

"make mx28evk_config"		- store environment variables into MMC

or

"make mx28evk_nand_config"	- store environment variables into NAND flash

or

"make mx28evk_spi_config"       - store environment variables into SPI NOR flash

Choose the target accordingly.

Note: The mx28evk board does not come with a NAND flash populated from the
factory. It comes with an empty slot (U23), which allows the insertion of a
48-pin TSOP flash device.

mx28evk does not come with SPI NOR flash populated from the factory either.
It is possible to solder a SOIC memory on U49 or use a DIP8 on J89.
To get SPI communication to work R320, R321,R322 and C178 need to be populated.
Look in the schematics for the proper component values.

Follow the instructions from doc/imx/common/mxs.txt to generate a bootable
SD card or to generate a binary to be flashed into SPI NOR.