Re: [PATCH v2 1/2] drm/bridge: add Silicon Image SiI9234 driver
Hi Laurent, On 05.09.2017 17:05, Laurent Pinchart wrote: > Hi Maciej, > > On Tuesday, 5 September 2017 16:01:54 EEST Maciej Purski wrote: >> Hi Laurent, >> >> Thank you for your reply. The problem was already discussed when adding >> sil8620 driver. It can be solved later. I'm CC-ing Andrzej Hajda, as he >> used to discuss it with you. > I'm afraid it can't be solved later. DT bindings are supposed to be a stable > ABI, we can't merge a binding that we already know isn't correct. The problem here is that bridge output is connected to micro-USB connector(not HDMI !!!). And currently there are no bindings for micro-USB connector. Creating good bindings can be tricky because micro-USB connector can be used to multiple functions: - USB, - charging, - UART, - MHL, - audio, - ... And it can be controlled by different chips (MUICs), with different capabilities. I plan to send RFC in near future of such bindings (as I need them for sii8620), but I guess it would require more review before it will be accepted. Returning to SiI9234, solution would be to add output port bindings to SiI9234, but do not add them to dts. It will make bindings for Sii9234 complete. Regards Andrzej > >> https://patchwork.freedesktop.org/patch/114224/ >> https://lists.freedesktop.org/archives/dri-devel/2015-December/096756.html >> >> Regards, >> >> Maciej >> >> On 31/08/17 15:30, Laurent Pinchart wrote: >>> Hi Maciej, >>> >>> Thank you for the patch. >>> >>> On Thursday, 31 August 2017 15:27:13 EEST Maciej Purski wrote: SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0. It is controlled via I2C bus. Its interaction with other devices in video pipeline is performed mainly on HW level. The only interaction it does on device driver level is filtering-out unsupported video modes, it exposes drm_bridge interface to perform this operation. This patch is based on the code refactored by Tomasz Stanislawski , which was initially developed by: Adam Hampson Erik Gilling Shankar Bandal Dharam Kumar Signed-off-by: Maciej Purski --- Changes in v2: - use bulk_requlators instead of single one - substitute some of the magic values with macros - improve coding style - improved error handling in sii9234_probe() --- .../devicetree/bindings/display/bridge/sii9234.txt | 34 + drivers/gpu/drm/bridge/Kconfig | 8 + drivers/gpu/drm/bridge/Makefile| 1 + drivers/gpu/drm/bridge/sii9234.c | 993 ++ 4 files changed, 1036 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode 100644 drivers/gpu/drm/bridge/sii9234.c diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file mode 100644 index 000..3ce7413 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt @@ -0,0 +1,34 @@ +Silicon Image SiI9234 HDMI/MHL bridge bindings + +Required properties: + - compatible : "sil,sii9234". + - reg : I2C address for TPI interface, use 0x39 + - avcc33-supply : MHL/USB Switch Supply Voltage (3.3V) + - iovcc18-supply : I/O Supply Voltage (1.8V) + - avcc12-supply : TMDS Analog Supply Voltage (1.2V) + - cvcc12-supply : Digital Core Supply Voltage (1.2V) + - interrupts, interrupt-parent: interrupt specifier of INT pin + - reset-gpios: gpio specifier of RESET pin (active low) + - video interfaces: Device node can contain video interface port + node for HDMI encoder according to [1]. + +[1]: Documentation/devicetree/bindings/media/video-interfaces.txt >>> Doesn't this chip have two ports, one input connected to the SoC and one >>> output connected to an HDMI connector ? If so there should be two ports in >>> DT too. >>> +Example: + sii9234@39 { + compatible = "sil,sii9234"; + reg = <0x39>; + avcc33-supply = <&vcc33mhl>; + iovcc18-supply = <&vcc18mhl>; + avcc12-supply = <&vsil12>; + cvcc12-supply = <&vsil12>; + reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>; + interrupt-parent = <&gpf3>; + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; + + port { + mhl_to_hdmi: endpoint { + remote-endpoint = <&hdmi_to_mhl>; >>> It would be useful to include the remote DT nodes in the example too. >>> + }; + }; + }; > ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2 1/2] drm/bridge: add Silicon Image SiI9234 driver
Hi Maciej, On Tuesday, 5 September 2017 16:01:54 EEST Maciej Purski wrote: > Hi Laurent, > > Thank you for your reply. The problem was already discussed when adding > sil8620 driver. It can be solved later. I'm CC-ing Andrzej Hajda, as he > used to discuss it with you. I'm afraid it can't be solved later. DT bindings are supposed to be a stable ABI, we can't merge a binding that we already know isn't correct. > https://patchwork.freedesktop.org/patch/114224/ > https://lists.freedesktop.org/archives/dri-devel/2015-December/096756.html > > Regards, > > Maciej > > On 31/08/17 15:30, Laurent Pinchart wrote: > > Hi Maciej, > > > > Thank you for the patch. > > > > On Thursday, 31 August 2017 15:27:13 EEST Maciej Purski wrote: > >> SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0. > >> It is controlled via I2C bus. Its interaction with other > >> devices in video pipeline is performed mainly on HW level. > >> The only interaction it does on device driver level is > >> filtering-out unsupported video modes, it exposes drm_bridge > >> interface to perform this operation. > >> > >> This patch is based on the code refactored by Tomasz Stanislawski > >> , which was initially developed by: > >> Adam Hampson > >> Erik Gilling > >> Shankar Bandal > >> Dharam Kumar > >> > >> Signed-off-by: Maciej Purski > >> --- > >> Changes in v2: > >> - use bulk_requlators instead of single one > >> - substitute some of the magic values with macros > >> - improve coding style > >> - improved error handling in sii9234_probe() > >> --- > >> > >> .../devicetree/bindings/display/bridge/sii9234.txt | 34 + > >> drivers/gpu/drm/bridge/Kconfig | 8 + > >> drivers/gpu/drm/bridge/Makefile| 1 + > >> drivers/gpu/drm/bridge/sii9234.c | 993 > >> ++ > >> 4 files changed, 1036 insertions(+) > >> create mode 100644 > >> > >> Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode > >> 100644 drivers/gpu/drm/bridge/sii9234.c > >> > >> diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt > >> b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file > >> mode 100644 > >> index 000..3ce7413 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt > >> @@ -0,0 +1,34 @@ > >> +Silicon Image SiI9234 HDMI/MHL bridge bindings > >> + > >> +Required properties: > >> + - compatible : "sil,sii9234". > >> + - reg : I2C address for TPI interface, use 0x39 > >> + - avcc33-supply : MHL/USB Switch Supply Voltage (3.3V) > >> + - iovcc18-supply : I/O Supply Voltage (1.8V) > >> + - avcc12-supply : TMDS Analog Supply Voltage (1.2V) > >> + - cvcc12-supply : Digital Core Supply Voltage (1.2V) > >> + - interrupts, interrupt-parent: interrupt specifier of INT pin > >> + - reset-gpios: gpio specifier of RESET pin (active low) > >> + - video interfaces: Device node can contain video interface port > >> + node for HDMI encoder according to [1]. > >> + > >> +[1]: Documentation/devicetree/bindings/media/video-interfaces.txt > > > > Doesn't this chip have two ports, one input connected to the SoC and one > > output connected to an HDMI connector ? If so there should be two ports in > > DT too. > > > >> +Example: > >> + sii9234@39 { > >> + compatible = "sil,sii9234"; > >> + reg = <0x39>; > >> + avcc33-supply = <&vcc33mhl>; > >> + iovcc18-supply = <&vcc18mhl>; > >> + avcc12-supply = <&vsil12>; > >> + cvcc12-supply = <&vsil12>; > >> + reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>; > >> + interrupt-parent = <&gpf3>; > >> + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; > >> + > >> + port { > >> + mhl_to_hdmi: endpoint { > >> + remote-endpoint = <&hdmi_to_mhl>; > > > > It would be useful to include the remote DT nodes in the example too. > > > >> + }; > >> + }; > >> + }; -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2 1/2] drm/bridge: add Silicon Image SiI9234 driver
Hi Laurent, Thank you for your reply. The problem was already discussed when adding sil8620 driver. It can be solved later. I'm CC-ing Andrzej Hajda, as he used to discuss it with you. https://patchwork.freedesktop.org/patch/114224/ https://lists.freedesktop.org/archives/dri-devel/2015-December/096756.html Regards, Maciej On 31/08/17 15:30, Laurent Pinchart wrote: Hi Maciej, Thank you for the patch. On Thursday, 31 August 2017 15:27:13 EEST Maciej Purski wrote: SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0. It is controlled via I2C bus. Its interaction with other devices in video pipeline is performed mainly on HW level. The only interaction it does on device driver level is filtering-out unsupported video modes, it exposes drm_bridge interface to perform this operation. This patch is based on the code refactored by Tomasz Stanislawski , which was initially developed by: Adam Hampson Erik Gilling Shankar Bandal Dharam Kumar Signed-off-by: Maciej Purski --- Changes in v2: - use bulk_requlators instead of single one - substitute some of the magic values with macros - improve coding style - improved error handling in sii9234_probe() --- .../devicetree/bindings/display/bridge/sii9234.txt | 34 + drivers/gpu/drm/bridge/Kconfig | 8 + drivers/gpu/drm/bridge/Makefile| 1 + drivers/gpu/drm/bridge/sii9234.c | 993 ++ 4 files changed, 1036 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode 100644 drivers/gpu/drm/bridge/sii9234.c diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file mode 100644 index 000..3ce7413 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt @@ -0,0 +1,34 @@ +Silicon Image SiI9234 HDMI/MHL bridge bindings + +Required properties: + - compatible : "sil,sii9234". + - reg : I2C address for TPI interface, use 0x39 + - avcc33-supply : MHL/USB Switch Supply Voltage (3.3V) + - iovcc18-supply : I/O Supply Voltage (1.8V) + - avcc12-supply : TMDS Analog Supply Voltage (1.2V) + - cvcc12-supply : Digital Core Supply Voltage (1.2V) + - interrupts, interrupt-parent: interrupt specifier of INT pin + - reset-gpios: gpio specifier of RESET pin (active low) + - video interfaces: Device node can contain video interface port + node for HDMI encoder according to [1]. + +[1]: Documentation/devicetree/bindings/media/video-interfaces.txt Doesn't this chip have two ports, one input connected to the SoC and one output connected to an HDMI connector ? If so there should be two ports in DT too. +Example: + sii9234@39 { + compatible = "sil,sii9234"; + reg = <0x39>; + avcc33-supply = <&vcc33mhl>; + iovcc18-supply = <&vcc18mhl>; + avcc12-supply = <&vsil12>; + cvcc12-supply = <&vsil12>; + reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>; + interrupt-parent = <&gpf3>; + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; + + port { + mhl_to_hdmi: endpoint { + remote-endpoint = <&hdmi_to_mhl>; It would be useful to include the remote DT nodes in the example too. + }; + }; + }; ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2 1/2] drm/bridge: add Silicon Image SiI9234 driver
Hi Maciej, Thank you for the patch. On Thursday, 31 August 2017 15:27:13 EEST Maciej Purski wrote: > SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0. > It is controlled via I2C bus. Its interaction with other > devices in video pipeline is performed mainly on HW level. > The only interaction it does on device driver level is > filtering-out unsupported video modes, it exposes drm_bridge > interface to perform this operation. > > This patch is based on the code refactored by Tomasz Stanislawski > , which was initially developed by: > Adam Hampson > Erik Gilling > Shankar Bandal > Dharam Kumar > > Signed-off-by: Maciej Purski > --- > Changes in v2: > - use bulk_requlators instead of single one > - substitute some of the magic values with macros > - improve coding style > - improved error handling in sii9234_probe() > --- > .../devicetree/bindings/display/bridge/sii9234.txt | 34 + > drivers/gpu/drm/bridge/Kconfig | 8 + > drivers/gpu/drm/bridge/Makefile| 1 + > drivers/gpu/drm/bridge/sii9234.c | 993 ++ > 4 files changed, 1036 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode > 100644 drivers/gpu/drm/bridge/sii9234.c > > diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt > b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file > mode 100644 > index 000..3ce7413 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt > @@ -0,0 +1,34 @@ > +Silicon Image SiI9234 HDMI/MHL bridge bindings > + > +Required properties: > + - compatible : "sil,sii9234". > + - reg : I2C address for TPI interface, use 0x39 > + - avcc33-supply : MHL/USB Switch Supply Voltage (3.3V) > + - iovcc18-supply : I/O Supply Voltage (1.8V) > + - avcc12-supply : TMDS Analog Supply Voltage (1.2V) > + - cvcc12-supply : Digital Core Supply Voltage (1.2V) > + - interrupts, interrupt-parent: interrupt specifier of INT pin > + - reset-gpios: gpio specifier of RESET pin (active low) > + - video interfaces: Device node can contain video interface port > + node for HDMI encoder according to [1]. > + > +[1]: Documentation/devicetree/bindings/media/video-interfaces.txt Doesn't this chip have two ports, one input connected to the SoC and one output connected to an HDMI connector ? If so there should be two ports in DT too. > +Example: > + sii9234@39 { > + compatible = "sil,sii9234"; > + reg = <0x39>; > + avcc33-supply = <&vcc33mhl>; > + iovcc18-supply = <&vcc18mhl>; > + avcc12-supply = <&vsil12>; > + cvcc12-supply = <&vsil12>; > + reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>; > + interrupt-parent = <&gpf3>; > + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; > + > + port { > + mhl_to_hdmi: endpoint { > + remote-endpoint = <&hdmi_to_mhl>; It would be useful to include the remote DT nodes in the example too. > + }; > + }; > + }; -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel