Skip to contentSkip to conversation

add support for atheros ath79 based SOCs

PATCH Superseded Wills Wang 2 participants 2 messages Dec 25, 2015 – Dec 26, 2015

v4 of 8 Superseded Latest is v8 →

lore
Share & tools
lore

Wills Wang

author
#0 lore raw

v4 cover 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
Signature · 1 line
1.9.1
#1 lore raw

v4 cover add support for atheros ath79 based SOCs

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:

Quoted 102 lines

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
Signature · 1 line
- Daniel