Message ID | 20200221112828.55837-2-jitao.shi@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | add mt8183 dpi driver | expand |
Hi, Jitao: On Fri, 2020-02-21 at 19:28 +0800, Jitao Shi wrote: > Add decriptions about supported chips, including MT2701 & MT8173 & > mt8183 > > 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 > 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and > gpio oupput-low to avoid leakage current. > 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or > single edge sample data. > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > --- > .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > index b6a7e7397b8b..cd6a1469c8b7 100644 > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > @@ -7,6 +7,7 @@ output bus. > > Required properties: > - compatible: "mediatek,<chip>-dpi" > + the supported chips are mt2701 , mt8173 and mt8183. > - reg: Physical base address and length of the controller's registers > - interrupts: The interrupt signal from the function block. > - clocks: device clocks > @@ -16,6 +17,11 @@ Required properties: > Documentation/devicetree/bindings/graph.txt. This port should be connected > to the input port of an attached HDMI or LVDS encoder chip. > > +Optional properties: > +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. When you have both pinctrl-name of "gpiomode" and "dpimode", it imply that dpi_pin_mode_swap = true, isn't it? If so, I think this property is redundant. Regards, CK > +- pinctrl-names: Contain "gpiomode" and "dpimode". > +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. > + > Example: > > dpi0: dpi@1401d000 { > @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { > <&mmsys CLK_MM_DPI_ENGINE>, > <&apmixedsys CLK_APMIXED_TVDPLL>; > clock-names = "pixel", "engine", "pll"; > + dpi_dual_edge; > + dpi_pin_mode_swap; > + pinctrl-names = "gpiomode", "dpimode"; > + pinctrl-0 = <&dpi_pin_gpio>; > + pinctrl-1 = <&dpi_pin_func>; > > port { > dpi0_out: endpoint {
Hi, Jitao: On Fri, 2020-02-21 at 19:28 +0800, Jitao Shi wrote: > Add decriptions about supported chips, including MT2701 & MT8173 & > mt8183 > > 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 > 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and > gpio oupput-low to avoid leakage current. > 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or > single edge sample data. > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > --- > .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > index b6a7e7397b8b..cd6a1469c8b7 100644 > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > @@ -7,6 +7,7 @@ output bus. > > Required properties: > - compatible: "mediatek,<chip>-dpi" > + the supported chips are mt2701 , mt8173 and mt8183. > - reg: Physical base address and length of the controller's registers > - interrupts: The interrupt signal from the function block. > - clocks: device clocks > @@ -16,6 +17,11 @@ Required properties: > Documentation/devicetree/bindings/graph.txt. This port should be connected > to the input port of an attached HDMI or LVDS encoder chip. > > +Optional properties: > +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. > +- pinctrl-names: Contain "gpiomode" and "dpimode". > +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. I've find that in [1], there are already a property of "pclk-sample" which like this, but it only have rising (1) or falling (0) status. Does that property describe the same thing with this property? If they are the same, I think you should add new state, dual (2), for "pclk-sample". [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/media/video-interfaces.txt?h=v5.6-rc3 Regards, CK > + > Example: > > dpi0: dpi@1401d000 { > @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { > <&mmsys CLK_MM_DPI_ENGINE>, > <&apmixedsys CLK_APMIXED_TVDPLL>; > clock-names = "pixel", "engine", "pll"; > + dpi_dual_edge; > + dpi_pin_mode_swap; > + pinctrl-names = "gpiomode", "dpimode"; > + pinctrl-0 = <&dpi_pin_gpio>; > + pinctrl-1 = <&dpi_pin_func>; > > port { > dpi0_out: endpoint {
On Mon, 2020-02-24 at 15:50 +0800, CK Hu wrote: > Hi, Jitao: > > On Fri, 2020-02-21 at 19:28 +0800, Jitao Shi wrote: > > Add decriptions about supported chips, including MT2701 & MT8173 & > > mt8183 > > > > 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 > > 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and > > gpio oupput-low to avoid leakage current. > > 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or > > single edge sample data. > > > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > --- > > .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > index b6a7e7397b8b..cd6a1469c8b7 100644 > > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > @@ -7,6 +7,7 @@ output bus. > > > > Required properties: > > - compatible: "mediatek,<chip>-dpi" > > + the supported chips are mt2701 , mt8173 and mt8183. > > - reg: Physical base address and length of the controller's registers > > - interrupts: The interrupt signal from the function block. > > - clocks: device clocks > > @@ -16,6 +17,11 @@ Required properties: > > Documentation/devicetree/bindings/graph.txt. This port should be connected > > to the input port of an attached HDMI or LVDS encoder chip. > > > > +Optional properties: > > +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. > > When you have both pinctrl-name of "gpiomode" and "dpimode", it imply > that dpi_pin_mode_swap = true, isn't it? If so, I think this property is > redundant. > > Regards, > CK Yes,I'll fix it next verision. Best Regards Jitao > > > +- pinctrl-names: Contain "gpiomode" and "dpimode". > > +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. > > + > > Example: > > > > dpi0: dpi@1401d000 { > > @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { > > <&mmsys CLK_MM_DPI_ENGINE>, > > <&apmixedsys CLK_APMIXED_TVDPLL>; > > clock-names = "pixel", "engine", "pll"; > > + dpi_dual_edge; > > + dpi_pin_mode_swap; > > + pinctrl-names = "gpiomode", "dpimode"; > > + pinctrl-0 = <&dpi_pin_gpio>; > > + pinctrl-1 = <&dpi_pin_func>; > > > > port { > > dpi0_out: endpoint { > >
On Mon, 2020-02-24 at 16:46 +0800, CK Hu wrote: > Hi, Jitao: > > On Fri, 2020-02-21 at 19:28 +0800, Jitao Shi wrote: > > Add decriptions about supported chips, including MT2701 & MT8173 & > > mt8183 > > > > 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 > > 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and > > gpio oupput-low to avoid leakage current. > > 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or > > single edge sample data. > > > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > --- > > .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > index b6a7e7397b8b..cd6a1469c8b7 100644 > > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > @@ -7,6 +7,7 @@ output bus. > > > > Required properties: > > - compatible: "mediatek,<chip>-dpi" > > + the supported chips are mt2701 , mt8173 and mt8183. > > - reg: Physical base address and length of the controller's registers > > - interrupts: The interrupt signal from the function block. > > - clocks: device clocks > > @@ -16,6 +17,11 @@ Required properties: > > Documentation/devicetree/bindings/graph.txt. This port should be connected > > to the input port of an attached HDMI or LVDS encoder chip. > > > > +Optional properties: > > +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. > > +- pinctrl-names: Contain "gpiomode" and "dpimode". > > +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. > > I've find that in [1], there are already a property of "pclk-sample" > which like this, but it only have rising (1) or falling (0) status. Does > that property describe the same thing with this property? If they are > the same, I think you should add new state, dual (2), for "pclk-sample". > > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/media/video-interfaces.txt?h=v5.6-rc3 > > Regards, > CK > pclk-sample has two properties rising or falling. It means to sample on rising or falling edge. But, dpi_dual_edge means to sample on both rising and falling edge. Best Regards Jitao > > + > > Example: > > > > dpi0: dpi@1401d000 { > > @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { > > <&mmsys CLK_MM_DPI_ENGINE>, > > <&apmixedsys CLK_APMIXED_TVDPLL>; > > clock-names = "pixel", "engine", "pll"; > > + dpi_dual_edge; > > + dpi_pin_mode_swap; > > + pinctrl-names = "gpiomode", "dpimode"; > > + pinctrl-0 = <&dpi_pin_gpio>; > > + pinctrl-1 = <&dpi_pin_func>; > > > > port { > > dpi0_out: endpoint { > >
Hi, Jitao: On Tue, 2020-02-25 at 10:05 +0800, Jitao Shi wrote: > On Mon, 2020-02-24 at 16:46 +0800, CK Hu wrote: > > Hi, Jitao: > > > > On Fri, 2020-02-21 at 19:28 +0800, Jitao Shi wrote: > > > Add decriptions about supported chips, including MT2701 & MT8173 & > > > mt8183 > > > > > > 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 > > > 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and > > > gpio oupput-low to avoid leakage current. > > > 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or > > > single edge sample data. > > > > > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > > --- > > > .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ > > > 1 file changed, 11 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > > index b6a7e7397b8b..cd6a1469c8b7 100644 > > > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > > @@ -7,6 +7,7 @@ output bus. > > > > > > Required properties: > > > - compatible: "mediatek,<chip>-dpi" > > > + the supported chips are mt2701 , mt8173 and mt8183. > > > - reg: Physical base address and length of the controller's registers > > > - interrupts: The interrupt signal from the function block. > > > - clocks: device clocks > > > @@ -16,6 +17,11 @@ Required properties: > > > Documentation/devicetree/bindings/graph.txt. This port should be connected > > > to the input port of an attached HDMI or LVDS encoder chip. > > > > > > +Optional properties: > > > +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. > > > +- pinctrl-names: Contain "gpiomode" and "dpimode". > > > +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. > > > > I've find that in [1], there are already a property of "pclk-sample" > > which like this, but it only have rising (1) or falling (0) status. Does > > that property describe the same thing with this property? If they are > > the same, I think you should add new state, dual (2), for "pclk-sample". > > > > [1] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/media/video-interfaces.txt?h=v5.6-rc3 > > > > Regards, > > CK > > > > pclk-sample has two properties rising or falling. > It means to sample on rising or falling edge. > > But, dpi_dual_edge means to sample on both rising and falling edge. > It seems that both describe "When to sample data", so they are the same for me. I think we should prevent to invent a new property if there is already a one. Even though pclk-sample just have two state (rising or falling edge), I think we could add a new state (dual edge) to pclk-sample. Regards, CK > Best Regards > Jitao > > > + > > > Example: > > > > > > dpi0: dpi@1401d000 { > > > @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { > > > <&mmsys CLK_MM_DPI_ENGINE>, > > > <&apmixedsys CLK_APMIXED_TVDPLL>; > > > clock-names = "pixel", "engine", "pll"; > > > + dpi_dual_edge; > > > + dpi_pin_mode_swap; > > > + pinctrl-names = "gpiomode", "dpimode"; > > > + pinctrl-0 = <&dpi_pin_gpio>; > > > + pinctrl-1 = <&dpi_pin_func>; > > > > > > port { > > > dpi0_out: endpoint { > > > > > >
On Tue, 2020-02-25 at 10:13 +0800, CK Hu wrote: > Hi, Jitao: > > On Tue, 2020-02-25 at 10:05 +0800, Jitao Shi wrote: > > On Mon, 2020-02-24 at 16:46 +0800, CK Hu wrote: > > > Hi, Jitao: > > > > > > On Fri, 2020-02-21 at 19:28 +0800, Jitao Shi wrote: > > > > Add decriptions about supported chips, including MT2701 & MT8173 & > > > > mt8183 > > > > > > > > 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 > > > > 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and > > > > gpio oupput-low to avoid leakage current. > > > > 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or > > > > single edge sample data. > > > > > > > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > > > --- > > > > .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ > > > > 1 file changed, 11 insertions(+) > > > > > > > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > > > index b6a7e7397b8b..cd6a1469c8b7 100644 > > > > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > > > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt > > > > @@ -7,6 +7,7 @@ output bus. > > > > > > > > Required properties: > > > > - compatible: "mediatek,<chip>-dpi" > > > > + the supported chips are mt2701 , mt8173 and mt8183. > > > > - reg: Physical base address and length of the controller's registers > > > > - interrupts: The interrupt signal from the function block. > > > > - clocks: device clocks > > > > @@ -16,6 +17,11 @@ Required properties: > > > > Documentation/devicetree/bindings/graph.txt. This port should be connected > > > > to the input port of an attached HDMI or LVDS encoder chip. > > > > > > > > +Optional properties: > > > > +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. > > > > +- pinctrl-names: Contain "gpiomode" and "dpimode". > > > > +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. > > > > > > I've find that in [1], there are already a property of "pclk-sample" > > > which like this, but it only have rising (1) or falling (0) status. Does > > > that property describe the same thing with this property? If they are > > > the same, I think you should add new state, dual (2), for "pclk-sample". > > > > > > [1] > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/media/video-interfaces.txt?h=v5.6-rc3 > > > > > > Regards, > > > CK > > > > > > > pclk-sample has two properties rising or falling. > > It means to sample on rising or falling edge. > > > > But, dpi_dual_edge means to sample on both rising and falling edge. > > > > It seems that both describe "When to sample data", so they are the same > for me. > > I think we should prevent to invent a new property if there is already a > one. Even though pclk-sample just have two state (rising or falling > edge), I think we could add a new state (dual edge) to pclk-sample. > > Regards, > CK Got it. I'll fix them next verison. Best Regards Jitao > > > Best Regards > > Jitao > > > > + > > > > Example: > > > > > > > > dpi0: dpi@1401d000 { > > > > @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { > > > > <&mmsys CLK_MM_DPI_ENGINE>, > > > > <&apmixedsys CLK_APMIXED_TVDPLL>; > > > > clock-names = "pixel", "engine", "pll"; > > > > + dpi_dual_edge; > > > > + dpi_pin_mode_swap; > > > > + pinctrl-names = "gpiomode", "dpimode"; > > > > + pinctrl-0 = <&dpi_pin_gpio>; > > > > + pinctrl-1 = <&dpi_pin_func>; > > > > > > > > port { > > > > dpi0_out: endpoint { > > > > > > > > > > > >
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt index b6a7e7397b8b..cd6a1469c8b7 100644 --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt @@ -7,6 +7,7 @@ output bus. Required properties: - compatible: "mediatek,<chip>-dpi" + the supported chips are mt2701 , mt8173 and mt8183. - reg: Physical base address and length of the controller's registers - interrupts: The interrupt signal from the function block. - clocks: device clocks @@ -16,6 +17,11 @@ Required properties: Documentation/devicetree/bindings/graph.txt. This port should be connected to the input port of an attached HDMI or LVDS encoder chip. +Optional properties: +- dpi_pin_mode_swap: Swap the pin mode between dpi mode and gpio mode. +- pinctrl-names: Contain "gpiomode" and "dpimode". +- dpi_dual_edge: Control the RGB 24bit data on 12 pins or 24 pins. + Example: dpi0: dpi@1401d000 { @@ -26,6 +32,11 @@ dpi0: dpi@1401d000 { <&mmsys CLK_MM_DPI_ENGINE>, <&apmixedsys CLK_APMIXED_TVDPLL>; clock-names = "pixel", "engine", "pll"; + dpi_dual_edge; + dpi_pin_mode_swap; + pinctrl-names = "gpiomode", "dpimode"; + pinctrl-0 = <&dpi_pin_gpio>; + pinctrl-1 = <&dpi_pin_func>; port { dpi0_out: endpoint {
Add decriptions about supported chips, including MT2701 & MT8173 & mt8183 1. Add more chips support. ex. MT2701 & MT8173 & MT8183 2. Add property "dpi_pin_mode_swap" and "pinctrl-names" gpio mode dpi mode and gpio oupput-low to avoid leakage current. 3. Add property "dpi_dual_edge" to config the dpi pin output mode dual edge or single edge sample data. Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> --- .../bindings/display/mediatek/mediatek,dpi.txt | 11 +++++++++++ 1 file changed, 11 insertions(+)