Skip to contentSkip to conversation

arm: add support for PDU001

PATCH Superseded Felix Brack 2 participants 2 messages Jan 23, 2018

Subsystems (3)

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

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
index f6d57f5..e793482 100644
@@ -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
index 9540ba4..02b3c36 100644
@@ -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
new file mode 100644
index 0000000..9947754
@@ -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
index 7260d27..9a9ccd7 100644
@@ -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
new file mode 100644
index 0000000..fbd47cf
@@ -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
new file mode 100644
index 0000000..08c6d53
@@ -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
new file mode 100644
index 0000000..50e7154
@@ -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
new file mode 100644
index 0000000..3474e6a
@@ -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
#1 lore raw

PATCH v3 1/1 arm: add support for PDU001

Quoted 10 lines · Felix Brack

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

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