I previously sent these patches separately, but since they're touching the same files while coming from different trees, I decided to post it again in a series to make applying them easier.
Bartosz Golaszewski (3): ARM: da850-lcdk: add the dumb-vga-dac node ARM: dts: da850: specify the maximum bandwidth for tilcdc ARM: dts: da850: enable the memctrl and mstpri nodes per board
arch/arm/boot/dts/da850-lcdk.dts | 66 ++++++++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/da850.dtsi | 20 ++++++++++++ 2 files changed, 86 insertions(+)
Add the dumb-vga-dac node to the board DT together with corresponding ports and vga connector. This allows to retrieve the edid info from the display automatically.
Signed-off-by: Bartosz Golaszewski bgolaszewski@baylibre.com --- arch/arm/boot/dts/da850-lcdk.dts | 58 ++++++++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/da850.dtsi | 17 ++++++++++++ 2 files changed, 75 insertions(+)
diff --git a/arch/arm/boot/dts/da850-lcdk.dts b/arch/arm/boot/dts/da850-lcdk.dts index 8411a91..6952c68 100644 --- a/arch/arm/boot/dts/da850-lcdk.dts +++ b/arch/arm/boot/dts/da850-lcdk.dts @@ -50,6 +50,53 @@ system-clock-frequency = <24576000>; }; }; + + vga_bridge { + compatible = "dumb-vga-dac"; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_pins>; + #address-cells = <1>; + #size-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + vga_bridge_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&display_out_vga>; + }; + }; + + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + + vga_bridge_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&vga_con_in>; + }; + }; + }; + }; + + vga { + compatible = "vga-connector"; + + ddc-i2c-bus = <&i2c0>; + + port { + vga_con_in: endpoint { + remote-endpoint = <&vga_bridge_out>; + }; + }; + }; };
&pmx_core { @@ -227,3 +274,14 @@ }; }; }; + +&display { + status = "okay"; +}; + +&display_out { + display_out_vga: endpoint@0 { + reg = <0>; + remote-endpoint = <&vga_bridge_in>; + }; +}; diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index ff13e95..8e30d9b 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -453,6 +453,23 @@ reg = <0x213000 0x1000>; interrupts = <52>; status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + display_in: port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + }; + + display_out: port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + }; + }; }; }; aemif: aemif@68000000 {
It has been determined that the maximum resolution supported correctly by tilcdc rev1 on da850 SoCs is 800x600@60. Due to memory throughput constraints we must filter out higher modes.
Specify the max-bandwidth property for the display node for da850-based boards.
Signed-off-by: Bartosz Golaszewski bgolaszewski@baylibre.com --- arch/arm/boot/dts/da850.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index 8e30d9b..9b7c444 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -452,6 +452,7 @@ compatible = "ti,da850-tilcdc"; reg = <0x213000 0x1000>; interrupts = <52>; + max-bandwidth = <28800000>; status = "disabled";
ports {
Currently the memory controller and master priorities drivers are enabled in da850.dtsi. For boards for which there are no settings defined, this makes these drivers emit error messages.
Disable the nodes in da850.dtsi and only enable them for da850-lcdk - the only board that currently needs them.
Signed-off-by: Bartosz Golaszewski bgolaszewski@baylibre.com --- arch/arm/boot/dts/da850-lcdk.dts | 8 ++++++++ arch/arm/boot/dts/da850.dtsi | 2 ++ 2 files changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/da850-lcdk.dts b/arch/arm/boot/dts/da850-lcdk.dts index 6952c68..d0f7680 100644 --- a/arch/arm/boot/dts/da850-lcdk.dts +++ b/arch/arm/boot/dts/da850-lcdk.dts @@ -285,3 +285,11 @@ remote-endpoint = <&vga_bridge_in>; }; }; + +&prictrl { + status = "okay"; +}; + +&memctrl { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index 9b7c444..2ea0e06 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -213,6 +213,7 @@ prictrl: priority-controller@14110 { compatible = "ti,da850-mstpri"; reg = <0x14110 0x0c>; + status = "disabled"; }; cfgchip: chip-controller@1417c { compatible = "ti,da830-cfgchip", "syscon", "simple-mfd"; @@ -486,5 +487,6 @@ memctrl: memory-controller@b0000000 { compatible = "ti,da850-ddr-controller"; reg = <0xb0000000 0xe8>; + status = "disabled"; }; };
dri-devel@lists.freedesktop.org