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. >
Sorry for the late reply. Got swamped with lot of stuffs :( Thanks a lot for the series! I will review it soon and test it on my S900 based Bubblegum 96 board. 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 >