[U-Boot] [PATCH v4 0/8] add support for atheros ath79 based SOCs

These series of patch add support for atheros ath79 based SOCs in u-boot, at the present moment it's just available for ar933x chip.
Changes in v4: - Add div64 macro for MIPS - Convert physical address to uncached and cached(KSEG0/1) memory range in map_physmem - Auto calculate baudrate for serial driver - Move pinctrl code in serial driver into arch/mips/mach-ath79 - Use global_data to save CPU/DDR/AHB clock - Use get_serial_clock to serial clock source - Use get_bus_freq instead of hardcode in SPI driver - Use arch_global_data to save SOC's type, revison and id - move CPU optimize tuning flag from config.mk to Kconfig
Changes in v3: - Convert serial driver to driver model - Convert spi driver to driver model - Add support for device tree - Move SoC specific header files into arch/mips/mach-ath79/include/mach - Optimize assembly code - Same code style convertion
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 - Add a compatible spi driver - Move serial driver code into drivers/serial - Add a reference board implemention
Wills Wang (8): include: Add support for "do_div" macro mips: implement to access the KSEG0/1 memory range in map_physmem mips: add base support for atheros ath79 based SOCs mips: ath79: add serial driver for ar933x SOC mips: ath79: add spi driver mips: ath79: add AP121 reference board mips: support optimize tuning for same common processor cores mips: move optimize tuning option from deprecated config.mk to Kconfig
arch/mips/Kconfig | 17 + arch/mips/Makefile | 8 + arch/mips/dts/Makefile | 2 +- arch/mips/dts/ap121.dts | 37 + arch/mips/dts/ar933x.dtsi | 64 ++ arch/mips/include/asm/div64.h | 68 ++ arch/mips/include/asm/global_data.h | 5 + arch/mips/include/asm/io.h | 7 +- arch/mips/mach-ath79/Makefile | 9 + arch/mips/mach-ath79/ar933x/Makefile | 8 + arch/mips/mach-ath79/ar933x/clk.c | 86 ++ arch/mips/mach-ath79/ar933x/cpu.c | 32 + arch/mips/mach-ath79/ar933x/ddr_tap.S | 268 +++++ arch/mips/mach-ath79/ar933x/lowlevel_init.S | 460 ++++++++ arch/mips/mach-ath79/cpu.c | 171 +++ arch/mips/mach-ath79/dram.c | 27 + arch/mips/mach-ath79/include/mach/ar71xx_regs.h | 1144 ++++++++++++++++++++ arch/mips/mach-ath79/include/mach/ath79.h | 143 +++ arch/mips/mach-ath79/include/mach/ddr.h | 13 + arch/mips/mach-ath79/reset.c | 46 + board/ath79/ap121/Kconfig | 15 + board/ath79/ap121/MAINTAINERS | 6 + .../config.mk => board/ath79/ap121/Makefile | 4 +- board/ath79/ap121/README | 18 + board/ath79/ap121/ap121.c | 17 + board/ath79/ap121/config.mk | 16 + configs/ap121_defconfig | 42 + drivers/serial/Makefile | 1 + drivers/serial/serial_ar933x.c | 225 ++++ drivers/spi/Kconfig | 8 + drivers/spi/Makefile | 1 + drivers/spi/ath79_spi.c | 211 ++++ include/asm-generic/div64.h | 59 + include/configs/ap121.h | 82 ++ 34 files changed, 3315 insertions(+), 5 deletions(-) create mode 100644 arch/mips/dts/ap121.dts create mode 100644 arch/mips/dts/ar933x.dtsi create mode 100644 arch/mips/include/asm/div64.h 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/cpu.c create mode 100644 arch/mips/mach-ath79/ar933x/ddr_tap.S 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/reset.c create mode 100644 board/ath79/ap121/Kconfig create mode 100644 board/ath79/ap121/MAINTAINERS rename arch/mips/mach-au1x00/config.mk => board/ath79/ap121/Makefile (65%) create mode 100644 board/ath79/ap121/README create mode 100644 board/ath79/ap121/ap121.c create mode 100644 board/ath79/ap121/config.mk create mode 100644 configs/ap121_defconfig create mode 100644 drivers/serial/serial_ar933x.c create mode 100644 drivers/spi/ath79_spi.c create mode 100644 include/asm-generic/div64.h create mode 100644 include/configs/ap121.h

