[PATCH v2 02/10] drm/hisilicon: Add DT binding docs for hi6220 display subsystem
Xinliang Liu
xinliang.liu at linaro.org
Mon Nov 30 23:17:24 PST 2015
On 1 December 2015 at 03:31, Rob Herring <robh at kernel.org> wrote:
Hi Rob, thank you for review.
> On Sat, Nov 28, 2015 at 06:38:57PM +0800, Xinliang Liu wrote:
>> Add the device tree binding documentation for hi6220 SoC display subsystem.
>> drm master device binding doc.
>> ADE display controller binding doc.
>> DSI controller binding doc.
>>
>> Signed-off-by: Xinliang Liu <xinliang.liu at linaro.org>
>> Signed-off-by: Xinwei Kong <kong.kongxinwei at hisilicon.com>
>> Signed-off-by: Andy Green <andy.green at linaro.org>
>> ---
>> .../bindings/display/hisilicon/hisi-ade.txt | 42 ++++++++++++++
>> .../bindings/display/hisilicon/hisi-drm.txt | 66 ++++++++++++++++++++++
>> .../bindings/display/hisilicon/hisi-dsi.txt | 53 +++++++++++++++++
>> 3 files changed, 161 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/display/hisilicon/hisi-ade.txt
>> create mode 100644 Documentation/devicetree/bindings/display/hisilicon/hisi-drm.txt
>> create mode 100644 Documentation/devicetree/bindings/display/hisilicon/hisi-dsi.txt
>>
>> diff --git a/Documentation/devicetree/bindings/display/hisilicon/hisi-ade.txt b/Documentation/devicetree/bindings/display/hisilicon/hisi-ade.txt
>> new file mode 100644
>> index 0000000..2777a2c
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/hisilicon/hisi-ade.txt
>> @@ -0,0 +1,42 @@
>> +Device-Tree bindings for hisilicon ADE display controller driver
>> +
>> +ADE (Advanced Display Engine) is the display controller which grab image
>> +data from memory, do composition, do post image processing, generate RGB
>> +timing stream and transfer to DSI.
>> +
>> +Required properties:
>> +- compatible: value should be one of the following
>> + "hisilicon,hi6220-ade".
>> +- reg: physical base address and length of the controller's registers.
>> +- reg-names: name of physical base.
>> +- interrupt: the interrupt number.
>> +- clocks: the clocks needed.
>> +- clock-names: the name of the clocks.
>> +- ade_core_clk_rate: ADE core clock rate.
>> +- media_noc_clk_rate: media noc module clock rate.
>
> I think you can use assigned clock properties instead:
>
> assigned-clocks = <&media_ctrl HI6220_ADE_CORE>;
> assigned-clock-rates = <360000000>;
>
> I'm not sure about what media_noc corresponds to in clocks list though.
>
will use assigned-clocks in v3.
>> +
>> +
>> +A example of HiKey board hi6220 SoC specific DT entry:
>> +Example:
>> +
>> + ade: ade at f4100000 {
>> + compatible = "hisilicon,hi6220-ade";
>> + reg = <0x0 0xf4100000 0x0 0x7800>,
>> + <0x0 0xf4410000 0x0 0x1000>;
>> + reg-names = "ade_base",
>> + "media_base";
>> + interrupts = <0 115 4>;
>> +
>> + clocks = <&media_ctrl HI6220_ADE_CORE>,
>> + <&media_ctrl HI6220_CODEC_JPEG>,
>> + <&media_ctrl HI6220_ADE_PIX_SRC>,
>> + <&media_ctrl HI6220_PLL_SYS>,
>> + <&media_ctrl HI6220_PLL_SYS_MEDIA>;
>> + clock-names = "clk_ade_core",
>> + "aclk_codec_jpeg_src",
>> + "clk_ade_pix",
>> + "clk_syspll_src",
>> + "clk_medpll_src";
>> + ade_core_clk_rate = <360000000>;
>> + media_noc_clk_rate = <288000000>;
>> + };
>> diff --git a/Documentation/devicetree/bindings/display/hisilicon/hisi-drm.txt b/Documentation/devicetree/bindings/display/hisilicon/hisi-drm.txt
>> new file mode 100644
>> index 0000000..fd93026
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/hisilicon/hisi-drm.txt
>> @@ -0,0 +1,66 @@
>> +Hisilicon DRM master device
>> +
>> +The Hisilicon DRM master device is a virtual device needed to list all
>> +the other display relevant nodes that comprise the display subsystem.
>
> There is no need for this in DT. The ADE can be the master device and
> of-graph can link to the DSI node. I have a similar example here[1]
> with a LCD controller block, DSI block and adv7533.
This sounds good, then I can remove the virtual master device.
I will refer to this example and make ADE as the master device in v3.
>
>> +Required properties:
>> +- compatible: Should be "hisilicon,<chip>-dss"
>> +- #address-cells: should be set to 2.
>> +- #size-cells: should be set to 2.
>> +- range: to allow probing of subdevices.
>> +
>> +Optional properties:
>> +- dma-coherent: Present if dma operations are coherent.
>
> Put this on the actually DMA master.
The DMA modules reside in the begining of each channel(or plane) of ADE.
So I need to put this dma-coherent property to ADE device node, right?
Thanks,
-xinliang
>
> Rob
>
> [1] https://git.linaro.org/people/rob.herring/linux.git pxa1928-drm-v2
More information about the linux-arm-kernel
mailing list