[PATCH v1 2/3] dt-bindings: display: Add STM32 DSI host driver
Philippe CORNU
philippe.cornu at st.com
Fri May 19 09:25:42 PDT 2017
On 05/18/2017 11:42 PM, Rob Herring wrote:
> On Fri, May 12, 2017 at 04:56:28PM +0200, Philippe CORNU wrote:
>> This patch adds documentation of device tree bindings for the STM32
>> DSI host driver based on the Synopsys DW MIPI DSI driver from Rockchip.
>>
>> Signed-off-by: Philippe CORNU <philippe.cornu at st.com>
>> ---
>> .../devicetree/bindings/display/st,stm32-ltdc.txt | 92 +++++++++++++++++++++-
>> 1 file changed, 90 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt b/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
>> index 8e14769..a61381b 100644
>> --- a/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
>> +++ b/Documentation/devicetree/bindings/display/st,stm32-ltdc.txt
>> @@ -1,7 +1,6 @@
>> * STMicroelectronics STM32 lcd-tft display controller
>>
>> - ltdc: lcd-tft display controller host
>> - must be a sub-node of st-display-subsystem
>
> Why is this removed? The "must" refers to the location, not whether
> present or not if that's what you were trying to change.
>
Dear Rob,
Many thanks for your comments.
There is no need anymore to have a st-display-subsystem parent node in
the device tree for the ltdc, that is why I removed this "must" information.
>> Required properties:
>> - compatible: "st,stm32-ltdc"
>> - reg: Physical base address of the IP registers and length of memory mapped region.
>> @@ -13,8 +12,25 @@
>> Required nodes:
>> - Video port for RGB output.
>>
>> -Example:
>> +* STMicroelectronics STM32 specific extensions to Synopsys Designware MIPI DSI
>> +(similar to "rockchip/dw_mipi_dsi_rockchip.txt")
>>
>> +Required properties:
>> +- #address-cells: Should be <1>.
>> +- #size-cells: Should be <0>.
>> +- compatible: "st,stm32-dsi_host".
>
> Don't use '_' and this needs to be more specific than just "stm32".
>
Fixed in v2 patchset.
>> +- reg: Represent the physical address range of the controller.
>> +- clocks, clock-names: Phandles to the controller's pll reference
>> + clock(ref) and APB clock(pclk). As described in [1].
>
> Ideally these should be in a common binding (like the driver) as a given
> IP block doesn't have a varying number of clocks (typically).
>
Updated in v2 patchset.
>> +- ports: contain a port node with endpoint definitions as defined in [2].
>
> a single port? Need to be clear how many ports/endpoints and their
> function.
>
Updated in v2 patchset.
>> +- resets: list of phandle + reset specifier pairs, as described in [3].
>> +- reset-names: string reset name, must be "apb".
>> +
>> +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
>> +[2] Documentation/devicetree/bindings/media/video-interfaces.txt
>> +[3] Documentation/devicetree/bindings/reset/reset.txt
>> +
>> +Example 1: RGB panel
>> / {
>> ...
>> soc {
>> @@ -34,3 +50,75 @@ Example:
>> };
>> };
>> };
>> +
>> +Example 2: DSI panel
>> +
>> +/ {
>> + ...
>> + soc {
>> + ...
>> + ltdc: display-controller at 40016800 {
>> + compatible = "st,stm32-ltdc";
>> + reg = <0x40016800 0x200>;
>> + interrupts = <88>, <89>;
>> + resets = <&rcc STM32F4_APB2_RESET(LTDC)>;
>> + clocks = <&rcc 1 CLK_LCD>;
>> + clock-names = "lcd";
>> +
>> + port {
>> + ltdc_out_dsi_host: endpoint {
>> + remote-endpoint = <&dsi_host_in>;
>> + };
>> + };
>> + };
>> +
>> +
>> + dsi_host: dsi_host at 40016C00 {
>
> dsi at ...
>
Fixed in v2 patchset.
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + compatible = "st,stm32-dsi_host";
>> + reg = <0x40016C00 0x800>;
>> + clocks = <&rcc 1 CLK_F469_DSI>, <&clk_hse>;
>> + clock-names = "ref", "pclk";
>> + resets = <&rcc STM32F4_APB2_RESET(DSI)>;
>> + reset-names = "apb";
>> + status = "okay";
>
> Don't show status in examples.
Fixed in v2 patchset.
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port at 0 {
>> + reg = <0>;
>> + dsi_host_in: endpoint {
>> + remote-endpoint = <<dc_out_dsi_host>;
>> + };
>> + };
>> +
>> + port at 1 {
>> + reg = <1>;
>> + dsi_host_out_panel: endpoint {
>> + remote-endpoint = <&dsi_host_in_panel>;
>> + };
>> + };
>> +
>> + };
>> +
>> + panel-dsi at 0 {
>> + reg = <0>; /* dsi virtual channel (0..3) */
>> + compatible = ...;
>> + enable-gpios = ...;
>> + status = "okay";
>> +
>> + port {
>> + dsi_host_in_panel: endpoint {
>> + remote-endpoint = <&dsi_host_out_panel>;
>> + };
>> + };
>> +
>> + };
>> +
>> + };
>> +
>> + };
>> +};
>> --
>> 1.9.1
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list