mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-13 00:03:26 +09:00
98 lines
3.9 KiB
ReStructuredText
98 lines
3.9 KiB
ReStructuredText
![]() |
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
LS1021A-TSN Board Overview
|
||
|
==========================
|
||
|
|
||
|
- 1GB DDR3 at 800 MHz
|
||
|
- Spansion/Cypress 64 MB (Rev. A) / 32 MB (Rev. B and C) QSPI NOR flash
|
||
|
- Ethernet
|
||
|
- 2 SGMII 10/100/1G Ethernet ports (Atheros AR8031)
|
||
|
- One SJA1105T switch with 4 Ethernet ports (Broadcom BCM5464R)
|
||
|
- One internal RGMII port connected to the switch
|
||
|
- SDHC
|
||
|
- microSDHC/SDXC connector
|
||
|
- Other I/O
|
||
|
- One Serial port
|
||
|
- Arduino and expansion headers
|
||
|
- mPCIE slot
|
||
|
- SATA port
|
||
|
- USB3.0 port
|
||
|
|
||
|
LS1021A Memory map
|
||
|
==================
|
||
|
|
||
|
The addresses in brackets are physical addresses.
|
||
|
|
||
|
============== ============== ============================== =======
|
||
|
Start Address End Address Description Size
|
||
|
============== ============== ============================== =======
|
||
|
0x00_0000_0000 0x00_000F_FFFF Secure Boot ROM 1MB
|
||
|
0x00_0100_0000 0x00_0FFF_FFFF CCSRBAR 240MB
|
||
|
0x00_1000_0000 0x00_1000_FFFF OCRAM0 64KB
|
||
|
0x00_1001_0000 0x00_1001_FFFF OCRAM1 64KB
|
||
|
0x00_2000_0000 0x00_20FF_FFFF DCSR 16MB
|
||
|
0x00_4000_0000 0x00_5FFF_FFFF QSPI 512MB
|
||
|
0x00_6000_0000 0x00_67FF_FFFF IFC - NOR Flash 128MB
|
||
|
0x00_8000_0000 0x00_FFFF_FFFF DRAM1 2GB
|
||
|
============== ============== ============================== =======
|
||
|
|
||
|
Compiling and flashing
|
||
|
======================
|
||
|
|
||
|
The LS1021A-TSN board comes along with a microSD card with OpenIL U-Boot that
|
||
|
can be used to update its internal QSPI flash (which is empty out of the
|
||
|
factory).
|
||
|
|
||
|
To compile and flash an SD card image::
|
||
|
|
||
|
make ls1021atsn_sdcard_defconfig && make -j 8 && sudo cp u-boot-with-spl-pbl.bin /srv/tftpboot/
|
||
|
=> tftp 0x82000000 u-boot-with-spl-pbl.bin && mmc rescan && mmc erase 8 0x1100 && mmc write 0x82000000 8 0x1100
|
||
|
|
||
|
For the QSPI flash, first obtain the Reset Configuration Word binary for
|
||
|
bootimg from the QSPI flash from the rcw project
|
||
|
(https://source.codeaurora.org/external/qoriq/qoriq-components/rcw)::
|
||
|
|
||
|
make -j 8 && sudo cp ls1021atsn/SSR_PNS_30/rcw_1200_qspiboot.bin.swapped /srv/tftpboot/
|
||
|
|
||
|
The above RCW binary takes care of swapping the QSPI AMBA memory, so that the
|
||
|
U-Boot binary does not need to be swapped when flashing it.
|
||
|
|
||
|
To compile and flash a U-Boot image for QSPI::
|
||
|
|
||
|
make ls1021atsn_qspi_defconfig && make -j 8 && sudo cp u-boot.bin /srv/tftpboot/
|
||
|
|
||
|
Then optionally create a custom uboot-env.txt file (although the default
|
||
|
environment already supports distro boot) and convert it to binary format::
|
||
|
|
||
|
mkenvimage -s 2M -o /srv/tftpboot/uboot-env.bin uboot-env.txt
|
||
|
|
||
|
To program the QSPI flash with the images::
|
||
|
|
||
|
=> tftp 0x82000000 rcw_1200_qspiboot.bin.swapped && sf probe && sf erase 0x0 +${filesize} && sf write 0x82000000 0x0 ${filesize}
|
||
|
=> tftp 0x82000000 u-boot.bin && sf probe && sf erase 0x100000 +${filesize} && sf write 0x82000000 0x100000 ${filesize}
|
||
|
=> tftp 0x82000000 uboot-env.bin && sf probe && sf erase 0x400000 +${filesize} && sf write 0x82000000 0x400000 ${filesize}
|
||
|
|
||
|
The boards contain an AT24 I2C EEPROM that is supposed to hold the MAC
|
||
|
addresses of the Ethernet interfaces, however the EEPROM comes blank out of
|
||
|
the factory, and the MAC addresses are printed on a label on the bottom of
|
||
|
the boards.
|
||
|
|
||
|
To write the MAC addresses to the EEPROM, the following needs to be done once::
|
||
|
|
||
|
=> mac id
|
||
|
=> mac 0 00:1F:7B:xx:xx:xx
|
||
|
=> mac 1 00:1F:7B:xx:xx:xx
|
||
|
=> mac 2 00:1F:7B:xx:xx:xx
|
||
|
=> mac save
|
||
|
|
||
|
The switch ports do not have their own MAC address - they inherit it from the
|
||
|
master enet2 port.
|
||
|
|
||
|
Known issues and limitations
|
||
|
============================
|
||
|
|
||
|
- The 4 SJA1105 switch ports are not functional in U-Boot for now.
|
||
|
- Since the IFC pins are multiplexed with QSPI on LS1021A, currently there is
|
||
|
no way to talk to the CPLD for e.g. running the "qixis_reset" command, or
|
||
|
turning the fan on, etc.
|