[U-Boot] [PATCH v6 00/10] add support for atheros ath79 based SOCs

Wills Wang wills.wang at live.com
Mon Jan 4 12:06:17 CET 2016


These series of patch add support for atheros ath79 based SOCs in u-boot,
at the present moment it's just available for ar933x and qca953x chip.

Changes in v6:
- Remove useless "else"
- Move ar933x as separate patch
- Add get_bootstrap in reset.c
- Use map_physmem instead of KSEG1ADDR
- Add arch_cpu_init for detect SOC type for early
- Define magic value in ddr.c
- Remove wait loop in putc and getc
- Use map_physmem instead of KSEG1ADDR
- Add rrw_delay in ath79_spi_priv for more accurate timing
- Remove ath79_spi_delay
- Calculate delay in ath79_spi_set_speed
- Convert SZ_XXX into hex in ap121.h
- Remove useless CONFIG_SYS_INIT_SP_OFFSET in ap121.h
- Add board_early_init_f for DDR and pin initialization
- Select UART and SPI in ap121_defconfig
- Add support for qca953x

Changes in v5:
- Add independent Kconfig
- Use SRAM for initial stack
- Move DDR initialization into board_early_init_f
- Convert DDR tap tunning code to C
- Save SOC's version into arch_global_data
- remove ar933x_serial_platdata
- Import document "qca,ar9330-uart.txt" from kernel
- Add support for debug UART
- remove ar933x_spi_platdata
- Import document "spi-ath79.txt" from kernel
- Add delay for bitbang operation
- Move CONFIG_SYS_TEXT_BASE into ap121.h, and remove config.mk
- Remove useless README file
- Remove useless checkboard function

Changes in v4:
- Use global_data to save CPU/DDR/AHB clock
- Use arch_global_data to save SOC's type, revison and id
- Auto calculate baudrate for serial driver
- Move pinctrl code in serial driver into arch/mips/mach-ath79
- Use get_serial_clock to serial clock source
- Use get_bus_freq instead of hardcode in SPI driver

Changes in v3:
- Move SoC specific header files into arch/mips/mach-ath79/include/mach
- Optimize assembly code
- Same code style convertion
- Convert serial driver to driver model
- Same code style convertion
- Convert spi driver to driver model
- Same code style convertion
- Add support for device tree

Changes in v2:
- Move all SoC specific header files into arch/mips/include/asm/arch-ath79
- Check SOC type and extract common code into arch/mips/mach-ath79
- Move serial driver code into drivers/serial
- Add a compatible spi driver
- Add a reference board implemention

