[U-Boot] [PATCH v8 0/9] add support for atheros ath79 based SOCs
Wills Wang
wills.wang at live.com
Wed Mar 16 09:59:51 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 v8:
- Use setbits_be32
- Use lookup-table instead of big switch statement for CPU detection
- Fix multi-line comment for ar933x
- Fix multi-line comment for qca953x
- Remove ath79_serial_write/read
- Use pinctrl for serial
- Add Kconfig dependence for serial option
- Remove ath79_spi_write/read
- Use pinctrl for spi
- Add Kconfig dependence for spi option
- Use dev_get_parent
- Move board/ath79/ap121 into board/qca/ap121
- Move SYS_VENDOR into board-level for ap121
- Move board/ath79/ap143 into board/qca/ap143
- Move SYS_VENDOR into board-level for ap143
Changes in v7:
- Use setbits_32
- Fix include path for SoC specific headers
- Use CKSEGxADDR instead of KSEGxADDR for ar933x
- Use CKSEGxADDR instead of KSEGxADDR for qca953x
- remove map_physmem for debug port
- Define spi_cs_activate/spi_cs_deactivate
- Rename MHZ to ATH79_SPI_MHZ
- Use clrsetbits_32
- Use KSEG1 address for debug port in ap121
- Use KSEG1 address for debug port in ap143
Changes in v6:
- 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
- Remove board.c
- Define magic value in ddr.c
- Initial support for qca953x
- 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
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
- Add ddr.c for ar933x
- 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
- Add clk.c for ar933x
- 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
- Convert spi driver to driver model
- 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 (9):
mips: add base support for QCA/Atheros ath79 SOCs
mips: ath79: add support for AR933x SOCs
mips: ath79: add support for QCA953x SOCs
drivers: pinctrl: Add simple pinctrl driver for QCA/Athores ar933x.
drivers: pinctrl: Add simple pinctrl driver for QCA/Athores qca953x.
drivers: serial: add serial driver for ar933x SOC
drivers: spi: add spi support for QCA/Atheros ath79 SOCs
mips: ath79: add AP121 reference board
mips: ath79: add AP143 reference board
arch/mips/Kconfig | 6 +
arch/mips/Makefile | 1 +
arch/mips/dts/Makefile | 2 +
arch/mips/dts/ap121.dts | 43 +
arch/mips/dts/ap143.dts | 43 +
arch/mips/dts/ar933x.dtsi | 82 ++
arch/mips/dts/qca953x.dtsi | 84 ++
arch/mips/include/asm/global_data.h | 6 +
arch/mips/mach-ath79/Kconfig | 41 +
arch/mips/mach-ath79/Makefile | 10 +
arch/mips/mach-ath79/ar933x/Makefile | 7 +
arch/mips/mach-ath79/ar933x/clk.c | 89 ++
arch/mips/mach-ath79/ar933x/ddr.c | 333 ++++++
arch/mips/mach-ath79/ar933x/lowlevel_init.S | 280 +++++
arch/mips/mach-ath79/cpu.c | 142 +++
arch/mips/mach-ath79/dram.c | 16 +
arch/mips/mach-ath79/include/mach/ar71xx_regs.h | 1184 ++++++++++++++++++++
arch/mips/mach-ath79/include/mach/ath79.h | 143 +++
arch/mips/mach-ath79/include/mach/ddr.h | 13 +
arch/mips/mach-ath79/include/mach/reset.h | 14 +
arch/mips/mach-ath79/qca953x/Makefile | 7 +
arch/mips/mach-ath79/qca953x/clk.c | 111 ++
arch/mips/mach-ath79/qca953x/ddr.c | 472 ++++++++
arch/mips/mach-ath79/qca953x/lowlevel_init.S | 186 +++
arch/mips/mach-ath79/reset.c | 71 ++
board/qca/ap121/Kconfig | 12 +
board/qca/ap121/MAINTAINERS | 6 +
board/qca/ap121/Makefile | 5 +
board/qca/ap121/ap121.c | 50 +
board/qca/ap143/Kconfig | 12 +
board/qca/ap143/MAINTAINERS | 6 +
board/qca/ap143/Makefile | 5 +
board/qca/ap143/ap143.c | 66 ++
configs/ap121_defconfig | 46 +
configs/ap143_defconfig | 45 +
.../serial/qca,ar9330-uart.txt | 24 +
doc/device-tree-bindings/spi/spi-ath79.txt | 19 +
drivers/pinctrl/Kconfig | 18 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/ath79/Makefile | 6 +
drivers/pinctrl/ath79/pinctrl_ar933x.c | 136 +++
drivers/pinctrl/ath79/pinctrl_qca953x.c | 156 +++
drivers/serial/Kconfig | 18 +
drivers/serial/Makefile | 1 +
drivers/serial/serial_ar933x.c | 255 +++++
drivers/spi/Kconfig | 9 +
drivers/spi/Makefile | 1 +
drivers/spi/ath79_spi.c | 240 ++++
include/configs/ap121.h | 87 ++
include/configs/ap143.h | 91 ++
50 files changed, 4701 insertions(+)
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/qca/ap121/Kconfig
create mode 100644 board/qca/ap121/MAINTAINERS
create mode 100644 board/qca/ap121/Makefile
create mode 100644 board/qca/ap121/ap121.c
create mode 100644 board/qca/ap143/Kconfig
create mode 100644 board/qca/ap143/MAINTAINERS
create mode 100644 board/qca/ap143/Makefile
create mode 100644 board/qca/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/pinctrl/ath79/Makefile
create mode 100644 drivers/pinctrl/ath79/pinctrl_ar933x.c
create mode 100644 drivers/pinctrl/ath79/pinctrl_qca953x.c
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