static struct clk aclk_periph = {
.name = "aclk_periph",
.mode = gate_mode,
- .gate_idx = CLK_GATE_PEIRPH_AXI,
+ .gate_idx = CLK_GATE_ACLK_PEIRPH,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
.clksel_con = CRU_CLKSEL0_CON,
static struct clk pclk_periph = {
.name = "pclk_periph",
.mode = gate_mode,
- .gate_idx = CLK_GATE_PEIRPH_APB,
+ .gate_idx = CLK_GATE_PCLK_PEIRPH,
.parent = &aclk_periph,
.recalc = clksel_recalc_shift,
.set_rate = clksel_set_rate_shift,
static struct clk hclk_periph = {
.name = "hclk_periph",
.mode = gate_mode,
- .gate_idx = CLK_GATE_PEIRPH_AHB,
+ .gate_idx = CLK_GATE_HCLK_PEIRPH,
.parent = &aclk_periph,
.recalc = clksel_recalc_shift,
.set_rate = clksel_set_rate_shift,
static struct clk clk_mac_ref = {
.name = "mac_ref",
.mode = gate_mode,
- .gate_idx = CLK_GATE_MAC_PHY,
+ .gate_idx = CLK_GATE_MAC_REF,
.clksel_con = CRU_CLKSEL1_CON,
.clksel_parent_mask = 1,
.clksel_parent_shift = 28,
};
-static struct clk *clk_sdmmc_src_parents[4] = { &arm_pll_clk, &periph_pll_clk, &codec_pll_clk, &ddr_pll_clk };
+static struct clk *clk_mmc_src_parents[4] = { &arm_pll_clk, &periph_pll_clk, &codec_pll_clk, &ddr_pll_clk };
-static struct clk clk_sdmmc_src = {
- .name = "sdmmc_src",
+static struct clk clk_mmc_src = {
+ .name = "mmc_src",
.clksel_con = CRU_CLKSEL7_CON,
.clksel_parent_mask = 3,
.clksel_parent_shift = 0,
- .parents = clk_sdmmc_src_parents,
+ .parents = clk_mmc_src_parents,
};
-static struct clk clk_sdmmc0 = {
- .name = "sdmmc0",
- .parent = &clk_sdmmc_src,
+static struct clk clk_mmc0 = {
+ .name = "mmc0",
+ .parent = &clk_mmc_src,
.mode = gate_mode,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
- .gate_idx = CLK_GATE_SDMMC0,
+ .gate_idx = CLK_GATE_MMC0,
.clksel_con = CRU_CLKSEL7_CON,
.clksel_mask = 0x3F,
.clksel_shift = 2,
};
-static struct clk clk_sdmmc1 = {
- .name = "sdmmc1",
- .parent = &clk_sdmmc_src,
+static struct clk clk_mmc1 = {
+ .name = "mmc1",
+ .parent = &clk_mmc_src,
.mode = gate_mode,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
- .gate_idx = CLK_GATE_SDMMC1,
+ .gate_idx = CLK_GATE_MMC1,
.clksel_con = CRU_CLKSEL7_CON,
.clksel_mask = 0x3F,
.clksel_shift = 10,
static struct clk clk_emmc = {
.name = "emmc",
- .parent = &clk_sdmmc_src,
+ .parent = &clk_mmc_src,
.mode = gate_mode,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
static struct clk dclk_lcdc = {
.name = "dclk_lcdc",
.mode = gate_mode,
- .gate_idx = CLK_GATE_LCDC,
+ .gate_idx = CLK_GATE_DCLK_LCDC,
.clksel_con = CRU_CLKSEL16_CON,
.clksel_parent_mask = 1,
.clksel_parent_shift = 10,
static struct clk dclk_ebook = {
.name = "dclk_ebook",
.mode = gate_mode,
- .gate_idx = CLK_GATE_EBOOK,
+ .gate_idx = CLK_GATE_DCLK_EBOOK,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
.clksel_con = CRU_CLKSEL16_CON,
static struct clk aclk_lcdc = {
.name = "aclk_lcdc",
.mode = gate_mode,
- .gate_idx = CLK_GATE_LCDC_AXI,
+ .gate_idx = CLK_GATE_ACLK_LCDC,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
.clksel_con = CRU_CLKSEL16_CON,
static struct clk hclk_lcdc = {
.name = "hclk_lcdc",
.mode = gate_mode,
- .gate_idx = CLK_GATE_LCDC_AHB,
+ .gate_idx = CLK_GATE_HCLK_LCDC,
.parent = &aclk_lcdc,
.clksel_con = CRU_CLKSEL16_CON,
.recalc = clksel_recalc_shift,
.mode = gate_mode,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
- .gate_idx = CLK_GAET_VEPU_AXI,
+ .gate_idx = CLK_GAET_ACLK_VEPU,
.clksel_con = CRU_CLKSEL17_CON,
.clksel_mask = 0x1F,
.clksel_shift = 2,
.mode = gate_mode,
.recalc = clksel_recalc_shift,
.set_rate = clksel_set_rate_shift,
- .gate_idx = CLK_GATE_VEPU_AHB,
+ .gate_idx = CLK_GATE_HCLK_VEPU,
.clksel_con = CRU_CLKSEL17_CON,
.clksel_mask = 3,
.clksel_shift = 28,
.mode = gate_mode,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
- .gate_idx = CLK_GATE_VDPU_AXI,
+ .gate_idx = CLK_GATE_ACLK_VDPU,
.clksel_con = CRU_CLKSEL17_CON,
.clksel_mask = 0x1F,
.clksel_shift = 9,
.mode = gate_mode,
.recalc = clksel_recalc_shift,
.set_rate = clksel_set_rate_shift,
- .gate_idx = CLK_GATE_VDPU_AHB,
+ .gate_idx = CLK_GATE_HCLK_VDPU,
.clksel_con = CRU_CLKSEL17_CON,
.clksel_mask = 3,
.clksel_shift = 30,
static struct clk aclk_gpu = {
.name = "aclk_gpu",
.mode = gate_mode,
- .gate_idx = CLK_GATE_GPU_AXI,
+ .gate_idx = CLK_GATE_ACLK_GPU,
.recalc = clksel_recalc_div,
.set_rate = clksel_set_rate_div,
.clksel_con = CRU_CLKSEL17_CON,
GATE_CLK(gpio5, pclk_periph, GPIO5);
GATE_CLK(gpio6, pclk_cpu, GPIO6);
-GATE_CLK(dma0, aclk_cpu, DMA0);
-GATE_CLK(dma1, aclk_periph, DMA1);
+GATE_CLK(dma1, aclk_cpu, DMA1);
GATE_CLK(dma2, aclk_periph, DMA2);
GATE_CLK(gic, aclk_cpu, GIC);
-GATE_CLK(imem, aclk_cpu, IMEM);
-GATE_CLK(ebrom, hclk_cpu, EBROM);
+GATE_CLK(intmem, aclk_cpu, INTMEM);
+GATE_CLK(rom, hclk_cpu, ROM);
GATE_CLK(ddr_phy, aclk_cpu, DDR_PHY);
GATE_CLK(ddr_reg, aclk_cpu, DDR_REG);
GATE_CLK(ddr_cpu, aclk_cpu, DDR_CPU);
GATE_CLK(grf, pclk_cpu, GRF);
GATE_CLK(emem, hclk_periph, EMEM);
-GATE_CLK(usb, hclk_periph, USB);
-GATE_CLK(ddr_periph, aclk_periph, DDR_PERIPH);
-GATE_CLK(periph_cpu, aclk_cpu, PERIPH_CPU);
-GATE_CLK(smc_axi, aclk_periph, SMC_AXI);
+GATE_CLK(hclk_usb_peri, hclk_periph, HCLK_USB_PERI);
+GATE_CLK(aclk_ddr_peri, aclk_periph, ACLK_DDR_PERI);
+GATE_CLK(aclk_cpu_peri, aclk_cpu, ACLK_CPU_PERI);
+GATE_CLK(aclk_smc, aclk_periph, ACLK_SMC);
GATE_CLK(smc, pclk_periph, SMC);
-GATE_CLK(mac_ahb, hclk_periph, MAC_AHB);
-GATE_CLK(mac_tx, hclk_periph, MAC_TX);
-GATE_CLK(mac_rx, hclk_periph, MAC_RX);
+GATE_CLK(hclk_mac, hclk_periph, HCLK_MAC);
+GATE_CLK(mii_tx, hclk_periph, MII_TX);
+GATE_CLK(mii_rx, hclk_periph, MII_RX);
GATE_CLK(hif, hclk_periph, HIF);
GATE_CLK(nandc, hclk_periph, NANDC);
-GATE_CLK(hsadc_ahb, hclk_periph, HSADC_AHB);
+GATE_CLK(hclk_hsadc, hclk_periph, HCLK_HSADC);
GATE_CLK(usbotg0, hclk_periph, USBOTG0);
GATE_CLK(usbotg1, hclk_periph, USBOTG1);
-GATE_CLK(uhost_ahb, hclk_periph, UHOST_AHB);
+GATE_CLK(hclk_uhost, hclk_periph, HCLK_UHOST);
GATE_CLK(pid_filter, hclk_periph, PID_FILTER);
-GATE_CLK(vip_slave, hclk_cpu, VIP_SLAVE);
+GATE_CLK(vip_slave, hclk_lcdc, VIP_SLAVE);
GATE_CLK(wdt, pclk_periph, WDT);
GATE_CLK(pwm, pclk_periph, PWM);
GATE_CLK(vip_bus, aclk_cpu, VIP_BUS);
-GATE_CLK(vip_matrix, hclk_cpu, VIP_MATRIX);
+GATE_CLK(vip_matrix, clk_vip_bus, VIP_MATRIX);
GATE_CLK(vip_input, hclk_cpu, VIP_INPUT);
GATE_CLK(jtag, aclk_cpu, JTAG);
-GATE_CLK(ddr_lcdc_axi, aclk_cpu, DDR_LCDC_AXI);
-GATE_CLK(ipp_axi, aclk_cpu, IPP_AXI);
-GATE_CLK(ipp_ahb, hclk_cpu, IPP_AHB);
-GATE_CLK(ebook_ahb, hclk_cpu, EBOOK_AHB);
-GATE_CLK(display_matrix_axi, aclk_cpu, DISPLAY_MATRIX_AXI);
-GATE_CLK(display_matrix_ahb, hclk_cpu, DISPLAY_MATRIX_AHB);
-GATE_CLK(ddr_vepu_axi, aclk_cpu, DDR_VEPU_AXI);
-GATE_CLK(ddr_vdpu_axi, aclk_cpu, DDR_VDPU_AXI);
-GATE_CLK(ddr_gpu_axi, aclk_cpu, DDR_GPU_AXI);
-GATE_CLK(gpu_ahb, hclk_cpu, GPU_AHB);
-GATE_CLK(cpu_vcodec_ahb, hclk_cpu, CPU_VCODEC_AHB);
-GATE_CLK(cpu_display_ahb, hclk_cpu, CPU_DISPLAY_AHB);
-
-GATE_CLK(sdmmc0_ahb, hclk_periph, SDMMC0_AHB);
-GATE_CLK(sdmmc1_ahb, hclk_periph, SDMMC1_AHB);
-GATE_CLK(emmc_ahb, hclk_periph, EMMC_AHB);
+GATE_CLK(aclk_ddr_lcdc, aclk_lcdc, ACLK_DDR_LCDC);
+GATE_CLK(aclk_ipp, aclk_lcdc, ACLK_IPP);
+GATE_CLK(hclk_ipp, hclk_lcdc, HCLK_IPP);
+GATE_CLK(hclk_ebook, hclk_lcdc, HCLK_EBOOK);
+GATE_CLK(aclk_disp_matrix, aclk_lcdc, ACLK_DISP_MATRIX);
+GATE_CLK(hclk_disp_matrix, hclk_lcdc, HCLK_DISP_MATRIX);
+GATE_CLK(aclk_ddr_vepu, aclk_vepu, ACLK_DDR_VEPU);
+GATE_CLK(aclk_ddr_vdpu, aclk_vdpu, ACLK_DDR_VDPU);
+GATE_CLK(aclk_ddr_gpu, aclk_gpu, ACLK_DDR_GPU);
+GATE_CLK(hclk_gpu, hclk_cpu, HCLK_GPU);
+GATE_CLK(hclk_cpu_vcodec, hclk_cpu, HCLK_CPU_VCODEC);
+GATE_CLK(hclk_cpu_display, hclk_cpu, HCLK_CPU_DISPLAY);
+
+GATE_CLK(hclk_mmc0, hclk_periph, HCLK_MMC0);
+GATE_CLK(hclk_mmc1, hclk_periph, HCLK_MMC1);
+GATE_CLK(hclk_emmc, hclk_periph, HCLK_EMMC);
#define CLK(dev, con, ck) \
{ \
CLK1(timer2),
CLK1(timer3),
- CLK1(sdmmc_src),
- CLK("rk29_sdmmc.0", "sdmmc", &clk_sdmmc0),
- CLK("rk29_sdmmc.0", "sdmmc_ahb", &clk_sdmmc0_ahb),
- CLK("rk29_sdmmc.1", "sdmmc", &clk_sdmmc1),
- CLK("rk29_sdmmc.1", "sdmmc_ahb", &clk_sdmmc1_ahb),
+ CLK1(mmc_src),
+ CLK("rk29_sdmmc.0", "mmc", &clk_mmc0),
+ CLK("rk29_sdmmc.0", "hclk_mmc", &clk_hclk_mmc0),
+ CLK("rk29_sdmmc.1", "mmc", &clk_mmc1),
+ CLK("rk29_sdmmc.1", "hclk_mmc", &clk_hclk_mmc1),
CLK1(emmc),
- CLK1(emmc_ahb),
+ CLK1(hclk_emmc),
CLK1(ddr),
CLK1(uart01_src),
CLK1(gpio5),
CLK1(gpio6),
- CLK1(dma0),
CLK1(dma1),
CLK1(dma2),
CLK1(gic),
- CLK1(imem),
- CLK1(ebrom),
+ CLK1(intmem),
+ CLK1(rom),
CLK1(ddr_phy),
CLK1(ddr_reg),
CLK1(ddr_cpu),
CLK1(grf),
CLK1(emem),
- CLK1(usb),
- CLK1(ddr_periph),
- CLK1(periph_cpu),
- CLK1(smc_axi),
+ CLK1(hclk_usb_peri),
+ CLK1(aclk_ddr_peri),
+ CLK1(aclk_cpu_peri),
+ CLK1(aclk_smc),
CLK1(smc),
- CLK1(mac_ahb),
- CLK1(mac_tx),
- CLK1(mac_rx),
+ CLK1(hclk_mac),
+ CLK1(mii_tx),
+ CLK1(mii_rx),
CLK1(hif),
CLK1(nandc),
- CLK1(hsadc_ahb),
+ CLK1(hclk_hsadc),
CLK1(usbotg0),
CLK1(usbotg1),
- CLK1(uhost_ahb),
+ CLK1(hclk_uhost),
CLK1(pid_filter),
CLK1(vip_slave),
CLK1(vip_input),
CLK1(jtag),
- CLK1(ddr_lcdc_axi),
- CLK1(ipp_axi),
- CLK1(ipp_ahb),
- CLK1(ebook_ahb),
- CLK1(display_matrix_axi),
- CLK1(display_matrix_ahb),
- CLK1(ddr_vepu_axi),
- CLK1(ddr_vdpu_axi),
- CLK1(ddr_gpu_axi),
- CLK1(gpu_ahb),
- CLK1(cpu_vcodec_ahb),
- CLK1(cpu_display_ahb),
+ CLK1(aclk_ddr_lcdc),
+ CLK1(aclk_ipp),
+ CLK1(hclk_ipp),
+ CLK1(hclk_ebook),
+ CLK1(aclk_disp_matrix),
+ CLK1(hclk_disp_matrix),
+ CLK1(aclk_ddr_vepu),
+ CLK1(aclk_ddr_vdpu),
+ CLK1(aclk_ddr_gpu),
+ CLK1(hclk_gpu),
+ CLK1(hclk_cpu_vcodec),
+ CLK1(hclk_cpu_display),
};
static LIST_HEAD(clocks);
clk_set_parent_nolock(&clk_i2s1_div, &periph_pll_clk);
clk_set_parent_nolock(&clk_spdif_div, &periph_pll_clk);
clk_set_parent_nolock(&clk_spi_src, &periph_pll_clk);
- clk_set_parent_nolock(&clk_sdmmc_src, &periph_pll_clk);
+ clk_set_parent_nolock(&clk_mmc_src, &periph_pll_clk);
clk_set_parent_nolock(&clk_uart01_src, &periph_pll_clk);
clk_set_parent_nolock(&clk_uart23_src, &periph_pll_clk);
clk_set_parent_nolock(&dclk_lcdc_div, &periph_pll_clk);
static void clk_enable_init_clocks(void)
{
- clk_enable_nolock(&clk_cpu_display_ahb);
- clk_enable_nolock(&clk_ddr_gpu_axi);
- clk_enable_nolock(&clk_display_matrix_ahb);
- clk_enable_nolock(&clk_display_matrix_axi);
- clk_enable_nolock(&clk_ddr_lcdc_axi);
+ clk_enable_nolock(&clk_hclk_cpu_display);
+ clk_enable_nolock(&clk_aclk_ddr_gpu);
+ clk_enable_nolock(&clk_hclk_disp_matrix);
+ clk_enable_nolock(&clk_aclk_disp_matrix);
+ clk_enable_nolock(&clk_aclk_ddr_lcdc);
clk_enable_nolock(&clk_nandc);
- clk_enable_nolock(&clk_periph_cpu);
- clk_enable_nolock(&clk_ddr_periph);
+ clk_enable_nolock(&clk_aclk_cpu_peri);
+ clk_enable_nolock(&clk_aclk_ddr_peri);
clk_enable_nolock(&clk_grf);
clk_enable_nolock(&clk_pmu);
clk_enable_nolock(&clk_ddr_cpu);
clk_enable_nolock(&clk_gic);
clk_enable_nolock(&clk_dma2);
clk_enable_nolock(&clk_dma1);
- clk_enable_nolock(&clk_dma0);
#ifdef CONFIG_DEBUG_LL
clk_enable_nolock(&clk_uart1);
#endif
/* vpu */
clk_enable_nolock(&aclk_vdpu);
clk_enable_nolock(&hclk_vdpu);
- clk_enable_nolock(&clk_ddr_vdpu_axi);
+ clk_enable_nolock(&clk_aclk_ddr_vdpu);
clk_enable_nolock(&aclk_vepu);
clk_enable_nolock(&hclk_vepu);
- clk_enable_nolock(&clk_ddr_vepu_axi);
- clk_enable_nolock(&clk_cpu_vcodec_ahb);
+ clk_enable_nolock(&clk_aclk_ddr_vepu);
+ clk_enable_nolock(&clk_hclk_cpu_vcodec);
}
static int __init clk_disable_unused(void)