Message ID | 20240111113146.16011-5-dario.binacchi@amarulasolutions.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add display support for stm32f769-disco board | expand |
On 1/11/24 12:31, Dario Binacchi wrote: > The patch adds display support on the stm32f769-disco board. > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > --- > > (no changes since v1) > > arch/arm/boot/dts/st/stm32f769-disco.dts | 72 +++++++++++++++++++++++- > 1 file changed, 71 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/st/stm32f769-disco.dts b/arch/arm/boot/dts/st/stm32f769-disco.dts > index 8632bd866272..d1eb5f9c78bf 100644 > --- a/arch/arm/boot/dts/st/stm32f769-disco.dts > +++ b/arch/arm/boot/dts/st/stm32f769-disco.dts > @@ -41,7 +41,7 @@ > */ > > /dts-v1/; > -#include "stm32f746.dtsi" > +#include "stm32f769.dtsi" > #include "stm32f769-pinctrl.dtsi" > #include <dt-bindings/input/input.h> > #include <dt-bindings/gpio/gpio.h> > @@ -60,6 +60,19 @@ memory@c0000000 { > reg = <0xC0000000 0x1000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + size = <0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > @@ -85,6 +98,13 @@ button-0 { > }; > }; > > + panel_backlight: panel-backlight { > + compatible = "gpio-backlight"; > + gpios = <&gpioi 14 GPIO_ACTIVE_HIGH>; > + default-on; > + status = "okay"; > + }; > + > usbotg_hs_phy: usb-phy { > #phy-cells = <0>; > compatible = "usb-nop-xceiv"; > @@ -114,6 +134,46 @@ &clk_hse { > clock-frequency = <25000000>; > }; > > +&dsi { > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + dsi_in: endpoint { > + remote-endpoint = <<dc_out_dsi>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + dsi_out: endpoint { > + remote-endpoint = <&dsi_panel_in>; > + }; > + }; > + }; > + > + panel0: panel-dsi@0 { > + compatible = "orisetech,otm8009a"; > + reg = <0>; /* dsi virtual channel (0..3) */ > + reset-gpios = <&gpioj 15 GPIO_ACTIVE_LOW>; > + power-supply = <&vcc_3v3>; > + backlight = <&panel_backlight>; > + status = "okay"; > + > + port { > + dsi_panel_in: endpoint { > + remote-endpoint = <&dsi_out>; > + }; > + }; > + }; > +}; > + > &i2c1 { > pinctrl-0 = <&i2c1_pins_b>; > pinctrl-names = "default"; > @@ -122,6 +182,16 @@ &i2c1 { > status = "okay"; > }; > > +<dc { > + status = "okay"; > + > + port { > + ltdc_out_dsi: endpoint@0 { Hi Dario, There is no need for unit name on this endpoint since it is alone. Otherwise it triggers this warning at build time : .../arch/arm/boot/dts/st/stm32f769-disco.dts:189.28-191.5: Warning (unit_address_vs_reg): /soc/display-controller@40016800/port/endpoint@0: node has a unit name, but no reg or ranges property .../arch/arm/boot/dts/st/stm32f769-disco.dts:189.28-191.5: Warning (unit_address_vs_reg): /soc/display-controller@40016800/port/endpoint@0: node has a unit name, but no reg or ranges property Regards, Raphaƫl > + remote-endpoint = <&dsi_in>; > + }; > + }; > +}; > + > &rtc { > status = "okay"; > };
diff --git a/arch/arm/boot/dts/st/stm32f769-disco.dts b/arch/arm/boot/dts/st/stm32f769-disco.dts index 8632bd866272..d1eb5f9c78bf 100644 --- a/arch/arm/boot/dts/st/stm32f769-disco.dts +++ b/arch/arm/boot/dts/st/stm32f769-disco.dts @@ -41,7 +41,7 @@ */ /dts-v1/; -#include "stm32f746.dtsi" +#include "stm32f769.dtsi" #include "stm32f769-pinctrl.dtsi" #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h> @@ -60,6 +60,19 @@ memory@c0000000 { reg = <0xC0000000 0x1000000>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + linux,dma { + compatible = "shared-dma-pool"; + linux,dma-default; + no-map; + size = <0x100000>; + }; + }; + aliases { serial0 = &usart1; }; @@ -85,6 +98,13 @@ button-0 { }; }; + panel_backlight: panel-backlight { + compatible = "gpio-backlight"; + gpios = <&gpioi 14 GPIO_ACTIVE_HIGH>; + default-on; + status = "okay"; + }; + usbotg_hs_phy: usb-phy { #phy-cells = <0>; compatible = "usb-nop-xceiv"; @@ -114,6 +134,46 @@ &clk_hse { clock-frequency = <25000000>; }; +&dsi { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dsi_in: endpoint { + remote-endpoint = <<dc_out_dsi>; + }; + }; + + port@1 { + reg = <1>; + dsi_out: endpoint { + remote-endpoint = <&dsi_panel_in>; + }; + }; + }; + + panel0: panel-dsi@0 { + compatible = "orisetech,otm8009a"; + reg = <0>; /* dsi virtual channel (0..3) */ + reset-gpios = <&gpioj 15 GPIO_ACTIVE_LOW>; + power-supply = <&vcc_3v3>; + backlight = <&panel_backlight>; + status = "okay"; + + port { + dsi_panel_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + }; +}; + &i2c1 { pinctrl-0 = <&i2c1_pins_b>; pinctrl-names = "default"; @@ -122,6 +182,16 @@ &i2c1 { status = "okay"; }; +<dc { + status = "okay"; + + port { + ltdc_out_dsi: endpoint@0 { + remote-endpoint = <&dsi_in>; + }; + }; +}; + &rtc { status = "okay"; };
The patch adds display support on the stm32f769-disco board. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> --- (no changes since v1) arch/arm/boot/dts/st/stm32f769-disco.dts | 72 +++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-)