Message ID | 20220205185429.2278860-6-paul.kocialkowski@bootlin.com |
---|---|
State | Not Applicable |
Headers | show |
Series | Allwinner A31/A83T MIPI CSI-2 Support and A31 ISP Support | expand |
On Sat, Feb 05, 2022 at 07:53:28PM +0100, Paul Kocialkowski wrote: > The Allwinner A31 MIPI D-PHY block supports both tx and rx directions, > although each instance of the block is meant to be used in one > direction only. There will typically be one instance for MIPI DSI and > one for MIPI CSI-2 (it seems unlikely to ever see a shared instance). > > Describe the direction with a new allwinner,direction property. > For backwards compatibility, the property is optional and tx mode > should be assumed by default. > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > --- > .../bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > index d0b541a461f3..22636c9fdab8 100644 > --- a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > +++ b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > @@ -37,6 +37,18 @@ properties: > resets: > maxItems: 1 > > + allwinner,direction: > + $ref: '/schemas/types.yaml#/definitions/string' > + description: | > + Direction of the D-PHY: > + - "rx" for receiving (e.g. when used with MIPI CSI-2); > + - "tx" for transmitting (e.g. when used with MIPI DSI). > + > + enum: > + - tx > + - rx > + default: tx Can you the phy mode to imply the direction? Rob
Hi Rob, On Fri 11 Feb 22, 09:03, Rob Herring wrote: > On Sat, Feb 05, 2022 at 07:53:28PM +0100, Paul Kocialkowski wrote: > > The Allwinner A31 MIPI D-PHY block supports both tx and rx directions, > > although each instance of the block is meant to be used in one > > direction only. There will typically be one instance for MIPI DSI and > > one for MIPI CSI-2 (it seems unlikely to ever see a shared instance). > > > > Describe the direction with a new allwinner,direction property. > > For backwards compatibility, the property is optional and tx mode > > should be assumed by default. > > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > > --- > > .../bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > > index d0b541a461f3..22636c9fdab8 100644 > > --- a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > > +++ b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > > @@ -37,6 +37,18 @@ properties: > > resets: > > maxItems: 1 > > > > + allwinner,direction: > > + $ref: '/schemas/types.yaml#/definitions/string' > > + description: | > > + Direction of the D-PHY: > > + - "rx" for receiving (e.g. when used with MIPI CSI-2); > > + - "tx" for transmitting (e.g. when used with MIPI DSI). > > + > > + enum: > > + - tx > > + - rx > > + default: tx > > Can you the phy mode to imply the direction? So there was a first attempt at this which introduced a PHY submode but it was concluded after discussions that the direction is not really a mode of operation choice, in the sense that the D-PHY cannot be reconfigured to behave in Rx or Tx mode: it is instead statically assigned to one role or the other. This is why it feels more appropriate to describe it in the device-tree. See this thread from the previous iteration: https://patchwork.linuxtv.org/project/linux-media/patch/20210115200141.1397785-3-paul.kocialkowski@bootlin.com/#128800 Cheers, Paul
On Fri, Feb 11, 2022 at 04:12:29PM +0100, Paul Kocialkowski wrote: > Hi Rob, > > On Fri 11 Feb 22, 09:03, Rob Herring wrote: > > On Sat, Feb 05, 2022 at 07:53:28PM +0100, Paul Kocialkowski wrote: > > > The Allwinner A31 MIPI D-PHY block supports both tx and rx directions, > > > although each instance of the block is meant to be used in one > > > direction only. There will typically be one instance for MIPI DSI and > > > one for MIPI CSI-2 (it seems unlikely to ever see a shared instance). > > > > > > Describe the direction with a new allwinner,direction property. > > > For backwards compatibility, the property is optional and tx mode > > > should be assumed by default. > > > > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > > > --- > > > .../bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml | 12 ++++++++++++ > > > 1 file changed, 12 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > > > index d0b541a461f3..22636c9fdab8 100644 > > > --- a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > > > +++ b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml > > > @@ -37,6 +37,18 @@ properties: > > > resets: > > > maxItems: 1 > > > > > > + allwinner,direction: > > > + $ref: '/schemas/types.yaml#/definitions/string' > > > + description: | > > > + Direction of the D-PHY: > > > + - "rx" for receiving (e.g. when used with MIPI CSI-2); > > > + - "tx" for transmitting (e.g. when used with MIPI DSI). > > > + > > > + enum: > > > + - tx > > > + - rx > > > + default: tx > > > > Can you the phy mode to imply the direction? > > So there was a first attempt at this which introduced a PHY submode but > it was concluded after discussions that the direction is not really a > mode of operation choice, in the sense that the D-PHY cannot be reconfigured > to behave in Rx or Tx mode: it is instead statically assigned to one role > or the other. This is why it feels more appropriate to describe it in the > device-tree. Another option could be different compatible strings, as the RX and TX PHYs actually have very little in common. I don't mind much either way. > See this thread from the previous iteration: > https://patchwork.linuxtv.org/project/linux-media/patch/20210115200141.1397785-3-paul.kocialkowski@bootlin.com/#128800
diff --git a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml index d0b541a461f3..22636c9fdab8 100644 --- a/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml +++ b/Documentation/devicetree/bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml @@ -37,6 +37,18 @@ properties: resets: maxItems: 1 + allwinner,direction: + $ref: '/schemas/types.yaml#/definitions/string' + description: | + Direction of the D-PHY: + - "rx" for receiving (e.g. when used with MIPI CSI-2); + - "tx" for transmitting (e.g. when used with MIPI DSI). + + enum: + - tx + - rx + default: tx + required: - "#phy-cells" - compatible
The Allwinner A31 MIPI D-PHY block supports both tx and rx directions, although each instance of the block is meant to be used in one direction only. There will typically be one instance for MIPI DSI and one for MIPI CSI-2 (it seems unlikely to ever see a shared instance). Describe the direction with a new allwinner,direction property. For backwards compatibility, the property is optional and tx mode should be assumed by default. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> --- .../bindings/phy/allwinner,sun6i-a31-mipi-dphy.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+)