[linux-sunxi] [PATCH v6 11/13] ARM: dts: sun8i: add DE2 nodes for V3s SoC

icenowy at aosc.io icenowy at aosc.io
Fri May 5 01:53:43 PDT 2017


在 2017-05-05 11:31,Chen-Yu Tsai 写道:
> On Thu, May 4, 2017 at 7:48 PM, Icenowy Zheng <icenowy at aosc.io> wrote:
>> Allwinner V3s SoC features a "Display Engine 2.0" with only one TCON
>> which have RGB LCD output.
> 
> Please also mention that it only has one mixer.
> 
> For the subject, you could just say "Add device nodes for the display 
> pipeline".
> 
>> 
>> Add device nodes for it as well as the TCON.
>> 
>> Signed-off-by: Icenowy Zheng <icenowy at aosc.io>
>> ---
>>  arch/arm/boot/dts/sun8i-v3s.dtsi | 87 
>> ++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 87 insertions(+)
>> 
>> diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi 
>> b/arch/arm/boot/dts/sun8i-v3s.dtsi
>> index 71075969e5e6..0a895179d8ae 100644
>> --- a/arch/arm/boot/dts/sun8i-v3s.dtsi
>> +++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
>> @@ -41,6 +41,10 @@
>>   */
>> 
>>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +#include <dt-bindings/clock/sun8i-v3s-ccu.h>
>> +#include <dt-bindings/clock/sun8i-de2.h>
>> +#include <dt-bindings/reset/sun8i-v3s-ccu.h>
>> +#include <dt-bindings/reset/sun8i-de2.h>
>> 
>>  / {
>>         #address-cells = <1>;
>> @@ -59,6 +63,12 @@
>>                 };
>>         };
>> 
>> +       de: display-engine {
>> +               compatible = "allwinner,sun8i-v3s-display-engine";
>> +               allwinner,pipelines = <&de2_mixer0>;
>> +               status = "disabled";
>> +       };
>> +
>>         timer {
>>                 compatible = "arm,armv7-timer";
>>                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | 
>> IRQ_TYPE_LEVEL_LOW)>,
>> @@ -93,6 +103,83 @@
>>                 #size-cells = <1>;
>>                 ranges;
>> 
>> +               de2_clocks: clock at 1000000 {
>> +                       compatible = "allwinner,sun50i-h5-de2-clk";
> 
> I am a bit skeptical about this. Since the V3S only has one mixer, do 
> the clocks
> for the second one even exist?

It's described in the de_clock.c in the BSP source code, and in hardware
these bits can be really set (although without clock output).

So I use this compatible which has still the extra clocks.

> 
>> +                       reg = <0x01000000 0x100000>;
>> +                       clocks = <&ccu CLK_DE>,
>> +                                <&ccu CLK_BUS_DE>;
>> +                       clock-names = "mod",
>> +                                     "bus";
>> +                       resets = <&ccu RST_BUS_DE>;
>> +                       #clock-cells = <1>;
>> +                       #reset-cells = <1>;
>> +               };
>> +
>> +               de2_mixer0: mixer at 1100000 {
>> +                       compatible = "allwinner,sun8i-v3s-de2-mixer";
>> +                       reg = <0x01100000 0x100000>;
>> +                       clocks = <&de2_clocks CLK_MIXER0>,
>> +                                <&de2_clocks CLK_BUS_MIXER0>;
>> +                       clock-names = "mod",
>> +                                     "bus";
> 
> Nit: could you list the bus clock first?
> 
> Regards
> ChenYu
> 
>> +                       resets = <&de2_clocks RST_MIXER0>;
>> +                       assigned-clocks = <&de2_clocks CLK_MIXER0>;
>> +                       assigned-clock-rates = <150000000>;
>> +
>> +                       ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               mixer0_out: port at 1 {
>> +                                       #address-cells = <1>;
>> +                                       #size-cells = <0>;
>> +                                       reg = <1>;
>> +
>> +                                       mixer0_out_tcon0: endpoint at 0 {
>> +                                               reg = <0>;
>> +                                               remote-endpoint = 
>> <&tcon0_in_mixer0>;
>> +                                       };
>> +                               };
>> +                       };
>> +               };
>> +
>> +               tcon0: lcd-controller at 1c0c000 {
>> +                       compatible = "allwinner,sun8i-v3s-tcon";
>> +                       reg = <0x01c0c000 0x1000>;
>> +                       interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
>> +                       clocks = <&ccu CLK_BUS_TCON0>,
>> +                                <&ccu CLK_TCON0>;
>> +                       clock-names = "ahb",
>> +                                     "tcon-ch0";
>> +                       clock-output-names = "tcon-pixel-clock";
>> +                       resets = <&ccu RST_BUS_TCON0>;
>> +                       reset-names = "lcd";
>> +                       status = "disabled";
>> +
>> +                       ports {
>> +                               #address-cells = <1>;
>> +                               #size-cells = <0>;
>> +
>> +                               tcon0_in: port at 0 {
>> +                                       #address-cells = <1>;
>> +                                       #size-cells = <0>;
>> +                                       reg = <0>;
>> +
>> +                                       tcon0_in_mixer0: endpoint at 0 {
>> +                                               reg = <0>;
>> +                                               remote-endpoint = 
>> <&mixer0_out_tcon0>;
>> +                                       };
>> +                               };
>> +
>> +                               tcon0_out: port at 1 {
>> +                                       #address-cells = <1>;
>> +                                       #size-cells = <0>;
>> +                                       reg = <1>;
>> +                               };
>> +                       };
>> +               };
>> +
>> +
>>                 mmc0: mmc at 01c0f000 {
>>                         compatible = "allwinner,sun7i-a20-mmc";
>>                         reg = <0x01c0f000 0x1000>;
>> --
>> 2.12.2
>> 
>> --
>> You received this message because you are subscribed to the Google 
>> Groups "linux-sunxi" group.
>> To unsubscribe from this group and stop receiving emails from it, send 
>> an email to linux-sunxi+unsubscribe at googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.



More information about the linux-arm-kernel mailing list