Message ID | 20200401132237.60880-19-marex@denx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: dts: stm32: Repair AV96 board | expand |
On Wed, Apr 01, 2020 at 03:22:33PM +0200, Marek Vasut wrote: > Fill in the HDMI video pipeline from AV96 into the DT. > > Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > Cc: Alexandre Torgue <alexandre.torgue@st.com> > Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> > Cc: Patrice Chotard <patrice.chotard@st.com> > Cc: Patrick Delaunay <patrick.delaunay@st.com> > Cc: linux-stm32@st-md-mailman.stormreply.com > To: linux-arm-kernel@lists.infradead.org > --- > V2: No change > V3: No change > V4: Rebase on stm32-next > Use renamed ltdc_*_pins_d > --- > arch/arm/boot/dts/stm32mp157a-avenger96.dts | 79 +++++++++++++++++++++ > 1 file changed, 79 insertions(+) > > diff --git a/arch/arm/boot/dts/stm32mp157a-avenger96.dts b/arch/arm/boot/dts/stm32mp157a-avenger96.dts > index faa9a5185ddd..756e79f2255a 100644 > --- a/arch/arm/boot/dts/stm32mp157a-avenger96.dts > +++ b/arch/arm/boot/dts/stm32mp157a-avenger96.dts > @@ -25,10 +25,28 @@ aliases { > spi0 = &qspi; > }; > > + /* XTal Q1 */ > + cec_clock: clk-cec-fixed { > + #clock-cells = <0>; > + compatible = "fixed-clock"; > + clock-frequency = <24000000>; > + }; > + > chosen { > stdout-path = "serial0:115200n8"; > }; > > + hdmi-out { > + compatible = "hdmi-connector"; > + type = "a"; > + > + port { > + hdmi_con: endpoint { > + remote-endpoint = <&adv7513_out>; > + }; > + }; > + }; > + > memory@c0000000 { > device_type = "memory"; > reg = <0xc0000000 0x40000000>; > @@ -300,6 +318,50 @@ watchdog { > }; > }; > > + hdmi-transmitter@3d { > + compatible = "adi,adv7513"; > + reg = <0x3d>, <0x2d>, <0x4d>, <0x5d>; > + reg-names = "main", "cec", "edid", "packet"; > + clocks = <&cec_clock>; > + clock-names = "cec"; > + > + avdd-supply = <&v3v3>; > + dvdd-supply = <&v3v3>; > + pvdd-supply = <&v3v3>; > + dvdd-3v-supply = <&v3v3>; > + bgvdd-supply = <&v3v3>; > + > + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; > + interrupt-parent = <&gpiog>; > + > + status = "okay"; > + > + adi,input-depth = <8>; > + adi,input-colorspace = "rgb"; > + adi,input-clock = "1x"; > + adi,input-style = <1>; > + adi,input-justification = "evenly"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + adv7513_in: endpoint { > + remote-endpoint = <<dc_ep0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + adv7513_out: endpoint { > + remote-endpoint = <&hdmi_con>; > + }; > + }; > + }; > + }; > + > eeprom@53 { > compatible = "atmel,24c02"; > reg = <0x53>; > @@ -312,6 +374,23 @@ &iwdg2 { > status = "okay"; > }; > > +<dc { > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <<dc_pins_d>; > + pinctrl-1 = <<dc_sleep_pins_d>; > + status = "okay"; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ltdc_ep0_out: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&adv7513_in>; > + }; > + }; > +}; > + > &pwr_regulators { > vdd-supply = <&vdd_io>; > vdd_3v3_usbfs-supply = <&vdd_usb>; > -- > 2.25.1 >
diff --git a/arch/arm/boot/dts/stm32mp157a-avenger96.dts b/arch/arm/boot/dts/stm32mp157a-avenger96.dts index faa9a5185ddd..756e79f2255a 100644 --- a/arch/arm/boot/dts/stm32mp157a-avenger96.dts +++ b/arch/arm/boot/dts/stm32mp157a-avenger96.dts @@ -25,10 +25,28 @@ aliases { spi0 = &qspi; }; + /* XTal Q1 */ + cec_clock: clk-cec-fixed { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <24000000>; + }; + chosen { stdout-path = "serial0:115200n8"; }; + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7513_out>; + }; + }; + }; + memory@c0000000 { device_type = "memory"; reg = <0xc0000000 0x40000000>; @@ -300,6 +318,50 @@ watchdog { }; }; + hdmi-transmitter@3d { + compatible = "adi,adv7513"; + reg = <0x3d>, <0x2d>, <0x4d>, <0x5d>; + reg-names = "main", "cec", "edid", "packet"; + clocks = <&cec_clock>; + clock-names = "cec"; + + avdd-supply = <&v3v3>; + dvdd-supply = <&v3v3>; + pvdd-supply = <&v3v3>; + dvdd-3v-supply = <&v3v3>; + bgvdd-supply = <&v3v3>; + + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&gpiog>; + + status = "okay"; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + adv7513_in: endpoint { + remote-endpoint = <<dc_ep0_out>; + }; + }; + + port@1 { + reg = <1>; + adv7513_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; + eeprom@53 { compatible = "atmel,24c02"; reg = <0x53>; @@ -312,6 +374,23 @@ &iwdg2 { status = "okay"; }; +<dc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <<dc_pins_d>; + pinctrl-1 = <<dc_sleep_pins_d>; + status = "okay"; + + port { + #address-cells = <1>; + #size-cells = <0>; + + ltdc_ep0_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&adv7513_in>; + }; + }; +}; + &pwr_regulators { vdd-supply = <&vdd_io>; vdd_3v3_usbfs-supply = <&vdd_usb>;
Fill in the HDMI video pipeline from AV96 into the DT. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: linux-stm32@st-md-mailman.stormreply.com To: linux-arm-kernel@lists.infradead.org --- V2: No change V3: No change V4: Rebase on stm32-next Use renamed ltdc_*_pins_d --- arch/arm/boot/dts/stm32mp157a-avenger96.dts | 79 +++++++++++++++++++++ 1 file changed, 79 insertions(+)