Wills Wang (10):
  mips: implement to access the KSEG0/1 memory range in map_physmem
  mips: add base support for QCA/Atheros ath79 SOCs
  mips: ath79: add support for AR933x SOCs
  mips: ath79: add support for QCA953x SOCs
  mips: ath79: add serial driver for ar933x SOC
  ns16550: add support for mips
  ns16550: map register base address for debug UART
  mips: ath79: add spi driver
  mips: ath79: add AP121 reference board
  mips: ath79: add AP143 reference board

 arch/mips/Kconfig                                  |    6 +
 arch/mips/Makefile                                 |    1 +
 arch/mips/dts/Makefile                             |    3 +-
 arch/mips/dts/ap121.dts                            |   37 +
 arch/mips/dts/ap143.dts                            |   37 +
 arch/mips/dts/ar933x.dtsi                          |   64 ++
 arch/mips/dts/qca953x.dtsi                         |   66 ++
 arch/mips/include/asm/global_data.h                |    6 +
 arch/mips/include/asm/io.h                         |    6 +-
 arch/mips/mach-ath79/Kconfig                       |   46 +
 arch/mips/mach-ath79/Makefile                      |   10 +
 arch/mips/mach-ath79/ar933x/Makefile               |    7 +
 arch/mips/mach-ath79/ar933x/clk.c                  |   90 ++
 arch/mips/mach-ath79/ar933x/ddr.c                  |  317 ++++++
 arch/mips/mach-ath79/ar933x/lowlevel_init.S        |  280 +++++
 arch/mips/mach-ath79/cpu.c                         |  204 ++++
 arch/mips/mach-ath79/dram.c                        |   17 +
 arch/mips/mach-ath79/include/mach/ar71xx_regs.h    | 1187 ++++++++++++++++++++
 arch/mips/mach-ath79/include/mach/ath79.h          |  143 +++
 arch/mips/mach-ath79/include/mach/ddr.h            |   14 +
 arch/mips/mach-ath79/include/mach/reset.h          |   15 +
 arch/mips/mach-ath79/qca953x/Makefile              |    7 +
 arch/mips/mach-ath79/qca953x/clk.c                 |  112 ++
 arch/mips/mach-ath79/qca953x/ddr.c                 |  463 ++++++++
 arch/mips/mach-ath79/qca953x/lowlevel_init.S       |  186 +++
 arch/mips/mach-ath79/reset.c                       |   75 ++
 board/ath79/ap121/Kconfig                          |    9 +
 board/ath79/ap121/MAINTAINERS                      |    6 +
 board/ath79/ap121/Makefile                         |    5 +
 board/ath79/ap121/ap121.c                          |   48 +
 board/ath79/ap143/Kconfig                          |    9 +
 board/ath79/ap143/MAINTAINERS                      |    6 +
 board/ath79/ap143/Makefile                         |    5 +
 board/ath79/ap143/ap143.c                          |   64 ++
 configs/ap121_defconfig                            |   42 +
 configs/ap143_defconfig                            |   43 +
 .../serial/qca,ar9330-uart.txt                     |   24 +
 doc/device-tree-bindings/spi/spi-ath79.txt         |   19 +
 drivers/serial/Kconfig                             |   17 +
 drivers/serial/Makefile                            |    1 +
 drivers/serial/ns16550.c                           |   30 +-
 drivers/serial/serial_ar933x.c                     |  264 +++++
 drivers/spi/Kconfig                                |    8 +
 drivers/spi/Makefile                               |    1 +
 drivers/spi/ath79_spi.c                            |  230 ++++
 include/configs/ap121.h                            |   81 ++
 include/configs/ap143.h                            |   86 ++
 47 files changed, 4384 insertions(+), 13 deletions(-)
 create mode 100644 arch/mips/dts/ap121.dts
 create mode 100644 arch/mips/dts/ap143.dts
 create mode 100644 arch/mips/dts/ar933x.dtsi
 create mode 100644 arch/mips/dts/qca953x.dtsi
 create mode 100644 arch/mips/mach-ath79/Kconfig
 create mode 100644 arch/mips/mach-ath79/Makefile
 create mode 100644 arch/mips/mach-ath79/ar933x/Makefile
 create mode 100644 arch/mips/mach-ath79/ar933x/clk.c
 create mode 100644 arch/mips/mach-ath79/ar933x/ddr.c
 create mode 100644 arch/mips/mach-ath79/ar933x/lowlevel_init.S
 create mode 100644 arch/mips/mach-ath79/cpu.c
 create mode 100644 arch/mips/mach-ath79/dram.c
 create mode 100644 arch/mips/mach-ath79/include/mach/ar71xx_regs.h
 create mode 100644 arch/mips/mach-ath79/include/mach/ath79.h
 create mode 100644 arch/mips/mach-ath79/include/mach/ddr.h
 create mode 100644 arch/mips/mach-ath79/include/mach/reset.h
 create mode 100644 arch/mips/mach-ath79/qca953x/Makefile
 create mode 100644 arch/mips/mach-ath79/qca953x/clk.c
 create mode 100644 arch/mips/mach-ath79/qca953x/ddr.c
 create mode 100644 arch/mips/mach-ath79/qca953x/lowlevel_init.S
 create mode 100644 arch/mips/mach-ath79/reset.c
 create mode 100644 board/ath79/ap121/Kconfig
 create mode 100644 board/ath79/ap121/MAINTAINERS
 create mode 100644 board/ath79/ap121/Makefile
 create mode 100644 board/ath79/ap121/ap121.c
 create mode 100644 board/ath79/ap143/Kconfig
 create mode 100644 board/ath79/ap143/MAINTAINERS
 create mode 100644 board/ath79/ap143/Makefile
 create mode 100644 board/ath79/ap143/ap143.c
 create mode 100644 configs/ap121_defconfig
 create mode 100644 configs/ap143_defconfig
 create mode 100644 doc/device-tree-bindings/serial/qca,ar9330-uart.txt
 create mode 100644 doc/device-tree-bindings/spi/spi-ath79.txt
 create mode 100644 drivers/serial/serial_ar933x.c
 create mode 100644 drivers/spi/ath79_spi.c
 create mode 100644 include/configs/ap121.h
 create mode 100644 include/configs/ap143.h

-- 
1.9.1



More information about the U-Boot mailing list