[PATCH v3 00/21] Actions S700 SoC support

Manivannan Sadhasivam manivannan.sadhasivam at linaro.org
Sun Feb 23 18:51:39 CET 2020


Hi Amit,

On Sat, Jan 25, 2020 at 05:52:42PM +0530, Amit Singh Tomar wrote:
> Hi, 
> 
> This is continuation of work[1], submitted(v2) almost a year back.
> 
> It adds Cubieboard7[1] support based on Action Semi's S700 SoC[2], It's Quad-core ARMv8 SoC
> with Cortex-A53 cores. Peripheral like UART seems to be compatible with S900 SoC(basic support
> for it is alreay present in u-boot).
> 
> First few patches(from 1/21 to 3/21) consolidates Actions Semiconductor SoCs support in u-boot(mostly insprired
> by SUXNI as suggested by Andre). Idea is to move every bit out from board/ucRobotics into arch/arm/mach-owl.
> It allows different SoCs to be driven by single "soc and Kconfig" file. It also includes common clock driver
> for S700 and S900. Patches(from 4/21 to 6/21 and 10/21 to 12/21) enables S700 SoC support alongwith 
> Cubieboard7 board.
> 
> While at it, took the opportunity to sync S900 DT sources and bindings(patches from 7/21 to 8/21) with 
> Linux(tag v5.5-rc6) and it is compiled-tested.
> 
> Patch(9/21) uses same name for ethernet clock binding and if it's ok, would like to send it to LKML
> as well.
> 
> Patches(from 13/21 to 14/21) adds support for RTL 8201F PHY module and introduce configuration option
> "RTL8201F_PHY_S700_RMII_TIMINGS" to fulfill specific timing requirements for S700.
> 
> Patches(from 15/21 to 17/21) adds support for generic reset controller, originally used for NEXELL[3]
> series but never gets merged and it can be used for S700.
> 
> Patches(from 18/21 to 21/21) are there to enable Ethenet support in S700, MAC is based on Designware IP
> These patches re-uses the existing driver(drivers/net/designware.c) and programs SoC specific bits to
> enable ethernet. SoC specific glue code is kept in dwmac_s700.c file, did it this way as found it more
> cleaner(but having said that I am not really sure, if it's bit of a overkill to have it) or we can keep
> this glue code somewhere in machine file?
> 
> S700 support is tested[4] on Cubieboard7 board and S900 support is just compiled tested.
> 

I've reviewed most of the patches. Overall this series looks good but seems a
bit bulky to me. Can you please split out the Ethernet specific patches and
post only the rest?

Once these base S700 patches gets merged, you can submit the Ethernet patches
incrementally. Also, I can't apply these patches on u-boot/master. Could you
please fix that for next iteration?

It'd be good if you can share a git tree/branch with me for quick testing.

Thanks,
Mani

> Also, patches are rebased upon following commit:
> 2c871f9e084b2c03d1961884228a6901387ab8d6 Merge branch '2020-01-22-master-imports'
> 
> Thanks
> -Amit
> 
> [1]: https://patchwork.ozlabs.org/cover/1020286/
> [2]: http://www.actions-semi.com/en/productview.aspx?id=225
> [3]: https://lists.denx.de/pipermail/u-boot/2017-November/313135.html
> [4]: https://paste.ubuntu.com/p/GkFPn2xJfn/
> 
> Amit Singh Tomar (21):
>   arm: actions: Add common framework for Actions Semi SoCs
>   arm: actions: rename sysmap-s900 to sysmap-owl
>   clk: actions: Add common clock driver
>   arm: add support Actions Semi S700
>   arm: actions: add S700 SoC device tree
>   actions:s700: add u-boot specific dts file
>   arm: dts: sync dts for Action Semi S900
>   actions: s900: add u-boot specific dts file
>   arm: dts: Use consistent name "CLK_ETHERNET" for the Ethernet clock
>     binding
>   serial: actions: add uart support for s700
>   arm: add Cubieboard7 board support
>   actions: add Cubieboard7 README
>   net: phy: realtek: Add support for RTL8201F PHY module.
>   net: phy: realtek: Introduce PHY_RTL8201F_S700_RMII_TIMINGS to adjust
>     rx/tx timings
>   reset: add driver for generic reset controllers
>   arm: dts: s700: add node for reset controller
>   owl: Kconfig: Enable dm reset and generic reset
>   net: designware: s700: Add glue code for S700 mac
>   arm: dts: s700: add node for ethernet controller
>   owl: Kconfig: Enable dm eth for OWL platform
>   configs: Enable mac and phy configs
> 
>  MAINTAINERS                                    |   2 +
>  arch/arm/Kconfig                               |   8 +-
>  arch/arm/dts/Makefile                          |   6 +-
>  arch/arm/dts/s700-cubieboard7.dts              |  39 +++
>  arch/arm/dts/s700-u-boot.dtsi                  |  39 +++
>  arch/arm/dts/s700.dtsi                         | 248 +++++++++++++++++++
>  arch/arm/dts/s900-u-boot.dtsi                  |  17 ++
>  arch/arm/dts/s900.dtsi                         | 322 +++++++++++++++++++++++--
>  arch/arm/include/asm/arch-owl/clk_s900.h       |  57 -----
>  arch/arm/include/asm/arch-owl/regs_s700.h      |  62 +++++
>  arch/arm/mach-owl/Kconfig                      |  35 +--
>  arch/arm/mach-owl/Makefile                     |   3 +-
>  arch/arm/mach-owl/README.cubieboard7           |  88 +++++++
>  arch/arm/mach-owl/soc.c                        |  57 +++++
>  arch/arm/mach-owl/sysmap-owl.c                 |  32 +++
>  arch/arm/mach-owl/sysmap-s900.c                |  32 ---
>  board/ucRobotics/bubblegum_96/Kconfig          |  15 --
>  board/ucRobotics/bubblegum_96/MAINTAINERS      |   6 -
>  board/ucRobotics/bubblegum_96/Makefile         |   3 -
>  board/ucRobotics/bubblegum_96/bubblegum_96.c   |  57 -----
>  configs/bubblegum_96_defconfig                 |   7 +-
>  configs/cubieboard7_defconfig                  |  20 ++
>  drivers/clk/owl/Kconfig                        |   8 +-
>  drivers/clk/owl/Makefile                       |   2 +-
>  drivers/clk/owl/clk_owl.c                      | 159 ++++++++++++
>  drivers/clk/owl/clk_owl.h                      |  65 +++++
>  drivers/clk/owl/clk_s900.c                     | 137 -----------
>  drivers/net/Kconfig                            |   7 +
>  drivers/net/Makefile                           |   1 +
>  drivers/net/dwmac_s700.c                       |  66 +++++
>  drivers/net/phy/Kconfig                        |   9 +
>  drivers/net/phy/realtek.c                      |  55 +++++
>  drivers/reset/Kconfig                          |   6 +
>  drivers/reset/Makefile                         |   1 +
>  drivers/reset/reset-generic.c                  | 111 +++++++++
>  drivers/serial/serial_owl.c                    |   1 +
>  include/configs/bubblegum_96.h                 |  40 ---
>  include/configs/owl-common.h                   |  40 +++
>  include/configs/s700.h                         |  13 +
>  include/configs/s900.h                         |  16 ++
>  include/dt-bindings/clock/actions,s700-cmu.h   | 118 +++++++++
>  include/dt-bindings/clock/actions,s900-cmu.h   | 129 ++++++++++
>  include/dt-bindings/clock/s900_cmu.h           |  77 ------
>  include/dt-bindings/reset/actions,s700-reset.h |  34 +++
>  include/dt-bindings/reset/actions,s900-reset.h |  65 +++++
>  45 files changed, 1835 insertions(+), 480 deletions(-)
>  create mode 100644 arch/arm/dts/s700-cubieboard7.dts
>  create mode 100644 arch/arm/dts/s700-u-boot.dtsi
>  create mode 100644 arch/arm/dts/s700.dtsi
>  create mode 100644 arch/arm/dts/s900-u-boot.dtsi
>  delete mode 100644 arch/arm/include/asm/arch-owl/clk_s900.h
>  create mode 100644 arch/arm/include/asm/arch-owl/regs_s700.h
>  create mode 100644 arch/arm/mach-owl/README.cubieboard7
>  create mode 100644 arch/arm/mach-owl/soc.c
>  create mode 100644 arch/arm/mach-owl/sysmap-owl.c
>  delete mode 100644 arch/arm/mach-owl/sysmap-s900.c
>  delete mode 100644 board/ucRobotics/bubblegum_96/Kconfig
>  delete mode 100644 board/ucRobotics/bubblegum_96/MAINTAINERS
>  delete mode 100644 board/ucRobotics/bubblegum_96/Makefile
>  delete mode 100644 board/ucRobotics/bubblegum_96/bubblegum_96.c
>  create mode 100644 configs/cubieboard7_defconfig
>  create mode 100644 drivers/clk/owl/clk_owl.c
>  create mode 100644 drivers/clk/owl/clk_owl.h
>  delete mode 100644 drivers/clk/owl/clk_s900.c
>  create mode 100644 drivers/net/dwmac_s700.c
>  create mode 100644 drivers/reset/reset-generic.c
>  delete mode 100644 include/configs/bubblegum_96.h
>  create mode 100644 include/configs/owl-common.h
>  create mode 100644 include/configs/s700.h
>  create mode 100644 include/configs/s900.h
>  create mode 100644 include/dt-bindings/clock/actions,s700-cmu.h
>  create mode 100644 include/dt-bindings/clock/actions,s900-cmu.h
>  delete mode 100644 include/dt-bindings/clock/s900_cmu.h
>  create mode 100644 include/dt-bindings/reset/actions,s700-reset.h
>  create mode 100644 include/dt-bindings/reset/actions,s900-reset.h
> 
> -- 
> 2.7.4
> 


More information about the U-Boot mailing list