Messages in this thread | | | Date | Fri, 6 Aug 2021 13:11:30 +0200 | From | Paul Kocialkowski <> | Subject | Re: [PATCH v3 1/7] phy: Distinguish between Rx and Tx for MIPI D-PHY with submodes |
| |
Hi,
On Fri 25 Jun 21, 00:11, Pratyush Yadav wrote: > From: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > > As some D-PHY controllers support both Rx and Tx mode, we need a way for > users to explicitly request one or the other. For instance, Rx mode can > be used along with MIPI CSI-2 while Tx mode can be used with MIPI DSI. > > Introduce new MIPI D-PHY PHY submodes to use with PHY_MODE_MIPI_DPHY. > The default (zero value) is kept to Tx so only the rkisp1 driver, which > uses D-PHY in Rx mode, needs to be adapted.
After some thinking and discussions, it appears that using the submode is probably not the best way to distinguish between rx and tx. This is because rx/tx is more of a specification of the hardware component than a run-time descision. Indeed the D-PHY blocks are usually dedicated to an associated controller (DSI or CSI-2) and thus each instance is either meant for tx or rx use.
As a result I will be using the allwinner,direction string property in device-tree instead of the submode, with values of either "rx" or "tx". I suppose you can do something similar if you agree it makes more sense.
Cheers,
Paul
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> > Signed-off-by: Pratyush Yadav <p.yadav@ti.com> > --- > > (no changes since v1) > > include/linux/phy/phy-mipi-dphy.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/include/linux/phy/phy-mipi-dphy.h b/include/linux/phy/phy-mipi-dphy.h > index a877ffee845d..0f57ef46a8b5 100644 > --- a/include/linux/phy/phy-mipi-dphy.h > +++ b/include/linux/phy/phy-mipi-dphy.h > @@ -6,6 +6,19 @@ > #ifndef __PHY_MIPI_DPHY_H_ > #define __PHY_MIPI_DPHY_H_ > > +/** > + * enum phy_mipi_dphy_submode - MIPI D-PHY sub-mode > + * > + * A MIPI D-PHY can be used to transmit or receive data. > + * Since some controllers can support both, the direction to enable is specified > + * with the PHY sub-mode. Transmit is assumed by default with phy_set_mode. > + */ > + > +enum phy_mipi_dphy_submode { > + PHY_MIPI_DPHY_SUBMODE_TX = 0, > + PHY_MIPI_DPHY_SUBMODE_RX, > +}; > + > /** > * struct phy_configure_opts_mipi_dphy - MIPI D-PHY configuration set > * > -- > 2.30.0 >
-- Paul Kocialkowski, Bootlin Embedded Linux and kernel engineering https://bootlin.com [unhandled content-type:application/pgp-signature] | |