diff mbox series

[4/4] arm64: dts: renesas: Add initial device tree for Yuridenki-Shokai Kakip board

Message ID 20250111080903.3566296-5-iwamatsu@nigauri.org (mailing list archive)
State Superseded
Delegated to: Geert Uytterhoeven
Headers show
Series Add support Yuridenki-Shokai Kakip board | expand

Commit Message

Nobuhiro Iwamatsu Jan. 11, 2025, 8:09 a.m. UTC
Add basic support for Yuridenki-Shokai Kakip board based on R9A09G057H48.
This commit supports the following:

  - Memory
  - Input clocks
  - Pin Control
  - SCIF
  - OSTM0 - OSTM7
  - SDHI0

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
 arch/arm64/boot/dts/renesas/Makefile          |   1 +
 .../boot/dts/renesas/r9a09g057h48-kakip.dts   | 138 ++++++++++++++++++
 2 files changed, 139 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts

Comments

Krzysztof Kozlowski Jan. 11, 2025, 9:34 a.m. UTC | #1
On 11/01/2025 09:09, Nobuhiro Iwamatsu wrote:
> +++ b/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts
> @@ -0,0 +1,138 @@
> +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +/*
> + * Device Tree Source for Yuridenki-Shokai the Kakip board
> + *
> + * Copyright (C) 2024 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/pinctrl/renesas,r9a09g057-pinctrl.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include "r9a09g057.dtsi"
> +
> +/ {
> +	model = "Yuridenki-Shokai Kakip Board based on r9a09g057h48";
> +	compatible = "yuridenki,kakip", "renesas,r9a09g057h48", "renesas,r9a09g057";
> +
> +	aliases {
> +		serial0 = &scif;
> +		mmc0 = &sdhi0;
> +	};
> +
> +	chosen {
> +		bootargs = "ignore_loglevel";

Not really suitable for mainline DTS. This is just debugging, so drop.
Just like earlycon - not suitable for mainline usage.

> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	memory@48000000 {
> +		device_type = "memory";
> +		/* first 128MB is reserved for secure area. */
> +		reg = <0x0 0x48000000 0x1 0xF8000000>;
> +	};
> +
> +	reg_3p3v: regulator1 {

Keep consistent naming. regulator-1 or the name as in bindings:
'regulator-[0-9]v[0-9]'

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml?h=v6.11-rc1#n46

> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "fixed-3.3V";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-boot-on;
> +		regulator-always-on;
> +	};
> +
> +	vqmmc_sdhi0: regulator-vccq-sdhi0 {

regulator-2? Why different styles of names?

> +		compatible = "regulator-gpio";
> +		regulator-name = "SDHI0 VccQ";
> +		gpios = <&pinctrl RZV2H_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <3300000>;
> +		gpios-states = <0>;
> +		states = <3300000 0 1800000 1>;
> +	};
> +};
> +
> +&qextal_clk {
> +	clock-frequency = <24000000>;
> +};
> +
> +&pinctrl {
> +	scif_pins: scif {
> +		pins =  "SCIF_RXD", "SCIF_TXD";
> +	};
> +
> +	sd0-pwr-en-hog {
> +		gpio-hog;
> +		gpios = <RZV2H_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
> +		output-high;
> +		line-name = "sd0_pwr_en";
> +	};
> +
> +	sdhi0_pins: sd0 {
> +		sd0_data {


No underscores in node names. Please follow DTS coding style.


Best regards,
Krzysztof
Nobuhiro Iwamatsu Jan. 14, 2025, 1:34 p.m. UTC | #2
Hi,

Thanks for your review.

2025年1月11日(土) 18:34 Krzysztof Kozlowski <krzk@kernel.org>:
>
> On 11/01/2025 09:09, Nobuhiro Iwamatsu wrote:
> > +++ b/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts
> > @@ -0,0 +1,138 @@
> > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +/*
> > + * Device Tree Source for Yuridenki-Shokai the Kakip board
> > + *
> > + * Copyright (C) 2024 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include <dt-bindings/pinctrl/renesas,r9a09g057-pinctrl.h>
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include "r9a09g057.dtsi"
> > +
> > +/ {
> > +     model = "Yuridenki-Shokai Kakip Board based on r9a09g057h48";
> > +     compatible = "yuridenki,kakip", "renesas,r9a09g057h48", "renesas,r9a09g057";
> > +
> > +     aliases {
> > +             serial0 = &scif;
> > +             mmc0 = &sdhi0;
> > +     };
> > +
> > +     chosen {
> > +             bootargs = "ignore_loglevel";
>
> Not really suitable for mainline DTS. This is just debugging, so drop.
> Just like earlycon - not suitable for mainline usage.

OK, I will drop this.
>
> > +             stdout-path = "serial0:115200n8";
> > +     };
> > +
> > +     memory@48000000 {
> > +             device_type = "memory";
> > +             /* first 128MB is reserved for secure area. */
> > +             reg = <0x0 0x48000000 0x1 0xF8000000>;
> > +     };
> > +
> > +     reg_3p3v: regulator1 {
>
> Keep consistent naming. regulator-1 or the name as in bindings:
> 'regulator-[0-9]v[0-9]'
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml?h=v6.11-rc1#n46
>

Thanks, I will fix naming and use regulator-*.

> > +             compatible = "regulator-fixed";
> > +
> > +             regulator-name = "fixed-3.3V";
> > +             regulator-min-microvolt = <3300000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             regulator-boot-on;
> > +             regulator-always-on;
> > +     };
> > +
> > +     vqmmc_sdhi0: regulator-vccq-sdhi0 {
>
> regulator-2? Why different styles of names?
>
> > +             compatible = "regulator-gpio";
> > +             regulator-name = "SDHI0 VccQ";
> > +             gpios = <&pinctrl RZV2H_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
> > +             regulator-min-microvolt = <1800000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             gpios-states = <0>;
> > +             states = <3300000 0 1800000 1>;
> > +     };
> > +};
> > +
> > +&qextal_clk {
> > +     clock-frequency = <24000000>;
> > +};
> > +
> > +&pinctrl {
> > +     scif_pins: scif {
> > +             pins =  "SCIF_RXD", "SCIF_TXD";
> > +     };
> > +
> > +     sd0-pwr-en-hog {
> > +             gpio-hog;
> > +             gpios = <RZV2H_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
> > +             output-high;
> > +             line-name = "sd0_pwr_en";
> > +     };
> > +
> > +     sdhi0_pins: sd0 {
> > +             sd0_data {
>
>
> No underscores in node names. Please follow DTS coding style.
>

OK, I will fix these.

>
> Best regards,
> Krzysztof

Best regards,
  Nobuhiro
Geert Uytterhoeven Jan. 14, 2025, 1:44 p.m. UTC | #3
Hi Krzysztof,

On Sat, Jan 11, 2025 at 10:35 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> On 11/01/2025 09:09, Nobuhiro Iwamatsu wrote:
> > +++ b/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts
> > +             stdout-path = "serial0:115200n8";
> > +     };
> > +
> > +     memory@48000000 {
> > +             device_type = "memory";
> > +             /* first 128MB is reserved for secure area. */
> > +             reg = <0x0 0x48000000 0x1 0xF8000000>;
> > +     };
> > +
> > +     reg_3p3v: regulator1 {
>
> Keep consistent naming. regulator-1 or the name as in bindings:
> 'regulator-[0-9]v[0-9]'

Please use the latter...

>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml?h=v6.11-rc1#n46
>
> > +             compatible = "regulator-fixed";
> > +
> > +             regulator-name = "fixed-3.3V";
> > +             regulator-min-microvolt = <3300000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             regulator-boot-on;
> > +             regulator-always-on;
> > +     };
> > +
> > +     vqmmc_sdhi0: regulator-vccq-sdhi0 {
>
> regulator-2? Why different styles of names?

... i.e. no numbered regulators, as these tend to cause hard-to-debug
conflicts.

Gr{oetje,eeting}s,

                        Geert
Krzysztof Kozlowski Jan. 15, 2025, 8:36 a.m. UTC | #4
On 14/01/2025 14:44, Geert Uytterhoeven wrote:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml?h=v6.11-rc1#n46
>>
>>> +             compatible = "regulator-fixed";
>>> +
>>> +             regulator-name = "fixed-3.3V";
>>> +             regulator-min-microvolt = <3300000>;
>>> +             regulator-max-microvolt = <3300000>;
>>> +             regulator-boot-on;
>>> +             regulator-always-on;
>>> +     };
>>> +
>>> +     vqmmc_sdhi0: regulator-vccq-sdhi0 {
>>
>> regulator-2? Why different styles of names?
> 
> ... i.e. no numbered regulators, as these tend to cause hard-to-debug
> conflicts.
"regulator-vccq-sdhi0" also works for me, because the recommended
pattern might have name conflicts, but then please keep the style across
all of them in this patch.

Best regards,
Krzysztof
Nobuhiro Iwamatsu Jan. 16, 2025, 2:24 p.m. UTC | #5
Hi,

Thanks for your comment.

2025年1月14日(火) 22:44 Geert Uytterhoeven <geert@linux-m68k.org>:
>
> Hi Krzysztof,
>
> On Sat, Jan 11, 2025 at 10:35 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > On 11/01/2025 09:09, Nobuhiro Iwamatsu wrote:
> > > +++ b/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts
> > > +             stdout-path = "serial0:115200n8";
> > > +     };
> > > +
> > > +     memory@48000000 {
> > > +             device_type = "memory";
> > > +             /* first 128MB is reserved for secure area. */
> > > +             reg = <0x0 0x48000000 0x1 0xF8000000>;
> > > +     };
> > > +
> > > +     reg_3p3v: regulator1 {
> >
> > Keep consistent naming. regulator-1 or the name as in bindings:
> > 'regulator-[0-9]v[0-9]'
>
> Please use the latter...

OK, I will use 'regulator-3v3'.
>
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml?h=v6.11-rc1#n46
> >
> > > +             compatible = "regulator-fixed";
> > > +
> > > +             regulator-name = "fixed-3.3V";
> > > +             regulator-min-microvolt = <3300000>;
> > > +             regulator-max-microvolt = <3300000>;
> > > +             regulator-boot-on;
> > > +             regulator-always-on;
> > > +     };
> > > +
> > > +     vqmmc_sdhi0: regulator-vccq-sdhi0 {
> >
> > regulator-2? Why different styles of names?
>
> ... i.e. no numbered regulators, as these tend to cause hard-to-debug
> conflicts.

OK, I will keep regulator-vccq-sdhi0 .

Best regards,
  Nobuhiro
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 928635f2e76bbb..698f790bd42524 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -149,6 +149,7 @@  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
 dtb-$(CONFIG_ARCH_R9A09G047) += r9a09g047e57-smarc.dtb
 
 dtb-$(CONFIG_ARCH_R9A09G057) += r9a09g057h44-rzv2h-evk.dtb
+dtb-$(CONFIG_ARCH_R9A09G057) += r9a09g057h48-kakip.dtb
 
 dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-ebisu-panel-aa104xd12.dtbo
 dtb-$(CONFIG_ARCH_RCAR_GEN3) += salvator-panel-aa104xd12.dtbo
diff --git a/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts b/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts
new file mode 100644
index 00000000000000..4046b87a1f3bd6
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r9a09g057h48-kakip.dts
@@ -0,0 +1,138 @@ 
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Device Tree Source for Yuridenki-Shokai the Kakip board
+ *
+ * Copyright (C) 2024 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/pinctrl/renesas,r9a09g057-pinctrl.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "r9a09g057.dtsi"
+
+/ {
+	model = "Yuridenki-Shokai Kakip Board based on r9a09g057h48";
+	compatible = "yuridenki,kakip", "renesas,r9a09g057h48", "renesas,r9a09g057";
+
+	aliases {
+		serial0 = &scif;
+		mmc0 = &sdhi0;
+	};
+
+	chosen {
+		bootargs = "ignore_loglevel";
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@48000000 {
+		device_type = "memory";
+		/* first 128MB is reserved for secure area. */
+		reg = <0x0 0x48000000 0x1 0xF8000000>;
+	};
+
+	reg_3p3v: regulator1 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "fixed-3.3V";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
+	vqmmc_sdhi0: regulator-vccq-sdhi0 {
+		compatible = "regulator-gpio";
+		regulator-name = "SDHI0 VccQ";
+		gpios = <&pinctrl RZV2H_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+		gpios-states = <0>;
+		states = <3300000 0 1800000 1>;
+	};
+};
+
+&qextal_clk {
+	clock-frequency = <24000000>;
+};
+
+&pinctrl {
+	scif_pins: scif {
+		pins =  "SCIF_RXD", "SCIF_TXD";
+	};
+
+	sd0-pwr-en-hog {
+		gpio-hog;
+		gpios = <RZV2H_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
+		output-high;
+		line-name = "sd0_pwr_en";
+	};
+
+	sdhi0_pins: sd0 {
+		sd0_data {
+			pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3", "SD0CMD";
+			input-enable;
+			renesas,output-impedance = <3>;
+			slew-rate = <0>;
+		};
+
+		sd0_clk {
+			pins = "SD0CLK";
+			renesas,output-impedance = <3>;
+			slew-rate = <0>;
+		};
+
+		sd0_mux {
+			pinmux = <RZV2H_PORT_PINMUX(A, 5, 15)>; /* SD0_CD */
+		};
+	};
+};
+
+&scif {
+	pinctrl-0 = <&scif_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&ostm0 {
+	status = "okay";
+};
+
+&ostm1 {
+	status = "okay";
+};
+
+&ostm2 {
+	status = "okay";
+};
+
+&ostm3 {
+	status = "okay";
+};
+
+&ostm4 {
+	status = "okay";
+};
+
+&ostm5 {
+	status = "okay";
+};
+
+&ostm6 {
+	status = "okay";
+};
+
+&ostm7 {
+	status = "okay";
+};
+
+&sdhi0 {
+	pinctrl-0 = <&sdhi0_pins>;
+	pinctrl-names = "default";
+	vmmc-supply = <&reg_3p3v>;
+	vqmmc-supply = <&vqmmc_sdhi0>;
+	bus-width = <4>;
+
+	status = "okay";
+};