Hi Wills,
please take care of following suggestions in your next patch series:
Always respond to comments by reviewers, either by acknowledging a suggested change or by rejecting it with an explanation why the suggested change is not appropriate. Also tell them in advance which changes you are going to make. Maintain a change history per patch.
Do not send too much patch series consecutively. Give reviewers some time (several days) to review or respond to a new patch series. Keep in mind that there currently are holidays in Europe and North-America and a lot of maintainers/custodians are not available because of it.
Try to use patman for maintaining and submitting your patch series. Patman makes it easier for you to maintain change histories, commit notes, cover letters and so on.
Am 25.12.2015 um 19:56 schrieb Wills Wang:
These series of patch add support for atheros ath79 based SOCs in u-boot, at the present moment it's just available for ar933x chip.
Changes in v4:
- Add div64 macro for MIPS
- Convert physical address to uncached and cached(KSEG0/1) memory range in map_physmem
- Auto calculate baudrate for serial driver
- Move pinctrl code in serial driver into arch/mips/mach-ath79
- Use global_data to save CPU/DDR/AHB clock
- Use get_serial_clock to serial clock source
- Use get_bus_freq instead of hardcode in SPI driver
- Use arch_global_data to save SOC's type, revison and id
- move CPU optimize tuning flag from config.mk to Kconfig
Changes in v3:
- Convert serial driver to driver model
- Convert spi driver to driver model
- Add support for device tree
- Move SoC specific header files into arch/mips/mach-ath79/include/mach
- Optimize assembly code
- Same code style convertion
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
- Add a compatible spi driver
- Move serial driver code into drivers/serial
- Add a reference board implemention
Wills Wang (8): include: Add support for "do_div" macro mips: implement to access the KSEG0/1 memory range in map_physmem mips: add base support for atheros ath79 based SOCs mips: ath79: add serial driver for ar933x SOC mips: ath79: add spi driver mips: ath79: add AP121 reference board mips: support optimize tuning for same common processor cores mips: move optimize tuning option from deprecated config.mk to Kconfig
arch/mips/Kconfig | 17 + arch/mips/Makefile | 8 + arch/mips/dts/Makefile | 2 +- arch/mips/dts/ap121.dts | 37 + arch/mips/dts/ar933x.dtsi | 64 ++ arch/mips/include/asm/div64.h | 68 ++ arch/mips/include/asm/global_data.h | 5 + arch/mips/include/asm/io.h | 7 +- arch/mips/mach-ath79/Makefile | 9 + arch/mips/mach-ath79/ar933x/Makefile | 8 + arch/mips/mach-ath79/ar933x/clk.c | 86 ++ arch/mips/mach-ath79/ar933x/cpu.c | 32 + arch/mips/mach-ath79/ar933x/ddr_tap.S | 268 +++++ arch/mips/mach-ath79/ar933x/lowlevel_init.S | 460 ++++++++ arch/mips/mach-ath79/cpu.c | 171 +++ arch/mips/mach-ath79/dram.c | 27 + arch/mips/mach-ath79/include/mach/ar71xx_regs.h | 1144 ++++++++++++++++++++ arch/mips/mach-ath79/include/mach/ath79.h | 143 +++ arch/mips/mach-ath79/include/mach/ddr.h | 13 + arch/mips/mach-ath79/reset.c | 46 + board/ath79/ap121/Kconfig | 15 + board/ath79/ap121/MAINTAINERS | 6 + .../config.mk => board/ath79/ap121/Makefile | 4 +- board/ath79/ap121/README | 18 + board/ath79/ap121/ap121.c | 17 + board/ath79/ap121/config.mk | 16 + configs/ap121_defconfig | 42 + drivers/serial/Makefile | 1 + drivers/serial/serial_ar933x.c | 225 ++++ drivers/spi/Kconfig | 8 + drivers/spi/Makefile | 1 + drivers/spi/ath79_spi.c | 211 ++++ include/asm-generic/div64.h | 59 + include/configs/ap121.h | 82 ++ 34 files changed, 3315 insertions(+), 5 deletions(-) create mode 100644 arch/mips/dts/ap121.dts create mode 100644 arch/mips/dts/ar933x.dtsi create mode 100644 arch/mips/include/asm/div64.h 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/cpu.c create mode 100644 arch/mips/mach-ath79/ar933x/ddr_tap.S 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/reset.c create mode 100644 board/ath79/ap121/Kconfig create mode 100644 board/ath79/ap121/MAINTAINERS rename arch/mips/mach-au1x00/config.mk => board/ath79/ap121/Makefile (65%) create mode 100644 board/ath79/ap121/README create mode 100644 board/ath79/ap121/ap121.c create mode 100644 board/ath79/ap121/config.mk create mode 100644 configs/ap121_defconfig create mode 100644 drivers/serial/serial_ar933x.c create mode 100644 drivers/spi/ath79_spi.c create mode 100644 include/asm-generic/div64.h create mode 100644 include/configs/ap121.h
participants (2)
-
Daniel Schwierzeck
-
Wills Wang