Message ID | 1442309834-21420-2-git-send-email-kong.kongxinwei@hisilicon.com |
---|---|
State | New |
Headers | show |
On 09/15/2015 04:37 AM, Xinwei Kong wrote: > This adds documentation of device tree bindings for the > Graphics Processing Unit of hi6220 SOC. > > Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org> > Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com> > Signed-off-by: Andy Green <andy.green@linaro.org> > Signed-off-by: Jiwen Qi <qijiwen@hisilicon.com> > Signed-off-by: Yu Gong <gongyu@hisilicon.com> > --- > .../devicetree/bindings/gpu/hisilicon,hi6220.txt | 69 ++++++++++++++++++++++ > 1 file changed, 69 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt > > diff --git a/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt > new file mode 100644 > index 0000000..173ac63 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt > @@ -0,0 +1,69 @@ > + * Hisilicon hi6220 Graphics Processing Unit for HiKey board > + > + ** display-subsystem: Master device for binding DRM sub-components DRM is a Linuxism that doesn't belong in the binding. > + This master device is parent node and it will be responsible to bind all > + sub-components devices node. Are these nodes a single block in the h/w? If not, you should describe the connection of sub-nodes with of-graph instead. > + - Required properties : > + - compatible: "hisilicon,display-subsystem". > + - #address-cells, #size-cells: Must be present if the device has sub-nodes. > + - ranges: to allow probing of subdevices. > + - dma-coherent: Present if dma operations are coherent. > + > + ** ade: Graphic overlay, Graphic post-processing, display timing control. > + This device is child node of display-subsystem > + - Required properties : > + - compatible: "hisilicon,hi6220-ade". > + - reg: physical base address of the ADE register and length of memory > + region. > + - reg-names: Should contain the reg names "ade_base" and "media_base". > + - interrupt: The interrupt number to the cpu. Defines the interrupt > + by ADE. > + - clocks: The clocks needed by the ADE module. > + - clock-names: the name of the clocks. > + > + ** dsi: support mipi dsi interface > + This device is child node of display-subsystem > + - Required properties : > + - compatible: "hisilicon,hi6220-dsi". > + - reg: physical base address of the DSI register and length of memory > + region. > + - clocks: The clocks needed by the DSI module. > + - clock-names: the name of the clocks. > + - encoder-slave: phandles to a 'encoder-slave' subnode which DSI connect > + ADV7533 in order to support hdmi display. What the ADV7533 binding looks like is still being discussed. "encoder-slave" is certainly DRM specific and not how it should be done. Most likely, this needs to use the of-graph ports. Also, the ADV7533 connection is specific to HiKey. This binding should just generically describe how any bridge or panel is connected. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
hi architt On 2015/9/16 2:11, Rob Herring wrote: > On 09/15/2015 04:37 AM, Xinwei Kong wrote: >> This adds documentation of device tree bindings for the >> Graphics Processing Unit of hi6220 SOC. >> >> Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org> >> Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com> >> Signed-off-by: Andy Green <andy.green@linaro.org> >> Signed-off-by: Jiwen Qi <qijiwen@hisilicon.com> >> Signed-off-by: Yu Gong <gongyu@hisilicon.com> >> --- >> .../devicetree/bindings/gpu/hisilicon,hi6220.txt | 69 ++++++++++++++++++++++ >> 1 file changed, 69 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >> >> diff --git a/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >> new file mode 100644 >> index 0000000..173ac63 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >> @@ -0,0 +1,69 @@ >> + * Hisilicon hi6220 Graphics Processing Unit for HiKey board >> + >> + ** display-subsystem: Master device for binding DRM sub-components > > DRM is a Linuxism that doesn't belong in the binding. > >> + This master device is parent node and it will be responsible to bind all >> + sub-components devices node. > > Are these nodes a single block in the h/w? If not, you should describe > the connection of sub-nodes with of-graph instead. > >> + - Required properties : >> + - compatible: "hisilicon,display-subsystem". >> + - #address-cells, #size-cells: Must be present if the device has sub-nodes. >> + - ranges: to allow probing of subdevices. >> + - dma-coherent: Present if dma operations are coherent. >> + >> + ** ade: Graphic overlay, Graphic post-processing, display timing control. >> + This device is child node of display-subsystem >> + - Required properties : >> + - compatible: "hisilicon,hi6220-ade". >> + - reg: physical base address of the ADE register and length of memory >> + region. >> + - reg-names: Should contain the reg names "ade_base" and "media_base". >> + - interrupt: The interrupt number to the cpu. Defines the interrupt >> + by ADE. >> + - clocks: The clocks needed by the ADE module. >> + - clock-names: the name of the clocks. >> + >> + ** dsi: support mipi dsi interface >> + This device is child node of display-subsystem >> + - Required properties : >> + - compatible: "hisilicon,hi6220-dsi". >> + - reg: physical base address of the DSI register and length of memory >> + region. >> + - clocks: The clocks needed by the DSI module. >> + - clock-names: the name of the clocks. >> + - encoder-slave: phandles to a 'encoder-slave' subnode which DSI connect >> + ADV7533 in order to support hdmi display. > > What the ADV7533 binding looks like is still being discussed. > "encoder-slave" is certainly DRM specific and not how it should be done. > Most likely, this needs to use the of-graph ports. > I dont how to implement the encoder bridge stuff in upstream, you think that I will how to handle this part? Thank you xinwei > Also, the ADV7533 connection is specific to HiKey. This binding should > just generically describe how any bridge or panel is connected. > > Rob > > . > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On 09/16/2015 02:04 PM, Xinwei Kong wrote: > hi architt > > On 2015/9/16 2:11, Rob Herring wrote: >> On 09/15/2015 04:37 AM, Xinwei Kong wrote: >>> This adds documentation of device tree bindings for the >>> Graphics Processing Unit of hi6220 SOC. >>> >>> Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org> >>> Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com> >>> Signed-off-by: Andy Green <andy.green@linaro.org> >>> Signed-off-by: Jiwen Qi <qijiwen@hisilicon.com> >>> Signed-off-by: Yu Gong <gongyu@hisilicon.com> >>> --- >>> .../devicetree/bindings/gpu/hisilicon,hi6220.txt | 69 ++++++++++++++++++++++ >>> 1 file changed, 69 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >>> >>> diff --git a/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >>> new file mode 100644 >>> index 0000000..173ac63 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >>> @@ -0,0 +1,69 @@ >>> + * Hisilicon hi6220 Graphics Processing Unit for HiKey board >>> + >>> + ** display-subsystem: Master device for binding DRM sub-components >> >> DRM is a Linuxism that doesn't belong in the binding. >> >>> + This master device is parent node and it will be responsible to bind all >>> + sub-components devices node. >> >> Are these nodes a single block in the h/w? If not, you should describe >> the connection of sub-nodes with of-graph instead. >> >>> + - Required properties : >>> + - compatible: "hisilicon,display-subsystem". >>> + - #address-cells, #size-cells: Must be present if the device has sub-nodes. >>> + - ranges: to allow probing of subdevices. >>> + - dma-coherent: Present if dma operations are coherent. >>> + >>> + ** ade: Graphic overlay, Graphic post-processing, display timing control. >>> + This device is child node of display-subsystem >>> + - Required properties : >>> + - compatible: "hisilicon,hi6220-ade". >>> + - reg: physical base address of the ADE register and length of memory >>> + region. >>> + - reg-names: Should contain the reg names "ade_base" and "media_base". >>> + - interrupt: The interrupt number to the cpu. Defines the interrupt >>> + by ADE. >>> + - clocks: The clocks needed by the ADE module. >>> + - clock-names: the name of the clocks. >>> + >>> + ** dsi: support mipi dsi interface >>> + This device is child node of display-subsystem >>> + - Required properties : >>> + - compatible: "hisilicon,hi6220-dsi". >>> + - reg: physical base address of the DSI register and length of memory >>> + region. >>> + - clocks: The clocks needed by the DSI module. >>> + - clock-names: the name of the clocks. >>> + - encoder-slave: phandles to a 'encoder-slave' subnode which DSI connect >>> + ADV7533 in order to support hdmi display. >> >> What the ADV7533 binding looks like is still being discussed. >> "encoder-slave" is certainly DRM specific and not how it should be done. >> Most likely, this needs to use the of-graph ports. >> > I dont how to implement the encoder bridge stuff in upstream, > you think that I will how to handle this part? You can use of-graph ports to link the dsi output with the adv7533 bridge. An example of the binding looks like: Documentation/devicetree/bindings/drm/msm/dsi.txt The implementation of this on the dsi host side of drm/msm can be found in dsi_host_parse_dt, in: drivers/gpu/drm/msm/dsi/dsi_host.c You can get to know more about of-graph parsing here: Documentation/devicetree/bindings/graph.txt I'd started going through the drm/hisil patches. I'll share more comments there. Thanks, Archit > > Thank you > xinwei > >> Also, the ADV7533 connection is specific to HiKey. This binding should >> just generically describe how any bridge or panel is connected. >> >> Rob >> >> . >> > > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
hi architt On 2015/9/16 17:10, Archit Taneja wrote: > Hi, > > On 09/16/2015 02:04 PM, Xinwei Kong wrote: >> hi architt >> >> On 2015/9/16 2:11, Rob Herring wrote: >>> On 09/15/2015 04:37 AM, Xinwei Kong wrote: >>>> This adds documentation of device tree bindings for the >>>> Graphics Processing Unit of hi6220 SOC. >>>> >>>> Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org> >>>> Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com> >>>> Signed-off-by: Andy Green <andy.green@linaro.org> >>>> Signed-off-by: Jiwen Qi <qijiwen@hisilicon.com> >>>> Signed-off-by: Yu Gong <gongyu@hisilicon.com> >>>> --- >>>> .../devicetree/bindings/gpu/hisilicon,hi6220.txt | 69 ++++++++++++++++++++++ >>>> 1 file changed, 69 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >>>> >>>> diff --git a/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >>>> new file mode 100644 >>>> index 0000000..173ac63 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt >>>> @@ -0,0 +1,69 @@ >>>> + * Hisilicon hi6220 Graphics Processing Unit for HiKey board >>>> + >>>> + ** display-subsystem: Master device for binding DRM sub-components >>> >>> DRM is a Linuxism that doesn't belong in the binding. >>> >>>> + This master device is parent node and it will be responsible to bind all >>>> + sub-components devices node. >>> >>> Are these nodes a single block in the h/w? If not, you should describe >>> the connection of sub-nodes with of-graph instead. >>> >>>> + - Required properties : >>>> + - compatible: "hisilicon,display-subsystem". >>>> + - #address-cells, #size-cells: Must be present if the device has sub-nodes. >>>> + - ranges: to allow probing of subdevices. >>>> + - dma-coherent: Present if dma operations are coherent. >>>> + >>>> + ** ade: Graphic overlay, Graphic post-processing, display timing control. >>>> + This device is child node of display-subsystem >>>> + - Required properties : >>>> + - compatible: "hisilicon,hi6220-ade". >>>> + - reg: physical base address of the ADE register and length of memory >>>> + region. >>>> + - reg-names: Should contain the reg names "ade_base" and "media_base". >>>> + - interrupt: The interrupt number to the cpu. Defines the interrupt >>>> + by ADE. >>>> + - clocks: The clocks needed by the ADE module. >>>> + - clock-names: the name of the clocks. >>>> + >>>> + ** dsi: support mipi dsi interface >>>> + This device is child node of display-subsystem >>>> + - Required properties : >>>> + - compatible: "hisilicon,hi6220-dsi". >>>> + - reg: physical base address of the DSI register and length of memory >>>> + region. >>>> + - clocks: The clocks needed by the DSI module. >>>> + - clock-names: the name of the clocks. >>>> + - encoder-slave: phandles to a 'encoder-slave' subnode which DSI connect >>>> + ADV7533 in order to support hdmi display. >>> >>> What the ADV7533 binding looks like is still being discussed. >>> "encoder-slave" is certainly DRM specific and not how it should be done. >>> Most likely, this needs to use the of-graph ports. >>> >> I dont how to implement the encoder bridge stuff in upstream, >> you think that I will how to handle this part? > > You can use of-graph ports to link the dsi output with the adv7533 > bridge. > > An example of the binding looks like: > > Documentation/devicetree/bindings/drm/msm/dsi.txt > > The implementation of this on the dsi host side of drm/msm > can be found in dsi_host_parse_dt, in: > > drivers/gpu/drm/msm/dsi/dsi_host.c > > You can get to know more about of-graph parsing here: > > Documentation/devicetree/bindings/graph.txt > I study your patch about of-graph parsing, I know that how to parse this dts endpoint node. Then i dont kow how to use this device_node (which is get by "of_graph_get_remote_port_parent" function.) to hook adv7533 operation. can you give me some help to how to use the adv7533 interface by device_node or other way to use adv7533? > I'd started going through the drm/hisil patches. I'll > share more comments there. > > Thanks, > Archit > >> >> Thank you >> xinwei >> >>> Also, the ADV7533 connection is specific to HiKey. This binding should >>> just generically describe how any bridge or panel is connected. >>> >>> Rob >>> >>> . >>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt new file mode 100644 index 0000000..173ac63 --- /dev/null +++ b/Documentation/devicetree/bindings/gpu/hisilicon,hi6220.txt @@ -0,0 +1,69 @@ + * Hisilicon hi6220 Graphics Processing Unit for HiKey board + + ** display-subsystem: Master device for binding DRM sub-components + This master device is parent node and it will be responsible to bind all + sub-components devices node. + - Required properties : + - compatible: "hisilicon,display-subsystem". + - #address-cells, #size-cells: Must be present if the device has sub-nodes. + - ranges: to allow probing of subdevices. + - dma-coherent: Present if dma operations are coherent. + + ** ade: Graphic overlay, Graphic post-processing, display timing control. + This device is child node of display-subsystem + - Required properties : + - compatible: "hisilicon,hi6220-ade". + - reg: physical base address of the ADE register and length of memory + region. + - reg-names: Should contain the reg names "ade_base" and "media_base". + - interrupt: The interrupt number to the cpu. Defines the interrupt + by ADE. + - clocks: The clocks needed by the ADE module. + - clock-names: the name of the clocks. + + ** dsi: support mipi dsi interface + This device is child node of display-subsystem + - Required properties : + - compatible: "hisilicon,hi6220-dsi". + - reg: physical base address of the DSI register and length of memory + region. + - clocks: The clocks needed by the DSI module. + - clock-names: the name of the clocks. + - encoder-slave: phandles to a 'encoder-slave' subnode which DSI connect + ADV7533 in order to support hdmi display. + +Example: + + display-subsystem { + compatible = "hisilicon,display-subsystem"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + dma-coherent; + + ade: ade@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>; + /*clock name*/ + clock-names = "clk_ade_core", + "aclk_codec_jpeg_src", + "clk_ade_pix"; + }; + + dsi { + compatible = "hisilicon,hi6220-dsi"; + reg = <0x0 0xf4107800 0x0 0x100>; + clocks = <&media_ctrl HI6220_DSI_PCLK>; + clock-names = "pclk_dsi"; + encoder-slave = <&adv7533>; + }; + }; +