diff mbox series

[v2] arm64: dts: renesas: r8a779f0: spider-cpu: Enable UFS device

Message ID 20230113134639.338908-1-yoshihiro.shimoda.uh@renesas.com (mailing list archive)
State Mainlined
Commit afdc9a248ca34a61725eb29888c01e2649a96c17
Delegated to: Geert Uytterhoeven
Headers show
Series [v2] arm64: dts: renesas: r8a779f0: spider-cpu: Enable UFS device | expand

Commit Message

Yoshihiro Shimoda Jan. 13, 2023, 1:46 p.m. UTC
Enable UFS device for R-Car S4-8 Spider CPU board.

Note that the conditions of RC21012 on the Spider are:
 - OUT11 (for UFS30_REFCLK_V) is disabled as default.
 - OUT11 is controlled by GPIO0 pin.
 - The GPIO0 pin is inverted sense (low active) and pull-up enabled.

To output the clock, pin 4 of TCA9554 on the Spider board needs to
output low level so that using "gpio-gate-clock" for it.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 Changes from v1:
 - Add /delete-property/ clock-frequency; in the ufs30_clk.
 - Add Tested-by. (Geert-san, thanks!)

 .../boot/dts/renesas/r8a779f0-spider-cpu.dtsi | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Geert Uytterhoeven Jan. 25, 2023, 10:42 a.m. UTC | #1
On Fri, Jan 13, 2023 at 2:46 PM Yoshihiro Shimoda
<yoshihiro.shimoda.uh@renesas.com> wrote:
> Enable UFS device for R-Car S4-8 Spider CPU board.
>
> Note that the conditions of RC21012 on the Spider are:
>  - OUT11 (for UFS30_REFCLK_V) is disabled as default.
>  - OUT11 is controlled by GPIO0 pin.
>  - The GPIO0 pin is inverted sense (low active) and pull-up enabled.
>
> To output the clock, pin 4 of TCA9554 on the Spider board needs to
> output low level so that using "gpio-gate-clock" for it.
>
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  Changes from v1:
>  - Add /delete-property/ clock-frequency; in the ufs30_clk.
>  - Add Tested-by. (Geert-san, thanks!)

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v6.3.

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
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/r8a779f0-spider-cpu.dtsi b/arch/arm64/boot/dts/renesas/r8a779f0-spider-cpu.dtsi
index 25b34d66061a..adb07dfd63f6 100644
--- a/arch/arm64/boot/dts/renesas/r8a779f0-spider-cpu.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a779f0-spider-cpu.dtsi
@@ -5,6 +5,7 @@ 
  * Copyright (C) 2021 Renesas Electronics Corp.
  */
 
+#include <dt-bindings/gpio/gpio.h>
 #include "r8a779f0.dtsi"
 
 / {
@@ -32,6 +33,12 @@  memory@480000000 {
 		reg = <0x4 0x80000000 0x0 0x80000000>;
 	};
 
+	rc21012_ufs: clk-rc21012-ufs {
+		compatible = "fixed-clock";
+		clock-frequency = <38400000>;
+		#clock-cells = <0>;
+	};
+
 	reg_1p8v: regulator-1p8v {
 		compatible = "regulator-fixed";
 		regulator-name = "fixed-1.8V";
@@ -67,6 +74,21 @@  &hscif0 {
 	status = "okay";
 };
 
+&i2c0 {
+	pinctrl-0 = <&i2c0_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+	clock-frequency = <400000>;
+
+	gpio_exp_20: gpio@20 {
+		compatible = "ti,tca9554";
+		reg = <0x20>;
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+};
+
 &i2c4 {
 	pinctrl-0 = <&i2c4_pins>;
 	pinctrl-names = "default";
@@ -112,6 +134,11 @@  hscif0_pins: hscif0 {
 		function = "hscif0";
 	};
 
+	i2c0_pins: i2c0 {
+		groups = "i2c0";
+		function = "i2c0";
+	};
+
 	i2c4_pins: i2c4 {
 		groups = "i2c4";
 		function = "i2c4";
@@ -150,3 +177,14 @@  &scif0 {
 &scif_clk {
 	clock-frequency = <24000000>;
 };
+
+&ufs {
+	status = "okay";
+};
+
+&ufs30_clk {
+	compatible = "gpio-gate-clock";
+	clocks = <&rc21012_ufs>;
+	enable-gpios = <&gpio_exp_20 4 GPIO_ACTIVE_LOW>;
+	/delete-property/ clock-frequency;
+};