#include <dt-bindings/clock/imx8mp-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/platform_device.h>
#include <linux/slab.h>
#include <linux/types.h>
#include "clk.h"
static u32 share_count_nand;
static u32 share_count_media;
static u32 share_count_usb;
static u32 share_count_audio;
static const char * const pll_ref_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 dram_pll_bypass_sels[] = …;
static const char * const gpu_pll_bypass_sels[] = …;
static const char * const vpu_pll_bypass_sels[] = …;
static const char * const arm_pll_bypass_sels[] = …;
static const char * const sys_pll1_bypass_sels[] = …;
static const char * const sys_pll2_bypass_sels[] = …;
static const char * const sys_pll3_bypass_sels[] = …;
static const char * const imx8mp_a53_sels[] = …;
static const char * const imx8mp_a53_core_sels[] = …;
static const char * const imx8mp_m7_sels[] = …;
static const char * const imx8mp_ml_sels[] = …;
static const char * const imx8mp_gpu3d_core_sels[] = …;
static const char * const imx8mp_gpu3d_shader_sels[] = …;
static const char * const imx8mp_gpu2d_sels[] = …;
static const char * const imx8mp_audio_axi_sels[] = …;
static const char * const imx8mp_hsio_axi_sels[] = …;
static const char * const imx8mp_media_isp_sels[] = …;
static const char * const imx8mp_main_axi_sels[] = …;
static const char * const imx8mp_enet_axi_sels[] = …;
static const char * const imx8mp_nand_usdhc_sels[] = …;
static const char * const imx8mp_vpu_bus_sels[] = …;
static const char * const imx8mp_media_axi_sels[] = …;
static const char * const imx8mp_media_apb_sels[] = …;
static const char * const imx8mp_gpu_axi_sels[] = …;
static const char * const imx8mp_gpu_ahb_sels[] = …;
static const char * const imx8mp_noc_sels[] = …;
static const char * const imx8mp_noc_io_sels[] = …;
static const char * const imx8mp_ml_axi_sels[] = …;
static const char * const imx8mp_ml_ahb_sels[] = …;
static const char * const imx8mp_ahb_sels[] = …;
static const char * const imx8mp_audio_ahb_sels[] = …;
static const char * const imx8mp_mipi_dsi_esc_rx_sels[] = …;
static const char * const imx8mp_dram_alt_sels[] = …;
static const char * const imx8mp_dram_apb_sels[] = …;
static const char * const imx8mp_vpu_g1_sels[] = …;
static const char * const imx8mp_vpu_g2_sels[] = …;
static const char * const imx8mp_can1_sels[] = …;
static const char * const imx8mp_can2_sels[] = …;
static const char * const imx8mp_pcie_aux_sels[] = …;
static const char * const imx8mp_i2c5_sels[] = …;
static const char * const imx8mp_i2c6_sels[] = …;
static const char * const imx8mp_sai1_sels[] = …;
static const char * const imx8mp_sai2_sels[] = …;
static const char * const imx8mp_sai3_sels[] = …;
static const char * const imx8mp_sai5_sels[] = …;
static const char * const imx8mp_sai6_sels[] = …;
static const char * const imx8mp_enet_qos_sels[] = …;
static const char * const imx8mp_enet_qos_timer_sels[] = …;
static const char * const imx8mp_enet_ref_sels[] = …;
static const char * const imx8mp_enet_timer_sels[] = …;
static const char * const imx8mp_enet_phy_ref_sels[] = …;
static const char * const imx8mp_nand_sels[] = …;
static const char * const imx8mp_qspi_sels[] = …;
static const char * const imx8mp_usdhc1_sels[] = …;
static const char * const imx8mp_usdhc2_sels[] = …;
static const char * const imx8mp_i2c1_sels[] = …;
static const char * const imx8mp_i2c2_sels[] = …;
static const char * const imx8mp_i2c3_sels[] = …;
static const char * const imx8mp_i2c4_sels[] = …;
static const char * const imx8mp_uart1_sels[] = …;
static const char * const imx8mp_uart2_sels[] = …;
static const char * const imx8mp_uart3_sels[] = …;
static const char * const imx8mp_uart4_sels[] = …;
static const char * const imx8mp_usb_core_ref_sels[] = …;
static const char * const imx8mp_usb_phy_ref_sels[] = …;
static const char * const imx8mp_gic_sels[] = …;
static const char * const imx8mp_ecspi1_sels[] = …;
static const char * const imx8mp_ecspi2_sels[] = …;
static const char * const imx8mp_pwm1_sels[] = …;
static const char * const imx8mp_pwm2_sels[] = …;
static const char * const imx8mp_pwm3_sels[] = …;
static const char * const imx8mp_pwm4_sels[] = …;
static const char * const imx8mp_gpt1_sels[] = …;
static const char * const imx8mp_gpt2_sels[] = …;
static const char * const imx8mp_gpt3_sels[] = …;
static const char * const imx8mp_gpt4_sels[] = …;
static const char * const imx8mp_gpt5_sels[] = …;
static const char * const imx8mp_gpt6_sels[] = …;
static const char * const imx8mp_wdog_sels[] = …;
static const char * const imx8mp_wrclk_sels[] = …;
static const char * const imx8mp_ipp_do_clko1_sels[] = …;
static const char * const imx8mp_ipp_do_clko2_sels[] = …;
static const char * const imx8mp_hdmi_fdcc_tst_sels[] = …;
static const char * const imx8mp_hdmi_24m_sels[] = …;
static const char * const imx8mp_hdmi_ref_266m_sels[] = …;
static const char * const imx8mp_usdhc3_sels[] = …;
static const char * const imx8mp_media_cam1_pix_sels[] = …;
static const char * const imx8mp_media_mipi_phy1_ref_sels[] = …;
static const char * const imx8mp_media_disp_pix_sels[] = …;
static const char * const imx8mp_media_cam2_pix_sels[] = …;
static const char * const imx8mp_media_ldb_sels[] = …;
static const char * const imx8mp_memrepair_sels[] = …;
static const char * const imx8mp_media_mipi_test_byte_sels[] = …;
static const char * const imx8mp_ecspi3_sels[] = …;
static const char * const imx8mp_pdm_sels[] = …;
static const char * const imx8mp_vpu_vc8000e_sels[] = …;
static const char * const imx8mp_sai7_sels[] = …;
static const char * const imx8mp_dram_core_sels[] = …;
static const char * const imx8mp_clkout_sels[] = …;
static struct clk_hw **hws;
static struct clk_hw_onecell_data *clk_hw_data;
static int imx8mp_clocks_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id imx8mp_clk_of_match[] = …;
MODULE_DEVICE_TABLE(of, imx8mp_clk_of_match);
static struct platform_driver imx8mp_clk_driver = …;
module_platform_driver(…) …;
module_param(mcore_booted, bool, S_IRUGO);
MODULE_PARM_DESC(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;