arm: add support for PDU001
Subsystems (3)
PATCH v2 1/1 arm: add support for PDU001
This patch adds support for the PDU001 board.
---
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.dts | 612 +++++++++++++++++++++++++++++++++++++ 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 ++++++ 13 files changed, 1320 insertions(+), 1 deletion(-) 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
@@ -1339,6 +1339,7 @@ source "board/vscom/baltos/Kconfig" source "board/woodburn/Kconfig" source "board/work-microwave/work_92105/Kconfig" source "board/zipitz2/Kconfig" +source "board/eets/pdu001/Kconfig" source "arch/arm/Kconfig.debug"
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.dts new file +612 -0
612 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-or-later +# + +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-or-later +# + +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-or-later +*/ + +#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 v2 1/1 arm: add support for PDU001
Quoted 3 lines · Felix Brack
This patch adds support for the PDU001 board.
Signed-off-by Felix Brack <[email protected]>
[snip]
arch/arm/Kconfig source "board/vscom/baltos/Kconfig" · line 1342
Quoted 9 lines
arch/arm/Kconfig +1
-0@@ -1339,6 +1339,7 @@ source "board/vscom/baltos/Kconfig" source "board/woodburn/Kconfig" source "board/work-microwave/work_92105/Kconfig" source "board/zipitz2/Kconfig" +source "board/eets/pdu001/Kconfig"
This should stay alphabetized.
[snip]
arch/arm/dts/am335x-pdu001.dts
Quoted 4 lines
new file mode 100644
index 0000000..0967e82arch/arm/dts/am335x-pdu001.dts new file +0
-0
So, have you pushed this platform upstream to Linux?
arch/arm/dts/am335x-pdu001.dts line 10
Quoted 11 lines
arch/arm/dts/am335x-pdu001.dts new file +10
-0@@ -0,0 +1,612 @@ +/* + * pdu001.dts + * + * EETS GmbH PDU001 board device tree file + * + * 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-or-later
This is not a free-form tag. Here and elsewhere you want "GPL-2.0+".
[snip]
arch/arm/dts/am335x-pdu001.dts line 100
Quoted 13 lines
arch/arm/dts/am335x-pdu001.dts new file +13
-0+ ocp { + u-boot,dm-pre-reloc; + }; +}; + +&l4_wkup { + u-boot,dm-pre-reloc; +}; + +&scm { + u-boot,dm-pre-reloc; +}; +
For long term maintenance you'll want to move these U-Boot specific parts to a am335x-pdu001-u-boot.dtsi file so that you can re-sync the main DTS file with Linux and not have any important U-Boot changes be dropped.
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/20180122/52148bd9/attachment.sig>
PATCH v2 1/1 arm: add support for PDU001
Hi Tom,
Quoted 6 lines · Tom Rini
Quoted 3 lines · Felix Brack
This patch adds support for the PDU001 board.
Signed-off-by Felix Brack <[email protected]>[snip]
Quoted 10 lines
arch/arm/Kconfig source "board/vscom/baltos/Kconfig" · line 1342
Quoted 9 lines
arch/arm/Kconfig +1
-0@@ -1339,6 +1339,7 @@ source "board/vscom/baltos/Kconfig" source "board/woodburn/Kconfig" source "board/work-microwave/work_92105/Kconfig" source "board/zipitz2/Kconfig" +source "board/eets/pdu001/Kconfig"
Sorry, missed that one.
Quoted 10 lines
This should stay alphabetized.
[snip]
arch/arm/dts/am335x-pdu001.dts
Quoted 4 lines
new file mode 100644
index 0000000..0967e82arch/arm/dts/am335x-pdu001.dts new file +0
-0So, have you pushed this platform upstream to Linux?
Not yet. I would like to follow the same procedure for Linux as I did for U-Boot, i.e. first finish the work on all drivers required by the board.
Quoted 5 lines
Quoted 5 lines
arch/arm/dts/am335x-pdu001.dts new file +4
-0@@ -0,0 +1,612 @@ +/* + * pdu001.dts + * + * EETS GmbH PDU001 board device tree file
Quoted 9 lines
arch/arm/dts/am335x-pdu001.dts line 10
Quoted 6 lines
arch/arm/dts/am335x-pdu001.dts new file +6
-0+ * + * 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-or-laterThis is not a free-form tag. Here and elsewhere you want "GPL-2.0+".
Well, I followed the advice on https://spdx.org/licenses/ when using this tag. According to SPDX "GPL-2.0+" is deprecated as of V2.0rc2 and the use of "GPL-2.0-or-later" is suggested instead. However I'm fine using "GPL-2.0+", just let me know.
Quoted 11 lines
[snip]
Quoted 10 lines
arch/arm/dts/am335x-pdu001.dts new file +10
-0+ ocp { + u-boot,dm-pre-reloc; + }; +}; + +&l4_wkup { + u-boot,dm-pre-reloc; +}; + +&scm {
Quoted 9 lines
arch/arm/dts/am335x-pdu001.dts line 92
Quoted 3 lines
arch/arm/dts/am335x-pdu001.dts new file +3
-0+ u-boot,dm-pre-reloc; +}; +For long term maintenance you'll want to move these U-Boot specific parts to a
am335x-pdu001-u-boot.dtsifile so that you can re-sync the main DTS file with Linux and not have any important U-Boot changes be dropped.
Thanks for the hint!
regards, Felix
PATCH v2 1/1 arm: add support for PDU001
Quoted 31 lines · Felix Brack
Hi Tom,
Quoted 6 lines · Tom Rini
Quoted 3 lines · Felix Brack
This patch adds support for the PDU001 board.
Signed-off-by Felix Brack <[email protected]>[snip]
Quoted 10 lines
arch/arm/Kconfig source "board/vscom/baltos/Kconfig" · line 1342
Quoted 9 lines
arch/arm/Kconfig +1
-0@@ -1339,6 +1339,7 @@ source "board/vscom/baltos/Kconfig" source "board/woodburn/Kconfig" source "board/work-microwave/work_92105/Kconfig" source "board/zipitz2/Kconfig" +source "board/eets/pdu001/Kconfig"Sorry, missed that one.
Quoted 10 lines
This should stay alphabetized.
[snip]
arch/arm/dts/am335x-pdu001.dts
Quoted 4 lines
new file mode 100644
index 0000000..0967e82arch/arm/dts/am335x-pdu001.dts new file +0
-0So, have you pushed this platform upstream to Linux?
Quoted 2 lines
Not yet. I would like to follow the same procedure for Linux as I did for U-Boot, i.e. first finish the work on all drivers required by the board.
OK. Please just make sure to keep it in sync with feedback you get from upstream there, thanks!
Quoted 14 lines
Quoted 5 lines
Quoted 5 lines
arch/arm/dts/am335x-pdu001.dts new file +4
-0@@ -0,0 +1,612 @@ +/* + * pdu001.dts + * + * EETS GmbH PDU001 board device tree fileQuoted 9 lines
arch/arm/dts/am335x-pdu001.dts line 10
Quoted 6 lines
arch/arm/dts/am335x-pdu001.dts new file +6
-0+ * + * 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-or-laterThis is not a free-form tag. Here and elsewhere you want "GPL-2.0+".
Quoted 4 lines
Well, I followed the advice on https://spdx.org/licenses/ when using this tag. According to SPDX "GPL-2.0+" is deprecated as of V2.0rc2 and the use of "GPL-2.0-or-later" is suggested instead. However I'm fine using "GPL-2.0+", just let me know.
Ugh. For now, please do GPL-2.0+ and I'll take an action to do a treewide update to match what's preferred as of 3.0.
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/20180122/8eca9652/attachment.sig>