@@ -469,6 +469,11 @@ static SUNXI_CCU_GATE_HWS(bus_i2c2_clk, "bus-i2c2", apb1_hws,
469
469
static SUNXI_CCU_GATE_HWS (bus_i2c3_clk , "bus-i2c3" , apb1_hws ,
470
470
0x91c , BIT (3 ), 0 );
471
471
472
+ static SUNXI_CCU_GATE_HWS (bus_can0_clk , "bus-can0" , apb1_hws ,
473
+ 0x92c , BIT (0 ), 0 );
474
+ static SUNXI_CCU_GATE_HWS (bus_can1_clk , "bus-can1" , apb1_hws ,
475
+ 0x92c , BIT (1 ), 0 );
476
+
472
477
static const struct clk_parent_data spi_parents [] = {
473
478
{ .fw_name = "hosc" },
474
479
{ .hw = & pll_periph0_clk .hw },
@@ -997,6 +1002,8 @@ static struct ccu_common *sun20i_d1_ccu_clks[] = {
997
1002
& bus_i2c1_clk .common ,
998
1003
& bus_i2c2_clk .common ,
999
1004
& bus_i2c3_clk .common ,
1005
+ & bus_can0_clk .common ,
1006
+ & bus_can1_clk .common ,
1000
1007
& spi0_clk .common ,
1001
1008
& spi1_clk .common ,
1002
1009
& bus_spi0_clk .common ,
@@ -1147,6 +1154,8 @@ static struct clk_hw_onecell_data sun20i_d1_hw_clks = {
1147
1154
[CLK_BUS_I2C1 ] = & bus_i2c1_clk .common .hw ,
1148
1155
[CLK_BUS_I2C2 ] = & bus_i2c2_clk .common .hw ,
1149
1156
[CLK_BUS_I2C3 ] = & bus_i2c3_clk .common .hw ,
1157
+ [CLK_BUS_CAN0 ] = & bus_can0_clk .common .hw ,
1158
+ [CLK_BUS_CAN1 ] = & bus_can1_clk .common .hw ,
1150
1159
[CLK_SPI0 ] = & spi0_clk .common .hw ,
1151
1160
[CLK_SPI1 ] = & spi1_clk .common .hw ,
1152
1161
[CLK_BUS_SPI0 ] = & bus_spi0_clk .common .hw ,
@@ -1252,6 +1261,8 @@ static struct ccu_reset_map sun20i_d1_ccu_resets[] = {
1252
1261
[RST_BUS_I2C1 ] = { 0x91c , BIT (17 ) },
1253
1262
[RST_BUS_I2C2 ] = { 0x91c , BIT (18 ) },
1254
1263
[RST_BUS_I2C3 ] = { 0x91c , BIT (19 ) },
1264
+ [RST_BUS_CAN0 ] = { 0x92c , BIT (16 ) },
1265
+ [RST_BUS_CAN1 ] = { 0x92c , BIT (17 ) },
1255
1266
[RST_BUS_SPI0 ] = { 0x96c , BIT (16 ) },
1256
1267
[RST_BUS_SPI1 ] = { 0x96c , BIT (17 ) },
1257
1268
[RST_BUS_EMAC ] = { 0x97c , BIT (16 ) },
0 commit comments