From patchwork Thu Jan 30 20:34:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alex Nemirovsky X-Patchwork-Id: 240499 List-Id: U-Boot discussion From: alex.nemirovsky at cortina-access.com (Alex Nemirovsky) Date: Thu, 30 Jan 2020 12:34:53 -0800 Subject: [PATCH v4 0/6] Add Cortina Access basic DM drivers Message-ID: <1580416499-29820-1-git-send-email-alex.nemirovsky@cortina-access.com> Cortina Access management has decided that we want to add formal upstream support of u-boot going forward for our line of SoCs and evaluation boards. Our line of SoC’s all begin with the “CA” designation followed by 4 digits. i.e. CAxxxx. The CAxxxx series supports both ARM and MIPS ISA based custom cores. All our drivers have cross platform support for both CPU ISAs. They will be placed in the normal drivers tree in u-boot. In addition, our SoCs and development boards share common Cortina specific features which are not driver related. Those changes will be maintained in board/cortina/common. While specific development boards will be in board/cortina/board_name. We would like to have a git-mailrc alias of "cortina" to allow us to better maintain and support our boards and common features found in the board/cortina subtree. Changes in v4: - clean up presidio_asic.h per trini recommendations - use autogen savedefconfig instead of manual maintained file Changes in v3: - Remove CA ARM and MIPS common subdirectories from board/cortina/common after further discussions with trini - clean up comment blocks - fix rmw of baud rate bitfield change - fixed dts closing bracket indentation - presidio.h: remove deadcode from presidio.h - presidio.h: remove CA_REG_READ/CA_REG_WRITE wrapper macros - presidio.h: remove CA77xx define replace use CA common Kconfig SoC selection instead - select SOC_CA7774 via board's Kconfig - select BIT64 via board's Kconfig instead of presidio.h Changes in v2: - Modified filepath for CA ARM and MIPS per trini's recommendation - Rename driver in DT namespace for consistency between all CA drivers. - Remove blank line after SPDX identifier - Remove Authorship as it is already recorded within Git and is redundant - Replace printf() as debug() - Rename driver in DT namespace for consistency between all CA drivers. - Remove blank line after SPDX identifier - Remove authorship comment as it is already recorded within Git and is redundant - Use setbits_32() for read-modify-write operation. - Rename driver in DT namespace for consistency between all CA drivers. - Remove blank line after SPDX identifier - Remove authorship comment as it is already recorded within Git and is redundant - Merge serial_cortina.h reg defines into serial_cortina.c - Modify ca_serial_pending() and API to get resource. Alex Nemirovsky (2): MAINTAINERS, git-mailrc: cortina: add Custodian for Cortina Access Inc. board: presidio-asic: Add basic G3 engr. development board support Jason Li (4): gpio: do not include for Cortina CAxxxx SoCs gpio: cortina_gpio: add DM_GPIO driver for CAxxxx SoCs watchdog: cortina_wdt: add support for HW WDT on CAxxxx SoCs serial: serial_cortina: add UART DM driver for CAxxxx SoCs MAINTAINERS | 16 +++ arch/arm/Kconfig | 5 + arch/arm/dts/Makefile | 2 + arch/arm/dts/ca-presidio-engboard.dts | 69 +++++++++++ arch/arm/include/asm/gpio.h | 2 +- arch/arm/mach-cortina/Makefile | 5 + board/cortina/common/Kconfig | 6 + board/cortina/presidio-asic/Kconfig | 18 +++ board/cortina/presidio-asic/MAINTAINERS | 6 + board/cortina/presidio-asic/Makefile | 8 ++ board/cortina/presidio-asic/lowlevel_init.S | 87 ++++++++++++++ board/cortina/presidio-asic/presidio.c | 134 ++++++++++++++++++++++ configs/cortina_presidio-asic-base_defconfig | 29 +++++ doc/git-mailrc | 2 + drivers/gpio/Kconfig | 8 ++ drivers/gpio/Makefile | 1 + drivers/gpio/cortina_gpio.c | 111 ++++++++++++++++++ drivers/serial/Kconfig | 7 ++ drivers/serial/Makefile | 2 +- drivers/serial/serial_cortina.c | 164 +++++++++++++++++++++++++++ drivers/watchdog/Kconfig | 8 ++ drivers/watchdog/Makefile | 1 + drivers/watchdog/cortina_wdt.c | 138 ++++++++++++++++++++++ include/configs/presidio_asic.h | 75 ++++++++++++ 24 files changed, 902 insertions(+), 2 deletions(-) create mode 100644 arch/arm/dts/ca-presidio-engboard.dts create mode 100644 arch/arm/mach-cortina/Makefile create mode 100644 board/cortina/common/Kconfig create mode 100644 board/cortina/presidio-asic/Kconfig create mode 100644 board/cortina/presidio-asic/MAINTAINERS create mode 100644 board/cortina/presidio-asic/Makefile create mode 100644 board/cortina/presidio-asic/lowlevel_init.S create mode 100644 board/cortina/presidio-asic/presidio.c create mode 100644 configs/cortina_presidio-asic-base_defconfig create mode 100644 drivers/gpio/cortina_gpio.c create mode 100644 drivers/serial/serial_cortina.c create mode 100644 drivers/watchdog/cortina_wdt.c create mode 100644 include/configs/presidio_asic.h