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
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 = <®_3p3v>;
+ vqmmc-supply = <&vqmmc_sdhi0>;
+ bus-width = <4>;
+
+ status = "okay";
+};
--
2.45.2
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
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
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
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
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
--
Nobuhiro Iwamatsu
iwamatsu at {nigauri.org / debian.org / kernel.org}
GPG ID: 32247FBB40AD1FA6
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
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
--
Nobuhiro Iwamatsu
iwamatsu at {nigauri.org / debian.org / kernel.org}
GPG ID: 32247FBB40AD1FA6
© 2016 - 2026 Red Hat, Inc.