.. 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.
