linux/drivers/clk/imx/clk-imx8mq.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2018 NXP.
 * Copyright (C) 2017 Pengutronix, Lucas Stach <[email protected]>
 */

#include <dt-bindings/clock/imx8mq-clock.h>
#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/platform_device.h>

#include "clk.h"

static u32 share_count_sai1;
static u32 share_count_sai2;
static u32 share_count_sai3;
static u32 share_count_sai4;
static u32 share_count_sai5;
static u32 share_count_sai6;
static u32 share_count_dcss;
static u32 share_count_nand;

static const char * const pll_ref_sels[] =;
static const char * const arm_pll_bypass_sels[] =;
static const char * const gpu_pll_bypass_sels[] =;
static const char * const vpu_pll_bypass_sels[] =;
static const char * const audio_pll1_bypass_sels[] =;
static const char * const audio_pll2_bypass_sels[] =;
static const char * const video_pll1_bypass_sels[] =;

static const char * const sys3_pll_out_sels[] =;
static const char * const dram_pll_out_sels[] =;
static const char * const video2_pll_out_sels[] =;

/* CCM ROOT */
static const char * const imx8mq_a53_sels[] =;

static const char * const imx8mq_a53_core_sels[] =;

static const char * const imx8mq_arm_m4_sels[] =;

static const char * const imx8mq_vpu_sels[] =;

static const char * const imx8mq_gpu_core_sels[] =;

static const char * const imx8mq_gpu_shader_sels[] =;

static const char * const imx8mq_main_axi_sels[] =;

static const char * const imx8mq_enet_axi_sels[] =;

static const char * const imx8mq_nand_usdhc_sels[] =;

static const char * const imx8mq_vpu_bus_sels[] =;

static const char * const imx8mq_disp_axi_sels[] =;

static const char * const imx8mq_disp_apb_sels[] =;

static const char * const imx8mq_disp_rtrm_sels[] =;

static const char * const imx8mq_usb_bus_sels[] =;

static const char * const imx8mq_gpu_axi_sels[] =;

static const char * const imx8mq_gpu_ahb_sels[] =;

static const char * const imx8mq_noc_sels[] =;

static const char * const imx8mq_noc_apb_sels[] =;

static const char * const imx8mq_ahb_sels[] =;

static const char * const imx8mq_audio_ahb_sels[] =;

static const char * const imx8mq_dsi_ahb_sels[] =;

static const char * const imx8mq_dram_alt_sels[] =;

static const char * const imx8mq_dram_apb_sels[] =;

static const char * const imx8mq_vpu_g1_sels[] =;

static const char * const imx8mq_vpu_g2_sels[] =;

static const char * const imx8mq_disp_dtrc_sels[] =;

static const char * const imx8mq_disp_dc8000_sels[] =;

static const char * const imx8mq_pcie1_ctrl_sels[] =;

static const char * const imx8mq_pcie1_phy_sels[] =;

static const char * const imx8mq_pcie1_aux_sels[] =;

static const char * const imx8mq_dc_pixel_sels[] =;

static const char * const imx8mq_lcdif_pixel_sels[] =;

static const char * const imx8mq_sai1_sels[] =;

static const char * const imx8mq_sai2_sels[] =;

static const char * const imx8mq_sai3_sels[] =;

static const char * const imx8mq_sai4_sels[] =;

static const char * const imx8mq_sai5_sels[] =;

static const char * const imx8mq_sai6_sels[] =;

static const char * const imx8mq_spdif1_sels[] =;

static const char * const imx8mq_spdif2_sels[] =;

static const char * const imx8mq_enet_ref_sels[] =;

static const char * const imx8mq_enet_timer_sels[] =;

static const char * const imx8mq_enet_phy_sels[] =;

static const char * const imx8mq_nand_sels[] =;

static const char * const imx8mq_qspi_sels[] =;

static const char * const imx8mq_usdhc1_sels[] =;

static const char * const imx8mq_usdhc2_sels[] =;

static const char * const imx8mq_i2c1_sels[] =;

static const char * const imx8mq_i2c2_sels[] =;

static const char * const imx8mq_i2c3_sels[] =;

static const char * const imx8mq_i2c4_sels[] =;

static const char * const imx8mq_uart1_sels[] =;

static const char * const imx8mq_uart2_sels[] =;

static const char * const imx8mq_uart3_sels[] =;

static const char * const imx8mq_uart4_sels[] =;

static const char * const imx8mq_usb_core_sels[] =;

static const char * const imx8mq_usb_phy_sels[] =;

static const char * const imx8mq_gic_sels[] =;

static const char * const imx8mq_ecspi1_sels[] =;

static const char * const imx8mq_ecspi2_sels[] =;

static const char * const imx8mq_pwm1_sels[] =;

static const char * const imx8mq_pwm2_sels[] =;

static const char * const imx8mq_pwm3_sels[] =;

static const char * const imx8mq_pwm4_sels[] =;

static const char * const imx8mq_gpt1_sels[] =;

static const char * const imx8mq_wdog_sels[] =;

static const char * const imx8mq_wrclk_sels[] =;

static const char * const imx8mq_dsi_core_sels[] =;

static const char * const imx8mq_dsi_phy_sels[] =;

static const char * const imx8mq_dsi_dbi_sels[] =;

static const char * const imx8mq_dsi_esc_sels[] =;

static const char * const imx8mq_csi1_core_sels[] =;

static const char * const imx8mq_csi1_phy_sels[] =;

static const char * const imx8mq_csi1_esc_sels[] =;

static const char * const imx8mq_csi2_core_sels[] =;

static const char * const imx8mq_csi2_phy_sels[] =;

static const char * const imx8mq_csi2_esc_sels[] =;

static const char * const imx8mq_pcie2_ctrl_sels[] =;

static const char * const imx8mq_pcie2_phy_sels[] =;

static const char * const imx8mq_pcie2_aux_sels[] =;

static const char * const imx8mq_ecspi3_sels[] =;
static const char * const imx8mq_dram_core_sels[] =;

static const char * const imx8mq_clko1_sels[] =;
static const char * const imx8mq_clko2_sels[] =;

static const char * const pllout_monitor_sels[] =;

static struct clk_hw_onecell_data *clk_hw_data;
static struct clk_hw **hws;

static int imx8mq_clocks_probe(struct platform_device *pdev)
{}

static const struct of_device_id imx8mq_clk_of_match[] =;
MODULE_DEVICE_TABLE(of, imx8mq_clk_of_match);


static struct platform_driver imx8mq_clk_driver =;
module_platform_driver();
module_param(mcore_booted, bool, S_IRUGO);
MODULE_PARM_DESC();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();