summaryrefslogtreecommitdiff
path: root/board/traverse/ten64/ten64.c
AgeCommit message (Collapse)AuthorFilesLines
2023-08-07board: ten64: add missing error checks for retimer power onMathew McBride1-0/+5
The retimer reset/power on logic was changed in a recent commit, however, it neglected to check if the commands sent to the board microcontroller (to control power to the retimer chip) actually completed. Add return checks for these operations so any failures will be reported to the user. Signed-off-by: Mathew McBride <matt@traverse.com.au> Fixes: 7a041fea2 ("board: traverse: ten64: ensure retimer reset is done on new board revisions")
2023-08-03board: ten64: strip extra u-boot compatibles from FDTMathew McBride1-0/+6
The u-boot version of the LS1088A device tree has an extra compatible (simple-mfd) added to &fsl_mc to facilitate usage with U-Boot's device model. Unfortunately FreeBSD will only match the single "fsl,qoriq-mc" exactly when the node is a "bus" object, so we need to strip out the extra compatible before presenting it to the operating system. Signed-off-by: Mathew McBride <matt@traverse.com.au> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-08-03board: ten64: opt out of fsl_setenv_bootcmdMathew McBride1-0/+9
Our bootcmd is the same regardless of where the SoC loaded it's code from, so we don't want fsl_setenv_bootcmd to do anything. Signed-off-by: Mathew McBride <matt@traverse.com.au> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-08-03board: traverse: ten64: set serial# to be 'label' MACMathew McBride1-0/+14
The GE0 (first Gigabit Ethernet interface) is used as the 'serial number' for the board and appliance. To ensure the 'true' board S/N is available regardless of how the DPAA2 subsystem is configured, use serial# so it is passed in the device tree. Signed-off-by: Mathew McBride <matt@traverse.com.au> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-08-03board: traverse: ten64: fix allocation order of MAC addressesMathew McBride1-2/+2
On Ten64 boards, the "serial number" is the MAC address of the first Gigabit Ethernet interface (labelled GE0 on the appliance), and counted up from there. The previous logic did not take into account U-Boot's ordering of the network interfaces. By setting aliases/ethernetX in the device tree we can ensure the U-Boot 'ethX' is the same as the labelled port order on the unit, as well as the one adopted by Linux. Signed-off-by: Mathew McBride <matt@traverse.com.au>
2023-08-03board: traverse: ten64: init nvme devices in late boot to ensure bootflow ↵Mathew McBride1-0/+7
availability Ensure nvme devices are scanned before reaching the shell, otherwise extra user intervention ("nvme scan") is required before they are visible to bootdev/bootflow. Signed-off-by: Mathew McBride <matt@traverse.com.au> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-08-03board: traverse: ten64: ensure retimer reset is done on new board revisionsMathew McBride1-18/+19
Board revision C (production) and later require the SFP+ retimer to be turned on (or reset) on boot, by way of issuing a command to the board's microcontroller (via I2C). The comparison statement here was incorrect, as the board ID decrements every revision (from 0xFF downwards), so this was matching board RevA,B,C instead of Rev >= C. Another oops that transpired when working on this issue, is that if the board controller is not called (such as CONFIG_TEN64_CONTROLLER=n or earlier board rev), then the retimer udevice was not obtained. So the board version check has to be moved inside board_cycle_retimer (which probes/fetches the retimer device) as well. Signed-off-by: Mathew McBride <matt@traverse.com.au>
2023-08-03board: traverse: ten64: recognize board revision DMathew McBride1-6/+12
Ten64 board revision D is a variant that removes the USB hub and PCIe expander/switch, but is otherwise compatible with the main production "C" version. At the same time, revise the printf specifiers (PCB version "1064-0201%s") to reduce the number of string characters related to the boot printout. Signed-off-by: Mathew McBride <matt@traverse.com.au> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-02-10Correct SPL uses of TEN64_CONTROLLERSimon Glass1-2/+2
This converts 2 usages of this option to the non-SPL form, since there is no SPL_TEN64_CONTROLLER defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL use of RESV_RAMSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_RESV_RAM defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL use of FSL_MC_ENETSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_FSL_MC_ENET defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-10Correct SPL use of FSL_CAAMSimon Glass1-1/+1
This converts 1 usage of this option to the non-SPL form, since there is no SPL_FSL_CAAM defined in Kconfig Signed-off-by: Simon Glass <sjg@chromium.org>
2022-11-10global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespaceTom Rini1-1/+1
Migrate all of COFIG_SYS_FSL* to the CFG_SYS namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-08-10common: Drop display_options.h from common headerSimon Glass1-0/+1
Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-02-01board: traverse: add initial Ten64 supportMathew McBride1-0/+438
The Ten64 is a networking-oriented MiniITX board using the NXP LS1088A SoC. This patch provides the bare minimum to support Ten64 boards under U-Boot for distroboot. Some related drivers have not yet been submitted and this basic support lacks some of the opinionated defaults provided by our firmware distribution. Signed-off-by: Mathew McBride <matt@traverse.com.au> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>