@@ -645,6 +645,20 @@ static const char * const tcon_tv_parents[] = { "pll-video0",
645
645
"pll-video0-4x" ,
646
646
"pll-video1" ,
647
647
"pll-video1-4x" };
648
+ static SUNXI_CCU_MUX_WITH_GATE (tcon_lcd0_clk , "tcon-lcd0" ,
649
+ tcon_tv_parents , 0xb60 ,
650
+ 24 , 3 , /* mux */
651
+ BIT (31 ), /* gate */
652
+ CLK_SET_RATE_PARENT );
653
+ static SUNXI_CCU_MUX_WITH_GATE (tcon_lcd1_clk , "tcon-lcd1" ,
654
+ tcon_tv_parents , 0xb64 ,
655
+ 24 , 3 , /* mux */
656
+ BIT (31 ), /* gate */
657
+ CLK_SET_RATE_PARENT );
658
+ static SUNXI_CCU_GATE (bus_tcon_lcd0_clk , "bus-tcon-lcd0" , "ahb3" ,
659
+ 0xb7c , BIT (0 ), 0 );
660
+ static SUNXI_CCU_GATE (bus_tcon_lcd1_clk , "bus-tcon-lcd1" , "ahb3" ,
661
+ 0xb7c , BIT (1 ), 0 );
648
662
static SUNXI_CCU_MP_WITH_MUX_GATE (tcon_tv0_clk , "tcon-tv0" ,
649
663
tcon_tv_parents , 0xb80 ,
650
664
0 , 4 , /* M */
@@ -855,8 +869,12 @@ static struct ccu_common *sun50i_h616_ccu_clks[] = {
855
869
& hdmi_cec_clk .common ,
856
870
& bus_hdmi_clk .common ,
857
871
& bus_tcon_top_clk .common ,
872
+ & tcon_lcd0_clk .common ,
873
+ & tcon_lcd1_clk .common ,
858
874
& tcon_tv0_clk .common ,
859
875
& tcon_tv1_clk .common ,
876
+ & bus_tcon_lcd0_clk .common ,
877
+ & bus_tcon_lcd1_clk .common ,
860
878
& bus_tcon_tv0_clk .common ,
861
879
& bus_tcon_tv1_clk .common ,
862
880
& tve0_clk .common ,
@@ -989,8 +1007,12 @@ static struct clk_hw_onecell_data sun50i_h616_hw_clks = {
989
1007
[CLK_HDMI_CEC ] = & hdmi_cec_clk .common .hw ,
990
1008
[CLK_BUS_HDMI ] = & bus_hdmi_clk .common .hw ,
991
1009
[CLK_BUS_TCON_TOP ] = & bus_tcon_top_clk .common .hw ,
1010
+ [CLK_TCON_LCD0 ] = & tcon_lcd0_clk .common .hw ,
1011
+ [CLK_TCON_LCD1 ] = & tcon_lcd1_clk .common .hw ,
992
1012
[CLK_TCON_TV0 ] = & tcon_tv0_clk .common .hw ,
993
1013
[CLK_TCON_TV1 ] = & tcon_tv1_clk .common .hw ,
1014
+ [CLK_BUS_TCON_LCD0 ] = & bus_tcon_lcd0_clk .common .hw ,
1015
+ [CLK_BUS_TCON_LCD1 ] = & bus_tcon_lcd1_clk .common .hw ,
994
1016
[CLK_BUS_TCON_TV0 ] = & bus_tcon_tv0_clk .common .hw ,
995
1017
[CLK_BUS_TCON_TV1 ] = & bus_tcon_tv1_clk .common .hw ,
996
1018
[CLK_TVE0 ] = & tve0_clk .common .hw ,
@@ -1062,6 +1084,8 @@ static const struct ccu_reset_map sun50i_h616_ccu_resets[] = {
1062
1084
[RST_BUS_HDMI ] = { 0xb1c , BIT (16 ) },
1063
1085
[RST_BUS_HDMI_SUB ] = { 0xb1c , BIT (17 ) },
1064
1086
[RST_BUS_TCON_TOP ] = { 0xb5c , BIT (16 ) },
1087
+ [RST_BUS_TCON_LCD0 ] = { 0xb7c , BIT (16 ) },
1088
+ [RST_BUS_TCON_LCD1 ] = { 0xb7c , BIT (17 ) },
1065
1089
[RST_BUS_TCON_TV0 ] = { 0xb9c , BIT (16 ) },
1066
1090
[RST_BUS_TCON_TV1 ] = { 0xb9c , BIT (17 ) },
1067
1091
[RST_BUS_TVE_TOP ] = { 0xbbc , BIT (16 ) },
0 commit comments