Message ID | 20241206-rcar-gh-dsi-v3-10-d74c2166fa15@ideasonboard.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | b1000645dc29701fafd12d0c6f22ab080de6ab43 |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | drm: Add DSI/DP support for Renesas r8a779h0 V4M and grey-hawk board | expand |
Hi Tomi, On Fri, Dec 6, 2024 at 10:33 AM Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> wrote: > From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> > > Add support for the mini DP output on the Gray Hawk board. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Thanks for your patch! > --- a/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts > +++ b/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts > @@ -269,6 +314,51 @@ eeprom@53 { > }; > }; > > +&i2c1 { > + pinctrl-0 = <&i2c1_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > + clock-frequency = <400000>; > + > + bridge@2c { Missing: pinctrl-0 = <&irq0_pins>; pinctrl-names = "default"; > + compatible = "ti,sn65dsi86"; > + reg = <0x2c>; > + > + clocks = <&sn65dsi86_refclk>; > + clock-names = "refclk"; > + > + interrupt-parent = <&intc_ex>; > + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; interrupts-extended = ... > + > + enable-gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; > + > + vccio-supply = <®_1p8v>; > + vpll-supply = <®_1p8v>; > + vcca-supply = <®_1p2v>; > + vcc-supply = <®_1p2v>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + sn65dsi86_in0: endpoint { > + remote-endpoint = <&dsi0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + sn65dsi86_out0: endpoint { > + remote-endpoint = <&mini_dp_con_in>; > + }; > + }; > + }; > + }; > +}; > + > &i2c3 { > pinctrl-0 = <&i2c3_pins>; > pinctrl-names = "default"; > @@ -361,6 +451,11 @@ i2c0_pins: i2c0 { > function = "i2c0"; > }; > > + i2c1_pins: i2c1 { > + groups = "i2c1"; > + function = "i2c1"; > + }; > + > i2c3_pins: i2c3 { > groups = "i2c3"; > function = "i2c3"; Missing: irq0_pins: irq0 { groups = "intc_ex_irq0_a"; function = "intc_ex"; }; I'll fix that up while applying. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> i.e. will queue in renesas-devel for v6.14. Gr{oetje,eeting}s, Geert
Hi, On 10/12/2024 18:34, Geert Uytterhoeven wrote: > Hi Tomi, > > On Fri, Dec 6, 2024 at 10:33 AM Tomi Valkeinen > <tomi.valkeinen@ideasonboard.com> wrote: >> From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> >> >> Add support for the mini DP output on the Gray Hawk board. >> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> >> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> >> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> > > Thanks for your patch! > >> --- a/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts >> +++ b/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts >> @@ -269,6 +314,51 @@ eeprom@53 { >> }; >> }; >> >> +&i2c1 { >> + pinctrl-0 = <&i2c1_pins>; >> + pinctrl-names = "default"; >> + >> + status = "okay"; >> + clock-frequency = <400000>; >> + >> + bridge@2c { > > Missing: > > pinctrl-0 = <&irq0_pins>; > pinctrl-names = "default"; > >> + compatible = "ti,sn65dsi86"; >> + reg = <0x2c>; >> + >> + clocks = <&sn65dsi86_refclk>; >> + clock-names = "refclk"; >> + >> + interrupt-parent = <&intc_ex>; >> + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; > > interrupts-extended = ... Is that just to use the same style in the whole dts, or is there some specific need for the extended one here? >> + >> + enable-gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; >> + >> + vccio-supply = <®_1p8v>; >> + vpll-supply = <®_1p8v>; >> + vcca-supply = <®_1p2v>; >> + vcc-supply = <®_1p2v>; >> + >> + ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@0 { >> + reg = <0>; >> + sn65dsi86_in0: endpoint { >> + remote-endpoint = <&dsi0_out>; >> + }; >> + }; >> + >> + port@1 { >> + reg = <1>; >> + sn65dsi86_out0: endpoint { >> + remote-endpoint = <&mini_dp_con_in>; >> + }; >> + }; >> + }; >> + }; >> +}; >> + >> &i2c3 { >> pinctrl-0 = <&i2c3_pins>; >> pinctrl-names = "default"; >> @@ -361,6 +451,11 @@ i2c0_pins: i2c0 { >> function = "i2c0"; >> }; >> >> + i2c1_pins: i2c1 { >> + groups = "i2c1"; >> + function = "i2c1"; >> + }; >> + >> i2c3_pins: i2c3 { >> groups = "i2c3"; >> function = "i2c3"; > > Missing: > > irq0_pins: irq0 { > groups = "intc_ex_irq0_a"; > function = "intc_ex"; > }; > > I'll fix that up while applying. Thanks! Tomi > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > i.e. will queue in renesas-devel for v6.14. > > Gr{oetje,eeting}s, > > Geert >
Hi Tomi, On Tue, Dec 10, 2024 at 7:10 PM Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> wrote: > On 10/12/2024 18:34, Geert Uytterhoeven wrote: > > On Fri, Dec 6, 2024 at 10:33 AM Tomi Valkeinen > > <tomi.valkeinen@ideasonboard.com> wrote: > >> From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> > >> > >> Add support for the mini DP output on the Gray Hawk board. > >> > >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> > >> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > >> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> > > > > Thanks for your patch! > > > >> --- a/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts > >> +++ b/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts > >> + compatible = "ti,sn65dsi86"; > >> + reg = <0x2c>; > >> + > >> + clocks = <&sn65dsi86_refclk>; > >> + clock-names = "refclk"; > >> + > >> + interrupt-parent = <&intc_ex>; > >> + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; > > > > interrupts-extended = ... > > Is that just to use the same style in the whole dts, or is there some > specific need for the extended one here? There is no real technical need to use the extended one, but it is more concise. That's why we just converted all such cases in Renesas DTS files in v6.13-rc1. And of course it reduces the difference between arch/arm64/boot/dts/renesas/white-hawk-cpu-common.dtsi and arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts. Gr{oetje,eeting}s, Geert
diff --git a/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts b/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts index 057f959d67b3..7cdf07b6dde6 100644 --- a/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts +++ b/arch/arm64/boot/dts/renesas/r8a779h0-gray-hawk-single.dts @@ -59,6 +59,12 @@ chosen { stdout-path = "serial0:921600n8"; }; + sn65dsi86_refclk: clk-x6 { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <38400000>; + }; + keys { compatible = "gpio-keys"; @@ -126,6 +132,27 @@ memory@480000000 { reg = <0x4 0x80000000 0x1 0x80000000>; }; + mini-dp-con { + compatible = "dp-connector"; + label = "CN5"; + type = "mini"; + + port { + mini_dp_con_in: endpoint { + remote-endpoint = <&sn65dsi86_out0>; + }; + }; + }; + + reg_1p2v: regulator-1p2v { + compatible = "regulator-fixed"; + regulator-name = "fixed-1.2V"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-boot-on; + regulator-always-on; + }; + reg_1p8v: regulator-1p8v { compatible = "regulator-fixed"; regulator-name = "fixed-1.8V"; @@ -200,6 +227,24 @@ channel1 { }; }; +&dsi0 { + status = "okay"; + + ports { + port@1 { + reg = <1>; + dsi0_out: endpoint { + remote-endpoint = <&sn65dsi86_in0>; + data-lanes = <1 2 3 4>; + }; + }; + }; +}; + +&du { + status = "okay"; +}; + &extal_clk { clock-frequency = <16666666>; }; @@ -269,6 +314,51 @@ eeprom@53 { }; }; +&i2c1 { + pinctrl-0 = <&i2c1_pins>; + pinctrl-names = "default"; + + status = "okay"; + clock-frequency = <400000>; + + bridge@2c { + compatible = "ti,sn65dsi86"; + reg = <0x2c>; + + clocks = <&sn65dsi86_refclk>; + clock-names = "refclk"; + + interrupt-parent = <&intc_ex>; + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; + + enable-gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; + + vccio-supply = <®_1p8v>; + vpll-supply = <®_1p8v>; + vcca-supply = <®_1p2v>; + vcc-supply = <®_1p2v>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + sn65dsi86_in0: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + + port@1 { + reg = <1>; + sn65dsi86_out0: endpoint { + remote-endpoint = <&mini_dp_con_in>; + }; + }; + }; + }; +}; + &i2c3 { pinctrl-0 = <&i2c3_pins>; pinctrl-names = "default"; @@ -361,6 +451,11 @@ i2c0_pins: i2c0 { function = "i2c0"; }; + i2c1_pins: i2c1 { + groups = "i2c1"; + function = "i2c1"; + }; + i2c3_pins: i2c3 { groups = "i2c3"; function = "i2c3";