Message ID | 1529997340-156879-2-git-send-email-hjc@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jun 26, 2018 at 03:15:39PM +0800, Sandy Huang wrote: > This path add support rv1108 and px30 rgb output interface driver. Bindings are for h/w, not drivers. > > Signed-off-by: Sandy Huang <hjc@rock-chips.com> > Link: https://patchwork.freedesktop.org/patch/msgid/1509522765-118759-1-git-send-email-hjc@rock-chips.com > --- > > Changes in v4: Add support px30 > Changes in v3: None > Changes in v2: None > > .../bindings/display/rockchip/rockchip-rgb.txt | 73 ++++++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > > diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > new file mode 100644 > index 0000000..077b9ad > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > @@ -0,0 +1,73 @@ > +Rockchip RV1108 RGB interface > +================================ > + > +Required properties: > +- compatible: matching the soc type: > + - "rockchip,px30-rgb"; > + - "rockchip,rv1108-rgb"; This doesn't look right? What (and how) is getting programmed here because you don't have any register interface. > + > +Optional properties: > +- pinctrl-names: should be a "lcdc" entry or a "default" entry. > +- pinctrl-0: pin control group to be used for this interface. > + > +The rgb has two video ports described by: > + Documentation/devicetree/bindings/media/video-interfaces.txt > +Their connections are modeled using the OF graph bindings specified in > + Documentation/devicetree/bindings/graph.txt. > + > +- video port 0 for the VOP input, the remote endpoint maybe vopb/vopl/vop So there is a mux for these inputs and they are switched with pinctrl? Just put the pinctrl nodes of the sources and enable whichever one is active. Rob
Hi Rob Herring, Thanks for your review. 在 2018/7/4 2:25, Rob Herring 写道: > On Tue, Jun 26, 2018 at 03:15:39PM +0800, Sandy Huang wrote: >> This path add support rv1108 and px30 rgb output interface driver. > > Bindings are for h/w, not drivers. > I will update at next version as following: This patch add support rv1108 and px30 rgb output interface >> >> Signed-off-by: Sandy Huang <hjc@rock-chips.com> >> Link: https://patchwork.freedesktop.org/patch/msgid/1509522765-118759-1-git-send-email-hjc@rock-chips.com >> --- >> >> Changes in v4: Add support px30 >> Changes in v3: None >> Changes in v2: None >> >> .../bindings/display/rockchip/rockchip-rgb.txt | 73 ++++++++++++++++++++++ >> 1 file changed, 73 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt >> >> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt >> new file mode 100644 >> index 0000000..077b9ad >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt >> @@ -0,0 +1,73 @@ >> +Rockchip RV1108 RGB interface >> +================================ >> + >> +Required properties: >> +- compatible: matching the soc type: >> + - "rockchip,px30-rgb"; >> + - "rockchip,rv1108-rgb"; > > This doesn't look right? What (and how) is getting programmed here > because you don't have any register interface. > This is register for DRM encoder and connecter or bridge for some RGB convert chips driver. so far we don't have any register for rgb interface, but it's most probable need to config some register for rgb interface in feauture for rockchip platform. >> + >> +Optional properties: >> +- pinctrl-names: should be a "lcdc" entry or a "default" entry. >> +- pinctrl-0: pin control group to be used for this interface. >> + >> +The rgb has two video ports described by: >> + Documentation/devicetree/bindings/media/video-interfaces.txt >> +Their connections are modeled using the OF graph bindings specified in >> + Documentation/devicetree/bindings/graph.txt. >> + >> +- video port 0 for the VOP input, the remote endpoint maybe vopb/vopl/vop > > So there is a mux for these inputs and they are switched with pinctrl? > connetced can connect to vopb/vopl/vop which is same with other connenter like edp/dsi/lvds, there is a sample for edp at:Documentation/devicetree/bindings/display/rockchip/rockchip-vop.txt > Just put the pinctrl nodes of the sources and enable whichever one is > active. > Do you think i need add pinctrl nodes here? Or am I wrong? > Rob > > >
Hi Sandy, trying to move this forward a bit :-) Am Mittwoch, 4. Juli 2018, 14:09:56 CEST schrieb Sandy Huang: > Hi Rob Herring, > Thanks for your review. > > 在 2018/7/4 2:25, Rob Herring 写道: > > On Tue, Jun 26, 2018 at 03:15:39PM +0800, Sandy Huang wrote: > >> This path add support rv1108 and px30 rgb output interface driver. > > > > Bindings are for h/w, not drivers. > > > I will update at next version as following: > This patch add support rv1108 and px30 rgb output interface > >> > >> Signed-off-by: Sandy Huang <hjc@rock-chips.com> > >> Link: https://patchwork.freedesktop.org/patch/msgid/1509522765-118759-1-git-send-email-hjc@rock-chips.com > >> --- > >> > >> Changes in v4: Add support px30 > >> Changes in v3: None > >> Changes in v2: None > >> > >> .../bindings/display/rockchip/rockchip-rgb.txt | 73 ++++++++++++++++++++++ > >> 1 file changed, 73 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > >> > >> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > >> new file mode 100644 > >> index 0000000..077b9ad > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > >> @@ -0,0 +1,73 @@ > >> +Rockchip RV1108 RGB interface > >> +================================ > >> + > >> +Required properties: > >> +- compatible: matching the soc type: > >> + - "rockchip,px30-rgb"; > >> + - "rockchip,rv1108-rgb"; > > > > This doesn't look right? What (and how) is getting programmed here > > because you don't have any register interface. > > > This is register for DRM encoder and connecter or bridge for some RGB > convert chips driver. > so far we don't have any register for rgb interface, but it's most > probable need to config some register for rgb interface in feauture for > rockchip platform. I think the basic-issue Rob was pointing out is that the devicetree describes hardware blocks and not the software representation. And the rgb output is not a separate block, but instead just a property of the vop itself, hence should possibly not have a separate "device". As I'm currently tinkering with rk3188 display support [0] - which only has rgb output at all - I modified your patch a bit to to showcase how that could look [1], where the soc vop struct simply has a feature flag indicating indicating a raw rgb output and the rgb driver then looks for bridges in the vop endpoints to distinguish them from soc-internals output encoders. Let me know what you think :-) Heiko [0] https://github.com/mmind/linux-rockchip/commits/wip/rk3188-lcdc [1] https://github.com/mmind/linux-rockchip/commit/fe74d2c4d76bcb6035b7207753e6afb85335b6cd needs also https://github.com/mmind/linux-rockchip/commit/c5a48c772f3564211dcd1ec71004de1d6dbb0307
在 2018/8/27 15:11, Heiko Stuebner 写道: > Hi Sandy, > > trying to move this forward a bit :-) Hi heiko, update at version5 and add SPDX-License-Identifier tag. > > Am Mittwoch, 4. Juli 2018, 14:09:56 CEST schrieb Sandy Huang: > > Hi Rob Herring, > > Thanks for your review. > > > > 在 2018/7/4 2:25, Rob Herring 写道: > >> On Tue, Jun 26, 2018 at 03:15:39PM +0800, Sandy Huang wrote: > >>> This path add support rv1108 and px30 rgb output interface driver. > >> > >> Bindings are for h/w, not drivers. > >> > > I will update at next version as following: > > This patch add support rv1108 and px30 rgb output interface > >>> > >>> Signed-off-by: Sandy Huang <hjc@rock-chips.com> > >>> Link: https://patchwork.freedesktop.org/patch/msgid/1509522765-118759-1-git-send-email-hjc@rock-chips.com > >>> --- > >>> > >>> Changes in v4: Add support px30 > >>> Changes in v3: None > >>> Changes in v2: None > >>> > >>> .../bindings/display/rockchip/rockchip-rgb.txt | 73 ++++++++++++++++++++++ > >>> 1 file changed, 73 insertions(+) > >>> create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > >>> > >>> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > >>> new file mode 100644 > >>> index 0000000..077b9ad > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt > >>> @@ -0,0 +1,73 @@ > >>> +Rockchip RV1108 RGB interface > >>> +================================ > >>> + > >>> +Required properties: > >>> +- compatible: matching the soc type: > >>> + - "rockchip,px30-rgb"; > >>> + - "rockchip,rv1108-rgb"; > >> > >> This doesn't look right? What (and how) is getting programmed here > >> because you don't have any register interface. > >> > > This is register for DRM encoder and connecter or bridge for some RGB > > convert chips driver. > > so far we don't have any register for rgb interface, but it's most > > probable need to config some register for rgb interface in feauture for > > rockchip platform. > > I think the basic-issue Rob was pointing out is that the devicetree > describes hardware blocks and not the software representation. > > And the rgb output is not a separate block, but instead just a property > of the vop itself, hence should possibly not have a separate "device". > > As I'm currently tinkering with rk3188 display support [0] - which only has > rgb output at all - I modified your patch a bit to to showcase how that > could look [1], where the soc vop struct simply has a feature flag > indicating indicating a raw rgb output and the rgb driver then > looks for bridges in the vop endpoints to distinguish them from > soc-internals output encoders. > > Let me know what you think :-) > Heiko > > [0] https://github.com/mmind/linux-rockchip/commits/wip/rk3188-lcdc > [1] https://github.com/mmind/linux-rockchip/commit/fe74d2c4d76bcb6035b7207753e6afb85335b6cd > needs also https://github.com/mmind/linux-rockchip/commit/c5a48c772f3564211dcd1ec71004de1d6dbb0307 > > > > > >
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt new file mode 100644 index 0000000..077b9ad --- /dev/null +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt @@ -0,0 +1,73 @@ +Rockchip RV1108 RGB interface +================================ + +Required properties: +- compatible: matching the soc type: + - "rockchip,px30-rgb"; + - "rockchip,rv1108-rgb"; + +Optional properties: +- pinctrl-names: should be a "lcdc" entry or a "default" entry. +- pinctrl-0: pin control group to be used for this interface. + +The rgb has two video ports described by: + Documentation/devicetree/bindings/media/video-interfaces.txt +Their connections are modeled using the OF graph bindings specified in + Documentation/devicetree/bindings/graph.txt. + +- video port 0 for the VOP input, the remote endpoint maybe vopb/vopl/vop +- video port 1 for either a panel or subsequent encoder + +the panel described by: + Documentation/devicetree/bindings/display/panel/simple-panel.txt +rgb-mode nodes described by: + Documentation/devicetree/bindings/display/panel/panel-rgb.txt +Panel other required properties: +- ports for remote rgb output. + +Example: + +panel: panel { + compatible = "auo,b101ean01"; + enable-gpios = <&gpio7 21 GPIO_ACTIVE_HIGH>; + rgb-mode = "p888"; + + ports { + panel_in_rgb: endpoint { + remote-endpoint = <&rgb_out_panel>; + }; + }; +}; + +For Rockchip RV1108: + + rgb: rgb { + compatible = "rockchip,rv1108-rgb"; + pinctrl-names = "lcdc"; + pinctrl-0 = <&lcdc_ctl>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + rgb_in: port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + rgb_in_vop: endpoint { + remote-endpoint = <&vop_out_rgb>; + }; + }; + + rgb_out: port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + rgb_out_panel: endpoint { + remote-endpoint = <&panel_in_rgb>; + }; + }; + }; + };
This path add support rv1108 and px30 rgb output interface driver. Signed-off-by: Sandy Huang <hjc@rock-chips.com> Link: https://patchwork.freedesktop.org/patch/msgid/1509522765-118759-1-git-send-email-hjc@rock-chips.com --- Changes in v4: Add support px30 Changes in v3: None Changes in v2: None .../bindings/display/rockchip/rockchip-rgb.txt | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt