[PATCH v12 3/6] dt-bindings: display: Add Loongson display controller

Jiaxun Yang jiaxun.yang at flygoat.com
Sun Mar 27 12:54:04 UTC 2022



在 2022/3/27 12:38, Sui Jingfeng 写道:
> Add DT bindings and simple usages for Loongson display controller
> found in LS7A1000 bridges chip and LS2k1000 SoC.
>
> Signed-off-by: Sui Jingfeng <15330273260 at 189.cn>
[...]
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    bus {
> +
> +        #address-cells = <3>;
> +        #size-cells = <2>;
> +        #interrupt-cells = <2>;
> +
> +        display-controller at 6,1 {
> +            compatible = "loongson,ls7a1000-dc";
> +            reg = <0x3100 0x0 0x0 0x0 0x0>;
> +            interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
> +
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            i2c at 6 {
> +                compatible = "loongson,gpio-i2c";
> +                reg = <0x00001650 0x00000020>;
Hi Jingfeng,

Thanks for your patch.

Just curious about what is this "reg" for?
> +                loongson,nr = <6>;
Why nr start from 6?

The approach you are handling I2C seems to be wired..

Actually you can reference how network subsystem is handling
MDIO controller built-in into Ethernet controller [1] in this case. It is
basically the same problem.

[1]: 
https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/net/snps,dwmac.yaml

Thanks.
- Jiaxun

> +                loongson,sda = <0>;
> +                loongson,scl = <1>;
> +                loongson,udelay = <5>;
> +                loongson,timeout = <2200>;
> +            };
> +
> +            i2c at 7 {
> +                compatible = "loongson,gpio-i2c";
> +                reg = <0x00001650 0x00000020>;
> +                loongson,nr = <7>;
> +                loongson,sda = <2>;
> +                loongson,scl = <3>;
> +                loongson,udelay = <5>;
> +                loongson,timeout = <2200>;
> +            };
> +
> +            ports {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +                port at 0 {
> +                    reg = <0>;
> +                    endpoint {
> +                            remote-endpoint = <&vga_encoder_in>;
> +                    };
> +                };
> +
> +                port at 1 {
> +                    reg = <1>;
> +                    endpoint {
> +                            remote-endpoint = <&dvi_encoder_in>;
> +                    };
> +                };
> +            };
> +        };
> +    };
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    bus {
> +
> +        #address-cells = <3>;
> +        #size-cells = <2>;
> +        #interrupt-cells = <2>;
> +
> +        display-controller at 6,0 {
> +            compatible = "loongson,ls2k1000-dc";
> +            reg = <0x3100 0x0 0x0 0x0 0x0>;
> +            interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
> +
> +            ports {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +                port at 0 {
> +                    reg = <0>;
> +                    endpoint {
> +                            remote-endpoint = <&panel_in>;
> +                    };
> +                };
> +
> +                port at 1 {
> +                    reg = <1>;
> +                    endpoint {
> +                            remote-endpoint = <&hdmi_encoder_in>;
> +                    };
> +                };
> +            };
> +        };
> +    };
> +...



More information about the dri-devel mailing list