u-boot-brain/board/sbc8641d
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
..
Kconfig kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
MAINTAINERS Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ddr.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
law.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sbc8641d.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00

README

Wind River SBC8641D reference board
===========================

Created 06/14/2007 Joe Hamman
Copyright 2007, Embedded Specialties, Inc.
Copyright 2007 Wind River Systems, Inc.
-----------------------------

1. Building U-Boot
------------------
The SBC8641D code is known to build using ELDK 4.1.

    $ make sbc8641d_config
    Configuring for sbc8641d board...

    $ make


2. Switch and Jumper Settings
-----------------------------
All Jumpers & Switches are in their default positions.  Please refer to
the board documentation for details.  Some settings control CPU voltages
and settings may change with board revisions.

3. Known limitations
--------------------
PCI:
	The PCI command may hang if no boards are present in either slot.

4. Reflashing U-Boot
--------------------
The board has two independent flash devices which can be used for dual
booting, or for U-Boot backup and recovery.  A two pin jumper on the
three pin JP10 determines which device is attached to /CS0 line.

Assuming one device has a functional U-Boot, and the other device has
a recently installed non-functional image, to perform a recovery from
that non-functional image goes essentially as follows:

a) power down the board and jumper JP10 to select the functional image.
b) power on the board and let it get to U-Boot prompt.
c) while on, using static precautions, move JP10 back to the failed image.
d) use "md fff00000" to confirm you are looking at the failed image
e) turn off write protect with "prot off all"
f) get new image, i.e. "tftp 200000 /somepath/u-boot.bin"
g) erase failed image: "erase FFF00000 FFF5FFFF"
h) copy in new image: "cp.b 200000 FFF00000 60000"
i) ensure new image is written: "md fff00000"
k) power cycle the board and confirm new image works.