#include <linux/clk-provider.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include "ccu_common.h"
#include "ccu_reset.h"
#include "ccu_div.h"
#include "ccu_gate.h"
#include "ccu_mp.h"
#include "ccu_nm.h"
#include "ccu-sun8i-r.h"
static const struct clk_parent_data ar100_parents[] = …;
static const struct ccu_mux_var_prediv ar100_predivs[] = …;
static struct ccu_div ar100_clk = …;
static CLK_FIXED_FACTOR_HW(ahb0_clk, "ahb0", &ar100_clk.common.hw, 1, 1, 0);
static SUNXI_CCU_M(apb0_clk, "apb0", "ahb0", 0x0c, 0, 2, 0);
static const struct clk_hw *apb0_gate_parent[] = …;
static SUNXI_CCU_GATE_HWS(apb0_pio_clk, "apb0-pio",
apb0_gate_parent, 0x28, BIT(0), 0);
static SUNXI_CCU_GATE_HWS(apb0_ir_clk, "apb0-ir",
apb0_gate_parent, 0x28, BIT(1), 0);
static SUNXI_CCU_GATE_HWS(apb0_timer_clk, "apb0-timer",
apb0_gate_parent, 0x28, BIT(2), 0);
static SUNXI_CCU_GATE_HWS(apb0_rsb_clk, "apb0-rsb",
apb0_gate_parent, 0x28, BIT(3), 0);
static SUNXI_CCU_GATE_HWS(apb0_uart_clk, "apb0-uart",
apb0_gate_parent, 0x28, BIT(4), 0);
static SUNXI_CCU_GATE_HWS(apb0_i2c_clk, "apb0-i2c",
apb0_gate_parent, 0x28, BIT(6), 0);
static SUNXI_CCU_GATE_HWS(apb0_twd_clk, "apb0-twd",
apb0_gate_parent, 0x28, BIT(7), 0);
static const char * const r_mod0_default_parents[] = …;
static SUNXI_CCU_MP_WITH_MUX_GATE(ir_clk, "ir",
r_mod0_default_parents, 0x54,
0, 4,
16, 2,
24, 2,
BIT(31),
0);
static const struct clk_parent_data a83t_r_mod0_parents[] = …;
static const struct ccu_mux_fixed_prediv a83t_ir_predivs[] = …;
static struct ccu_mp a83t_ir_clk = …;
static struct ccu_common *sun8i_r_ccu_clks[] = …;
static struct clk_hw_onecell_data sun8i_a83t_r_hw_clks = …;
static struct clk_hw_onecell_data sun8i_h3_r_hw_clks = …;
static struct clk_hw_onecell_data sun50i_a64_r_hw_clks = …;
static struct ccu_reset_map sun8i_a83t_r_ccu_resets[] = …;
static struct ccu_reset_map sun8i_h3_r_ccu_resets[] = …;
static struct ccu_reset_map sun50i_a64_r_ccu_resets[] = …;
static const struct sunxi_ccu_desc sun8i_a83t_r_ccu_desc = …;
static const struct sunxi_ccu_desc sun8i_h3_r_ccu_desc = …;
static const struct sunxi_ccu_desc sun50i_a64_r_ccu_desc = …;
static int sun8i_r_ccu_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id sun8i_r_ccu_ids[] = …;
MODULE_DEVICE_TABLE(of, sun8i_r_ccu_ids);
static struct platform_driver sun8i_r_ccu_driver = …;
module_platform_driver(…) …;
MODULE_IMPORT_NS(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;