Message ID | 20250226130935.3029927-1-thierry.bultel.yh@bp.renesas.com (mailing list archive) |
---|---|
Headers | show |
Series | Add initial support for Renesas RZ/T2H SoC | expand |
On Wed, 26 Feb 2025 14:09:19 +0100, Thierry Bultel wrote: > > This patchset brings basic support for Renesas RZ/T2H SoC and > its evaluation board. The 4 CPUs are enabled, only the serial > console is available and the board must boot on a ramdisk. > earlycon is supported, though. > > The RZ/T2H serial controller (SCI) is quite different from the > other RZ SoCs, one of the big differences (but not the only) being > the 32 bits registers. In order to not modify the existing sh-sci > driver too much, a new set of 'ops' function pointer is introduced, > allowing to code the specifics of RZ/T2H in a separate file. > Termios setting is not supported yet, the default 115200 baudrate > being kept by default. > > Clock support for RZ/T2H is added to the existing renesas-cpg-mssr > driver, with some little modifications so that more parameters are > passed to the device-specific registration callback. > At this stage, the assumption is made that most of the initialization > is done earlier by the bootloader. Module clock enable/disable is > not supported, because quite hard to test when the only available > peripheral is the serial console, and will come in a future patchset. > > There is an underway discussion on how to group the user selectable > Renesas SoC option into bigger families, but such a change is out of > scope for this patchset. > > This patch series is based on master + patch [1] > > [1]: https://lore.kernel.org/all/20250207113313.545432-1-claudiu.beznea.uj@bp.renesas.com/ > > Thierry Bultel (13): > dt-bindings: soc: Add Renesas RZ/T2H (R9A09G077) SoC > dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC > dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci > soc: renesas: Add RZ/T2H (R9A09G077) config option > clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register > clk: renesas: Add support for R9A09G077 SoC > serial: sh-sci: Fix a comment about SCIFA > serial: sh-sci: Introduced function pointers > serial: sh-sci: Introduced sci_of_data > serial: sh-sci: Add support for RZ/T2H SCI > arm64: dts: renesas: Add initial support for renesas RZ/T2H SoC > arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board > arm64: defconfig: Enable Renesas RZ/T2H SoC option > > .../bindings/clock/renesas,cpg-mssr.yaml | 4 +- > .../bindings/serial/renesas,sci.yaml | 64 +- > .../bindings/soc/renesas/renesas.yaml | 10 + > arch/arm64/boot/dts/renesas/Makefile | 1 + > arch/arm64/boot/dts/renesas/r9a09g077.dtsi | 129 ++++ > .../dts/renesas/r9a09g077m44-rzt2h-evk.dts | 35 + > arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi | 13 + > arch/arm64/configs/defconfig | 2 + > drivers/clk/renesas/Kconfig | 5 + > drivers/clk/renesas/Makefile | 1 + > drivers/clk/renesas/r7s9210-cpg-mssr.c | 7 +- > drivers/clk/renesas/r8a77970-cpg-mssr.c | 11 +- > drivers/clk/renesas/r9a09g077-cpg-mssr.c | 237 +++++++ > drivers/clk/renesas/rcar-gen2-cpg.c | 5 +- > drivers/clk/renesas/rcar-gen2-cpg.h | 3 +- > drivers/clk/renesas/rcar-gen3-cpg.c | 6 +- > drivers/clk/renesas/rcar-gen3-cpg.h | 6 +- > drivers/clk/renesas/rcar-gen4-cpg.c | 8 +- > drivers/clk/renesas/rcar-gen4-cpg.h | 3 +- > drivers/clk/renesas/renesas-cpg-mssr.c | 153 +++-- > drivers/clk/renesas/renesas-cpg-mssr.h | 43 +- > drivers/soc/renesas/Kconfig | 5 + > drivers/tty/serial/Kconfig | 7 + > drivers/tty/serial/Makefile | 1 + > drivers/tty/serial/rzsci.c | 465 ++++++++++++++ > drivers/tty/serial/rzsci.h | 12 + > drivers/tty/serial/sh-sci-common.h | 171 +++++ > drivers/tty/serial/sh-sci.c | 603 ++++++++++-------- > drivers/tty/serial/sh-sci.h | 2 - > .../clock/renesas,r9a09g077-cpg-mssr.h | 49 ++ > include/linux/serial_sci.h | 3 +- > include/uapi/linux/serial_core.h | 3 + > 32 files changed, 1713 insertions(+), 354 deletions(-) > create mode 100644 arch/arm64/boot/dts/renesas/r9a09g077.dtsi > create mode 100644 arch/arm64/boot/dts/renesas/r9a09g077m44-rzt2h-evk.dts > create mode 100644 arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi > create mode 100644 drivers/clk/renesas/r9a09g077-cpg-mssr.c > create mode 100644 drivers/tty/serial/rzsci.c > create mode 100644 drivers/tty/serial/rzsci.h > create mode 100644 drivers/tty/serial/sh-sci-common.h > create mode 100644 include/dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h > > -- > 2.43.0 > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/renesas/' for 20250226130935.3029927-1-thierry.bultel.yh@bp.renesas.com: arch/arm64/boot/dts/renesas/r8a77980a-condor-i.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774c0-ek874-idk-2121wr.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77965-ulcb.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m1-ulcb.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77961-ulcb-kf.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77960-ulcb-kf.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77965-ulcb-kf.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774c0-ek874.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-rev2.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-rev2-ex.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779g0-white-hawk.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779g2-white-hawk-single.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774e1-hihope-rzg2h-ex-idk-1110wr.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774c0-ek874-mipi-2.1.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-rev2-ex-idk-1110wr.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774e1-hihope-rzg2h-ex-mipi-2.1.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77970-eagle.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-mipi-2.1.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m5-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779f4-s4sk.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-ex-mipi-2.1.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-ex.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774c0-cat874.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77951-ulcb-kf.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77960-ulcb.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77951-ulcb.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-rev2-ex-idk-1110wr.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-rev2.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77970-v3msk.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m1-ulcb-kf.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m1-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m3-ulcb-kf.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774e1-beacon-rzg2h-kit.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77961-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77990-ebisu.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n-ex-idk-1110wr.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77960-salvator-x.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77980-condor.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77960-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779g3-white-hawk-single.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774e1-hihope-rzg2h-ex.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779a0-falcon.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77965-salvator-x.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779f0-spider.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774e1-hihope-rzg2h.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-hihope-rzg2n.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77961-ulcb.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a77995-draak.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774b1-beacon-rzg2n-kit.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m3-ulcb.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779m3-salvator-xs.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 4096]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a779g0-white-hawk-cpu.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 16384]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-rev2-ex.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml# arch/arm64/boot/dts/renesas/r8a774a1-beacon-rzg2m-kit.dtb: clock-controller@e6150000: reg: [[0, 3860135936, 0, 2992]] is too short from schema $id: http://devicetree.org/schemas/clock/renesas,cpg-mssr.yaml#