[PATCH 5/8] dt-bindings: display: bridge: Add ITE IT6263 LVDS to HDMI converter
Liu Ying
victor.liu at nxp.com
Mon Sep 30 09:48:41 UTC 2024
On 09/30/2024, Biju Das wrote:
> Hi Liu,
Hi Biju,
>
>> -----Original Message-----
>> From: Liu Ying <victor.liu at nxp.com>
>> Sent: Monday, September 30, 2024 10:30 AM
>> Subject: Re: [PATCH 5/8] dt-bindings: display: bridge: Add ITE IT6263 LVDS to HDMI converter
>>
>> On 09/30/2024, Biju Das wrote:
>>> Hi Liu,
>>
>> Hi Biju,
>>
>>>
>>>> -----Original Message-----
>>>> From: Liu Ying <victor.liu at nxp.com>
>>>> Sent: Monday, September 30, 2024 10:16 AM
>>>> Subject: Re: [PATCH 5/8] dt-bindings: display: bridge: Add ITE IT6263
>>>> LVDS to HDMI converter
>>>>
>>>> On 09/30/2024, Biju Das wrote:
>>>>> Hi Liu,
>>>>
>>>> Hi Biju,
>>>>
>>>>>
>>>>> thanks for the patch.
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: linux-arm-kernel
>>>>>> <linux-arm-kernel-bounces at lists.infradead.org>
>>>>>> On Behalf Of Liu Ying
>>>>>> Sent: Monday, September 30, 2024 6:29 AM
>>>>>> Subject: [PATCH 5/8] dt-bindings: display: bridge: Add ITE IT6263
>>>>>> LVDS to HDMI converter
>>>>>>
>>>>>> Document ITE IT6263 LVDS to HDMI converter.
>>>>>>
>>>>>> Product link:
>>>>>> https://www.ite.com.tw/en/product/cate1/IT6263
>>>>>>
>>>>>> Signed-off-by: Liu Ying <victor.liu at nxp.com>
>>>>>> ---
>>>>>> .../bindings/display/bridge/ite,it6263.yaml | 310 ++++++++++++++++++
>>>>>> 1 file changed, 310 insertions(+)
>>>>>> create mode 100644
>>>>>> Documentation/devicetree/bindings/display/bridge/ite,it6263.yaml
>>>>>>
>>>>>> diff --git
>>>>>> a/Documentation/devicetree/bindings/display/bridge/ite,it6263.yaml
>>>>>> b/Documentation/devicetree/bindings/display/bridge/ite,it6263.yaml
>>>>>> new file mode 100644
>>>>>> index 000000000000..97fb81e5bc4a
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6263.y
>>>>>> +++ am
>>>>>> +++ l
>>>>>> @@ -0,0 +1,310 @@
>>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML
>>>>>> +1.2
>>>>>> +---
>>>>>> +$id: http://devicetree.org/schemas/display/bridge/ite,it6263.yaml#
>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>>> +
>>>>>> +title: ITE IT6263 LVDS to HDMI converter
>>>>>> +
>>>>>> +maintainers:
>>>>>> + - Liu Ying <victor.liu at nxp.com>
>>>>>> +
>>>>>> +description: |
>>>>>> + The IT6263 is a high-performance single-chip De-SSC(De-Spread
>>>>>> +Spectrum) LVDS
>>>>>> + to HDMI converter. Combined with LVDS receiver and HDMI 1.4a
>>>>>> +transmitter,
>>>>>> + the IT6263 supports LVDS input and HDMI 1.4 output by conversion function.
>>>>>> + The built-in LVDS receiver can support single-link and dual-link
>>>>>> +LVDS inputs,
>>>>>> + and the built-in HDMI transmitter is fully compliant with HDMI
>>>>>> +1.4a/3D, HDCP
>>>>>> + 1.2 and backward compatible with DVI 1.0 specification.
>>>>>> +
>>>>>> + The IT6263 also encodes and transmits up to 8 channels of I2S
>>>>>> + digital audio, with sampling rate up to 192KHz and sample size up to 24 bits.
>>>>>> + In addition, an S/PDIF input port takes in compressed audio of up to 192KHz frame rate.
>>>>>> +
>>>>>> + The newly supported High-Bit Rate(HBR) audio by HDMI
>>>>>> + specifications
>>>>>> + v1.3 is provided by the IT6263 in two interfaces: the four I2S
>>>>>> + input ports or the S/PDIF input port. With both interfaces the
>>>>>> + highest possible HBR frame rate is supported at up to 768KHz.
>>>>>> +
>>>>>> +properties:
>>>>>> + compatible:
>>>>>> + const: ite,it6263
>>>>>> +
>>>>>> + reg:
>>>>>> + maxItems: 1
>>>>>> +
>>>>>> + clocks:
>>>>>> + maxItems: 1
>>>>>> + description: audio master clock
>>>>>> +
>>>>>> + clock-names:
>>>>>> + const: mclk
>>>>>> +
>>>>>> + reset-gpios:
>>>>>> + maxItems: 1
>>>>>> +
>>>>>> + ivdd-supply:
>>>>>> + description: 1.8V digital logic power
>>>>>> +
>>>>>> + ovdd-supply:
>>>>>> + description: 3.3V I/O pin power
>>>>>> +
>>>>>> + txavcc18-supply:
>>>>>> + description: 1.8V HDMI analog frontend power
>>>>>> +
>>>>>> + txavcc33-supply:
>>>>>> + description: 3.3V HDMI analog frontend power
>>>>>> +
>>>>>> + pvcc1-supply:
>>>>>> + description: 1.8V HDMI frontend core PLL power
>>>>>> +
>>>>>> + pvcc2-supply:
>>>>>> + description: 1.8V HDMI frontend filter PLL power
>>>>>> +
>>>>>> + avcc-supply:
>>>>>> + description: 3.3V LVDS frontend power
>>>>>> +
>>>>>> + anvdd-supply:
>>>>>> + description: 1.8V LVDS frontend analog power
>>>>>> +
>>>>>> + apvdd-supply:
>>>>>> + description: 1.8V LVDS frontend PLL power
>>>>>> +
>>>>>> + "#sound-dai-cells":
>>>>>> + const: 0
>>>>>> +
>>>>>> + ite,i2s-audio-fifo-sources:
>>>>>> + $ref: /schemas/types.yaml#/definitions/uint32-array
>>>>>> + minItems: 1
>>>>>> + maxItems: 4
>>>>>> + items:
>>>>>> + enum: [0, 1, 2, 3]
>>>>>> + description:
>>>>>> + Each array element indicates the pin number of an I2S serial data input
>>>>>> + line which is connected to an audio FIFO, from audio FIFO0 to FIFO3.
>>>>>> +
>>>>>> + ite,rl-channel-swap-audio-sources:
>>>>>> + $ref: /schemas/types.yaml#/definitions/uint32-array
>>>>>> + minItems: 1
>>>>>> + maxItems: 4
>>>>>> + uniqueItems: true
>>>>>> + items:
>>>>>> + enum: [0, 1, 2, 3]
>>>>>> + description:
>>>>>> + Each array element indicates an audio source whose right channel and left
>>>>>> + channel are swapped by this converter. For I2S, the element is the pin
>>>>>> + number of an I2S serial data input line. For S/PDIF, the element is always
>>>>>> + 0.
>>>>>> +
>>>>>> + ports:
>>>>>> + $ref: /schemas/graph.yaml#/properties/ports
>>>>>> +
>>>>>> + oneOf:
>>>>>> + - properties:
>>>>>> + port at 0:
>>>>>> + $ref: /schemas/graph.yaml#/properties/port
>>>>>> + description: the first LVDS input link
>>>>>> +
>>>>>> + port at 1: false
>>>>>> +
>>>>>> + port at 2:
>>>>>> + $ref: /schemas/graph.yaml#/properties/port
>>>>>> + description: video port for the HDMI output
>>>>>> +
>>>>>> + port at 3:
>>>>>> + $ref: /schemas/graph.yaml#/properties/port
>>>>>> + description: sound input port
>>>>>> +
>>>>>> + required:
>>>>>> + - port at 0
>>>>>> + - port at 2
>>>>>> +
>>>>>> + - properties:
>>>>>> + port at 0:
>>>>>> + $ref: /schemas/graph.yaml#/$defs/port-base
>>>>>> + unevaluatedProperties: false
>>>>>> + description: the first LVDS input link
>>>>>> +
>>>>>> + properties:
>>>>>> + dual-lvds-odd-pixels:
>>>>>> + type: boolean
>>>>>> + description: the first sink port for odd pixels
>>>>>> +
>>>>>> + dual-lvds-even-pixels:
>>>>>> + type: boolean
>>>>>> + description: the first sink port for even pixels
>>>>>> +
>>>>>> + oneOf:
>>>>>> + - required: [dual-lvds-odd-pixels]
>>>>>> + - required: [dual-lvds-even-pixels]
>>>>>> +
>>>>>> + port at 1:
>>>>>> + $ref: /schemas/graph.yaml#/$defs/port-base
>>>>>> + unevaluatedProperties: false
>>>>>> + description: the second LVDS input link
>>>>>> +
>>>>>> + properties:
>>>>>> + dual-lvds-even-pixels:
>>>>>> + type: boolean
>>>>>> + description: the second sink port for even pixels
>>>>>> +
>>>>>> + dual-lvds-odd-pixels:
>>>>>> + type: boolean
>>>>>> + description: the second sink port for odd pixels
>>>>>> +
>>>>>> + oneOf:
>>>>>> + - required: [dual-lvds-even-pixels]
>>>>>> + - required: [dual-lvds-odd-pixels]
>>>>>
>>>>>
>>>>>> +
>>>>>> + port at 2:
>>>>>> + $ref: /schemas/graph.yaml#/properties/port
>>>>>> + description: video port for the HDMI output
>>>>>> +
>>>>>> + port at 3:
>>>>>> + $ref: /schemas/graph.yaml#/properties/port
>>>>>> + description: sound input port
>>>>>
>>>>> What about single lvds as device support it?
>>>>
>>>> The single LVDS link has already been documented in this binding doc.
>>>> Please find the "properties" above where only "port at 0" and "port at 2"
>>>> are required.
>>>
>>> Maybe "the first LVDS input link"-->"Single LVDS input link" for single LVDS block??
>>
>> Nope.
>>
>> I tested single LVDS link with the second LVDS link. It didn't work.
>> The single LVDS link only works with the first LVDS link.
>
> OK. That is the reason you made port at 1 false.
Yes.
>
> Still port at 0 is a single LVDS instance or first LVDS input link for the dual
> LVDS configuration??
"port at 0" always represents the first LVDS link and "port at 1" always
represents the second LVDS link, no matter it's a single-link LVDS
or a dual-link LVDS.
Which one is the first/second LVDS link? See "LVDS front-end
interface pin" in IT6263 data sheet[1] where first/second are
defined.
[1] http://static6.arrow.com/aropdfconversion/a2ecd2a29274cf0bfb3f3c829ef224c5838fe144/it6263fn.pdf
>
> Cheers,
> Biju
>
>
>>
>>>
>>>>
>>>> imx8mp-evk-lvds0-imx-lvds-hdmi.dtso and
>>>> imx8mp-evk-lvds1-imx-lvds-hdmi.dtso
>>>> added in patch 7 support the NXP adapter card with single LVDS link.
>>>>
>>>>>
>>>>> Cheers,
>>>>> Biju
>>>>>
>>>>>> +
>>>>>> + required:
>>>>>> + - port at 0
>>>>>> + - port at 1
>>>>>> + - port at 2
>>>>>> +
>>>>>> + allOf:
>>>>>> + - if:
>>>>>> + properties:
>>>>>> + port at 0:
>>>>>> + required:
>>>>>> + - dual-lvds-odd-pixels
>>>>>> + then:
>>>>>> + properties:
>>>>>> + port at 1:
>>>>>> + properties:
>>>>>> + dual-lvds-odd-pixels: false
>>>>>> +
>>>>>> + - if:
>>>>>> + properties:
>>>>>> + port at 0:
>>>>>> + required:
>>>>>> + - dual-lvds-even-pixels
>>>>>> + then:
>>>>>> + properties:
>>>>>> + port at 1:
>>>>>> + properties:
>>>>>> + dual-lvds-even-pixels: false
>>>>>> +
>>>>>> +required:
>>>>>> + - compatible
>>>>>> + - reg
>>>>>> + - ivdd-supply
>>>>>> + - ovdd-supply
>>>>>> + - txavcc18-supply
>>>>>> + - txavcc33-supply
>>>>>> + - pvcc1-supply
>>>>>> + - pvcc2-supply
>>>>>> + - avcc-supply
>>>>>> + - anvdd-supply
>>>>>> + - apvdd-supply
>>>>>> + - ports
>>>>>> +
>>>>>> +additionalProperties: false
>>>>>> +
>>>>>> +examples:
>>>>>> + - |
>>>>>> + /* single-link LVDS input */
>>>>>> + #include <dt-bindings/gpio/gpio.h>
>>>>>> +
>>>>>> + i2c {
>>>>>> + #address-cells = <1>;
>>>>>> + #size-cells = <0>;
>>>>>> +
>>>>>> + hdmi at 4c {
>>>>>> + compatible = "ite,it6263";
>>>>>> + reg = <0x4c>;
>>>>>> + reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
>>>>>> + ivdd-supply = <®_buck5>;
>>>>>> + ovdd-supply = <®_vext_3v3>;
>>>>>> + txavcc18-supply = <®_buck5>;
>>>>>> + txavcc33-supply = <®_vext_3v3>;
>>>>>> + pvcc1-supply = <®_buck5>;
>>>>>> + pvcc2-supply = <®_buck5>;
>>>>>> + avcc-supply = <®_vext_3v3>;
>>>>>> + anvdd-supply = <®_buck5>;
>>>>>> + apvdd-supply = <®_buck5>;
>>>>>> +
>>>>>> + ports {
>>>>>> + #address-cells = <1>;
>>>>>> + #size-cells = <0>;
>>>>>> +
>>>>>> + port at 0 {
>>>>>> + reg = <0>;
>>>>>> +
>>>>>> + it6263_lvds_link1: endpoint {
>>>>>> + remote-endpoint = <&ldb_lvds_ch0>;
>>>>>> + };
>>>>>> + };
>>>>>> +
>>>>>> + port at 2 {
>>>>>> + reg = <2>;
>>>>>> +
>>>>>> + it6263_out: endpoint {
>>>>>> + remote-endpoint = <&hdmi_in>;
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> +
>>>>>> + - |
>>>>>> + /* dual-link LVDS input */
>>>>>> + #include <dt-bindings/gpio/gpio.h>
>>>>>> +
>>>>>> + i2c {
>>>>>> + #address-cells = <1>;
>>>>>> + #size-cells = <0>;
>>>>>> +
>>>>>> + hdmi at 4c {
>>>>>> + compatible = "ite,it6263";
>>>>>> + reg = <0x4c>;
>>>>>> + reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
>>>>>> + ivdd-supply = <®_buck5>;
>>>>>> + ovdd-supply = <®_vext_3v3>;
>>>>>> + txavcc18-supply = <®_buck5>;
>>>>>> + txavcc33-supply = <®_vext_3v3>;
>>>>>> + pvcc1-supply = <®_buck5>;
>>>>>> + pvcc2-supply = <®_buck5>;
>>>>>> + avcc-supply = <®_vext_3v3>;
>>>>>> + anvdd-supply = <®_buck5>;
>>>>>> + apvdd-supply = <®_buck5>;
>>>>>> +
>>>>>> + ports {
>>>>>> + #address-cells = <1>;
>>>>>> + #size-cells = <0>;
>>>>>> +
>>>>>> + port at 0 {
>>>>>> + reg = <0>;
>>>>>> + dual-lvds-odd-pixels;
>>>>>> +
>>>>>> + it6263_lvds_link1_dual: endpoint {
>>>>>> + remote-endpoint = <&ldb_lvds_ch0>;
>>>>>> + };
>>>>>> + };
>>>>>> +
>>>>>> + port at 1 {
>>>>>> + reg = <1>;
>>>>>> + dual-lvds-even-pixels;
>>>>>> +
>>>>>> + it6263_lvds_link2_dual: endpoint {
>>>>>> + remote-endpoint = <&ldb_lvds_ch1>;
>>>>>> + };
>>>>>> + };
>>>>>> +
>>>>>> + port at 2 {
>>>>>> + reg = <2>;
>>>>>> +
>>>>>> + it6263_out_dual: endpoint {
>>>>>> + remote-endpoint = <&hdmi_in>;
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> --
>>>>>> 2.34.1
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Liu Ying
>>>
>>
>> --
>> Regards,
>> Liu Ying
>
--
Regards,
Liu Ying
More information about the dri-devel
mailing list