arm: add support for PDU001
Subsystems (3)
PATCH v3 1/1 arm: add support for PDU001
This patch adds support for the PDU001 board.
---
Changes in v3:
- revert to deprecated SPDX license identifier GPL-2.0+
- maintain alphabetical order in Kconfig files
- move U-Boot specific parts from DTS to new DTSI file to simplify longterm maintenance
Changes in v2:
- use DT to configure the board
- use new single-register pin controller
- use new TPS65910 PMIC driver
- eliminate the need of CONFIG_DM_I2C_COMPAT, i.e. use DM for i2c
- clarify the function of the 'Run LED'
- fix ordering of include files
- replace deprecated SPDX license identifiers
arch/arm/Kconfig | 1 + arch/arm/dts/Makefile | 3 +- arch/arm/dts/am335x-pdu001-u-boot.dtsi | 13 + arch/arm/dts/am335x-pdu001.dts | 604 +++++++++++++++++++++++++++++++++ arch/arm/mach-omap2/am33xx/Kconfig | 9 + board/eets/pdu001/Kconfig | 66 ++++ board/eets/pdu001/MAINTAINERS | 6 + board/eets/pdu001/Makefile | 13 + board/eets/pdu001/README | 35 ++ board/eets/pdu001/board.c | 276 +++++++++++++++ board/eets/pdu001/board.h | 38 +++ board/eets/pdu001/mux.c | 120 +++++++ configs/am335x_pdu001_defconfig | 55 +++ include/configs/pdu001.h | 87 +++++ 14 files changed, 1325 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/am335x-pdu001-u-boot.dtsi create mode 100644 arch/arm/dts/am335x-pdu001.dts create mode 100644 board/eets/pdu001/Kconfig create mode 100644 board/eets/pdu001/MAINTAINERS create mode 100644 board/eets/pdu001/Makefile create mode 100644 board/eets/pdu001/README create mode 100644 board/eets/pdu001/board.c create mode 100644 board/eets/pdu001/board.h create mode 100644 board/eets/pdu001/mux.c create mode 100644 configs/am335x_pdu001_defconfig create mode 100644 include/configs/pdu001.h
arch/arm/Kconfig +1 -0
@@ -1290,6 +1290,7 @@ source "board/broadcom/bcmns2/Kconfig" source "board/cavium/thunderx/Kconfig" source "board/cirrus/edb93xx/Kconfig" source "board/creative/xfi3/Kconfig" +source "board/eets/pdu001/Kconfig" source "board/freescale/ls2080a/Kconfig" source "board/freescale/ls2080aqds/Kconfig" source "board/freescale/ls2080ardb/Kconfig"
arch/arm/dts/Makefile +2 -1
@@ -161,7 +161,8 @@ dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-bone.dtb \ am335x-bonegreen.dtb \ am335x-icev2.dtb \ am335x-pxm50.dtb \ - am335x-rut.dtb + am335x-rut.dtb \ + am335x-pdu001.dtb dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb \ am43x-epos-evm.dtb \ am437x-idk-evm.dtb
arch/arm/dts/am335x-pdu001-u-boot.dtsi new file +13 -0
@@ -0,0 +1,13 @@ +/* + * Copyright (C) 2018 EETS GmbH - https://www.eets.ch/ + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +&l4_wkup { + u-boot,dm-pre-reloc; +}; + +&scm { + u-boot,dm-pre-reloc; +};
arch/arm/dts/am335x-pdu001.dts new file +604 -0
604 lines not on this page · raw message
arch/arm/mach-omap2/am33xx/Kconfig +9 -0
@@ -185,6 +185,15 @@ config TARGET_THUBAN select DM_SERIAL select DM_GPIO +config TARGET_PDU001 + bool "Support PDU001" + select DM + select DM_SERIAL + help + Support for PDU001 platform developed by EETS GmbH. + The PDU001 is a processor and display unit developed around + the Computing-Module m2 from bytes at work AG. + endchoice endif
board/eets/pdu001/Kconfig new file +66 -0
66 lines not on this page · raw message
board/eets/pdu001/MAINTAINERS new file +6 -0
@@ -0,0 +1,6 @@ +PDU001 BOARD +M: Felix Brack <[email protected]> +S: Maintained +F: board/eets/pdu001/ +F: include/configs/pdu001.h +F: configs/pdu001_defconfig
board/eets/pdu001/Makefile new file +13 -0
@@ -0,0 +1,13 @@ +# +# Makefile +# +# Copyright (C) 2018 EETS GmbH - http://www.eets.ch/ +# +# SPDX-License-Identifier: GPL-2.0+ +# + +ifeq ($(CONFIG_SKIP_LOWLEVEL_INIT),) +obj-y := mux.o +endif + +obj-y += board.o
board/eets/pdu001/README new file +35 -0
@@ -0,0 +1,35 @@ +# Copyright (C) 2018 EETS GmbH - http://www.eets.ch/ +# +# SPDX-License-Identifier: GPL-2.0+ +# + +Summary +======= + +This document covers the PDU001 target. + +Hardware +======== + +The PDU-001 (Processor and Display Unit) is a plugin card for 19" racks. It is +manufactured by EETS GmbH (https://www.eets.ch). The core of the board is a m2 +SOM from bytes at work (https://www.bytesatwork.ch) which in turn is based on +AM3352 SOC from TI (http://www.ti.com). + +Customization +============= + +As usual the console serial interface is set by CONFIG_CONS_INDEX. Best choice +is 4 here since UART3 is wired to the connector K2. +The Run LED on the PDU-001 can be turned on red by setting CONFIG_RUN_LED_RED +or green by setting CONFIG_RUN_LED_GREEN. Setting CONFIG_RUN_LED_OFF will turn +off the Run LED. + +Booting +======= + +The system boots from either eMMC or SD card cage. It will first try to boot +from the SD card cage. If this fails (missing or unbootable SD card) it will +try to boot from the internal eMMC. The root file system is always expected to +be located in the second partition of the device (eMMC or SD card) that pro- +vided the boot loader.
board/eets/pdu001/board.c new file +276 -0
276 lines not on this page · raw message
board/eets/pdu001/board.h new file +38 -0
@@ -0,0 +1,38 @@ +/* +* board.h +* +* EETS GmbH PDU001 board information header +* +* Copyright (C) 2018 EETS GmbH - http://www.eets.ch/ +* +* Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/ +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +/* +* We have two pin mux functions that must exist. First we need I2C0 to +* access the TPS65910 PMIC located on the M2 computing module. +* Second, if we want low-level debugging or a early UART (ie. before the +* pin controller driver is running), we need one of the UART ports UART0 to +* UART5 (usually UART3 since it is wired to K2). +* In case of I2C0 access we explicitly don't rely on the the ROM but we could +* do so as we use the primary mode (mode 0) for I2C0. +* All other multiplexing and pin configuration is done by the DT once it +* gets parsed by the pin controller driver. +* However we relay on the ROM to configure the pins of MMC0 (eMMC) as well +* as MMC1 (microSD card-cage) since these are our boot devices. +*/ +void enable_uart0_pin_mux (void ); +void enable_uart1_pin_mux (void ); +void enable_uart2_pin_mux (void ); +void enable_uart3_pin_mux (void ); +void enable_uart4_pin_mux (void ); +void enable_uart5_pin_mux (void ); +void enable_uart_pin_mux (u32 addr); +void enable_i2c0_pin_mux (void ); + +#endif
board/eets/pdu001/mux.c new file +120 -0
120 lines not on this page · raw message
configs/am335x_pdu001_defconfig new file +55 -0
55 lines not on this page · raw message
include/configs/pdu001.h new file +87 -0
87 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v3 1/1 arm: add support for PDU001
Quoted 10 lines · Felix Brack
This patch adds support for the PDU001 board.
Signed-off-by Felix Brack <[email protected]>---
Changes in v3:
- revert to deprecated SPDX license identifier GPL-2.0+
- maintain alphabetical order inKconfigfiles
- move U-Boot specific parts from DTS to new DTSI file to simplify longterm maintenance
[snip]
arch/arm/dts/am335x-pdu001.dts line 90
Quoted 3 lines
arch/arm/dts/am335x-pdu001.dts new file +3
-0+ ocp { + u-boot,dm-pre-reloc; + };
You missed this, and a few more u-boot,dm-pre-reloc entries in the main dts file that need to move to the -u-boot.dtsi file. Everything else looks good, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180123/8adf5d97/attachment.sig>