mirror of
https://github.com/smaeul/u-boot.git
synced 2025-11-06 15:00:22 +00:00
Historically, the reset_cpu() function had an `addr` parameter which was
meant to pass in an address of the reset vector location, where the CPU
should reset to. This feature is no longer used anywhere in U-Boot as
all reset_cpu() implementations now ignore the passed value. Generic
code has been added which always calls reset_cpu() with `0` which means
this feature can no longer be used easily anyway.
Over time, many implementations seem to have "misunderstood" the
existence of this parameter as a way to customize/parameterize the reset
(e.g. COLD vs WARM resets). As this is not properly supported, the
code will almost always not do what it is intended to (because all
call-sites just call reset_cpu() with 0).
To avoid confusion and to clean up the codebase from unused left-overs
of the past, remove the `addr` parameter entirely. Code which intends
to support different kinds of resets should be rewritten as a sysreset
driver instead.
This transformation was done with the following coccinelle patch:
@@
expression argvalue;
@@
- reset_cpu(argvalue)
+ reset_cpu()
@@
identifier argname;
type argtype;
@@
- reset_cpu(argtype argname)
+ reset_cpu(void)
{ ... }
Signed-off-by: Harald Seiler <hws@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Summary
=======
This document covers various features of the 'am335x_shc' build.
Hardware
========
AM335X based board:
I2C: ready
DRAM: 512 MiB
Enabling the D-Cache
MMC: OMAP SD/MMC: 0 @ 26 MHz, OMAP SD/MMC: 1 @ 26 MHz
Net: cpsw
Following boot options are possible:
2 Jumpers:
Jumper 1 Jumper 2 Bootmode
off off eMMC boot
on off SD boot
off on Net boot
Compiling
=========
$ make am335x_shc_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
$ make -s all
-> now you have the MLO and the u-boot.img file, you can put
on your SD card or eMMC.
Configuring
===========
There are a lot of board versions and boot configurations, which
can be selected through "make menuconfig"
ARM architecture --->
enable different boot versions for the shc board (enable eMMC) --->
(X) enable eMMC
( ) enable ICT
( ) enable NETBOOT
( ) enable SDBOOT
enable different board versions for the shc board (C3 Sample board version) --->
( ) B Sample board version
( ) B2 Sample board version
( ) C Sample board version
( ) C2 Sample board version
(X) C3 Sample board version
( ) Series board version
Netboot
=======
- see also doc/SPL/README.am335x-network
- set the jumper into netboot mode
- compile the U-boot sources with:
make am335x_shc_netboot_defconfig
make all
- copy the images into your tftp boot directory
cp spl/u-boot-spl.bin /tftpboot/.../u-boot-spl-restore.bin
cp u-boot.img /tftpboot/.../u-boot-restore.img
- power on the board, and you should get something like this:
U-Boot SPL 2016.05-rc2-00016-gf23b960-dirty (Apr 26 2016 - 09:02:18)
#### NETBOOT ####
SHC
MPU reference clock runs at 6 MHz
Setting MPU clock to 594 MHz
Enabling Spread Spectrum of 18 permille for MPU
Trying to boot from net
Using default environment
<ethaddr> not set. Validating first E-fuse MAC
cpsw
cpsw Waiting for PHY auto negotiation to complete... done
link up on port 0, speed 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.20.91 (258 ms)
Using cpsw device
TFTP from server 192.168.1.1; our IP address is 192.168.20.91
Filename 'shc/u-boot-restore.img'.
Load address: 0x807fffc0
Loading: ##################
1.2 MiB/s
done
Bytes transferred = 262480 (40150 hex)
U-Boot 2016.05-rc2-00016-gf23b960-dirty (Apr 26 2016 - 09:02:18 +0200)
Watchdog enabled
I2C: ready
DRAM: 512 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment
Net: cpsw
switch to partitions #0, OK