[PATCH/RFC 00/19] arm64: dts: renesas: Initial support for R-Car M3-W+

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	Hi all,

This RFC patch series adds support for the R-Car M3-W+ (R8A77961) SoC
and the Salvator-XS board with R-Car M3-W+.  This SoC is a derivative of
R-Car M3-W (R8A77960), and also known as R-Car M3-W ES3.0.
As this is an RFC, I'm sending it to a limited audience.

Based on experience with previous SoCs in the R-Car Gen3 family, the
following design decisions were made:
  - Use different compatible values (r8a77961-based),
  - Use different clock and SYSC DT binding definitions
    (R8A77961-based), but the same numerical values, to allow sharing
    drivers,
  - Share the pin control driver,
  - Share the clock driver,
  - Share the system controller driver.

While the DT ABI is stable (hence we cannot s/r8a7796/r8a77960/ in DTS),
kernel source code and kernel config symbols can be changed at any
time.  As changing kernel config symbols impacts the user, they weren't
renamed yet.

Questions:
  - What's the board part number of Salvator-XS with R-Car M3-W+?
  - Should r8a77961_pinmux_info (and the rename of r8a7796_pinmux_info
    to r8a77960_pinmux_info) be dropped? I added it because
    r8a7796_pinmux_info.name contains "r8a77960_pfc".

  - Should the CLK_R8A77961 and PINCTRL_PFC_R8A77961 symbols be dropped?
    The clock and pin control drivers are the same or almost the same,
    so the code increase by always enabling both is minimal.

  - Should the R8A77961 config symbols be dropped?
      - CONFIG_ARCH_R8A77961
      - CONFIG_CLK_R8A77961
      - CONFIG_PINCTRL_PFC_R8A77961
      - CONFIG_SYSC_R8A77961

  - If not, should the R8A7796 config symbols be renamed?
      - CONFIG_ARCH_R8A7796 to CONFIG_ARCH_R8A77960?
      - CONFIG_CLK_R8A7796 to CONFIG_CLK_R8A77960?
      - CONFIG_PINCTRL_PFC_R8A7796 to CONFIG_PINCTRL_PFC_R8A77960?
      - CONFIG_SYSC_R8A7796 to CONFIG_SYSC_R8A77960?
    Due to dependencies on CONFIG_ARCH_R8A7796, this should be a single
    commit.

Related questions for old R-Car H3 ES1.x support:
  - Should CONFIG_PINCTRL_PFC_R8A77950 be added, to allow compiling out
    R-Car H3 ES1.x pin control support?
    If yes, should CONFIG_PINCTRL_PFC_R8A7795 be renamed to
    CONFIG_PINCTRL_PFC_R8A77951?

This patch series is based on renesas-drivers-2019-10-01-v5.4-rc1).  For
your convenience, it is available in the topic/r8a77961-v1 branch of my
renesas-drivers git repository at
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git.

This has been tested using remote access.

Thanks for your comments!

Geert Uytterhoeven (19):
  dt-bindings: arm: renesas: Document R-Car M3-W+ SoC DT bindings
  dt-bindings: arm: renesas: Add Salvator-XS board with R-Car M3-W+
  dt-bindings: clock: renesas: cpg-mssr: Document r8a77961 support
  dt-bindings: pinctrl: sh-pfc: Document r8a77961 support
  dt-bindings: power: rcar-sysc: Document r8a77961 support
  dt-bindings: reset: rcar-rst: Document r8a77961 support
  dt-bindings: serial: sh-sci: Document r8a77961 bindings
  dt-bindings: power: Add r8a77961 SYSC power domain definitions
  dt-bindings: clock: Add r8a77961 CPG Core Clock Definitions
  soc: renesas: Add R8A77961 config option
  soc: renesas: Identify R-Car M3-W+
  soc: renesas: rcar-sysc: Add R8A77961 support
  soc: renesas: rcar-rst: Add support for R-Car M3-W+
  clk: renesas: r8a7796: Add R8A77961 CPG/MSSR support
  pinctrl: sh-pfc: r8a7796: Add R8A77961 PFC support
  arm64: dts: renesas: Add Renesas R8A77961 SoC support
  arm64: dts: renesas: Add support for Salvator-XS with R-Car M3-W+
  arm64: defconfig: Enable R8A77961 SoC
  [LOCAL] arm64: renesas_defconfig: Enable R8A77961 SoC

 .../devicetree/bindings/arm/renesas.yaml      |   6 +
 .../bindings/clock/renesas,cpg-mssr.txt       |   9 +-
 .../bindings/pinctrl/renesas,pfc-pinctrl.txt  |   1 +
 .../bindings/power/renesas,rcar-sysc.txt      |   1 +
 .../devicetree/bindings/reset/renesas,rst.txt |   1 +
 .../bindings/serial/renesas,sci-serial.txt    |   2 +
 arch/arm64/boot/dts/renesas/Makefile          |   1 +
 .../boot/dts/renesas/r8a77961-salvator-xs.dts |  31 +
 arch/arm64/boot/dts/renesas/r8a77961.dtsi     | 723 ++++++++++++++++++
 arch/arm64/configs/defconfig                  |   1 +
 arch/arm64/configs/renesas_defconfig          |   1 +
 drivers/clk/renesas/Kconfig                   |   5 +
 drivers/clk/renesas/Makefile                  |   1 +
 drivers/clk/renesas/r8a7796-cpg-mssr.c        |  21 +-
 drivers/clk/renesas/renesas-cpg-mssr.c        |   6 +
 drivers/pinctrl/sh-pfc/Kconfig                |   4 +
 drivers/pinctrl/sh-pfc/Makefile               |   1 +
 drivers/pinctrl/sh-pfc/core.c                 |   8 +-
 drivers/pinctrl/sh-pfc/pfc-r8a7796.c          |  31 +-
 drivers/pinctrl/sh-pfc/sh_pfc.h               |   3 +-
 drivers/soc/renesas/Kconfig                   |  11 +
 drivers/soc/renesas/Makefile                  |   1 +
 drivers/soc/renesas/r8a7796-sysc.c            |  27 +-
 drivers/soc/renesas/rcar-rst.c                |   1 +
 drivers/soc/renesas/rcar-sysc.c               |   5 +-
 drivers/soc/renesas/rcar-sysc.h               |   3 +-
 drivers/soc/renesas/renesas-soc.c             |   3 +
 include/dt-bindings/clock/r8a77961-cpg-mssr.h |  65 ++
 include/dt-bindings/power/r8a77961-sysc.h     |  32 +
 29 files changed, 978 insertions(+), 27 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a77961-salvator-xs.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a77961.dtsi
 create mode 100644 include/dt-bindings/clock/r8a77961-cpg-mssr.h
 create mode 100644 include/dt-bindings/power/r8a77961-sysc.h

-- 
2.17.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux