123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /*
- * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
- *
- * Author:
- * Peng Fan <Peng.Fan@freescale.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
- #ifndef _ASM_ARCH_CLOCK_SLICE_H
- #define _ASM_ARCH_CLOCK_SLICE_H
- enum root_pre_div {
- CLK_ROOT_PRE_DIV1 = 0,
- CLK_ROOT_PRE_DIV2,
- CLK_ROOT_PRE_DIV3,
- CLK_ROOT_PRE_DIV4,
- CLK_ROOT_PRE_DIV5,
- CLK_ROOT_PRE_DIV6,
- CLK_ROOT_PRE_DIV7,
- CLK_ROOT_PRE_DIV8,
- };
- enum root_post_div {
- CLK_ROOT_POST_DIV1 = 0,
- CLK_ROOT_POST_DIV2,
- CLK_ROOT_POST_DIV3,
- CLK_ROOT_POST_DIV4,
- CLK_ROOT_POST_DIV5,
- CLK_ROOT_POST_DIV6,
- CLK_ROOT_POST_DIV7,
- CLK_ROOT_POST_DIV8,
- CLK_ROOT_POST_DIV9,
- CLK_ROOT_POST_DIV10,
- CLK_ROOT_POST_DIV11,
- CLK_ROOT_POST_DIV12,
- CLK_ROOT_POST_DIV13,
- CLK_ROOT_POST_DIV14,
- CLK_ROOT_POST_DIV15,
- CLK_ROOT_POST_DIV16,
- CLK_ROOT_POST_DIV17,
- CLK_ROOT_POST_DIV18,
- CLK_ROOT_POST_DIV19,
- CLK_ROOT_POST_DIV20,
- CLK_ROOT_POST_DIV21,
- CLK_ROOT_POST_DIV22,
- CLK_ROOT_POST_DIV23,
- CLK_ROOT_POST_DIV24,
- CLK_ROOT_POST_DIV25,
- CLK_ROOT_POST_DIV26,
- CLK_ROOT_POST_DIV27,
- CLK_ROOT_POST_DIV28,
- CLK_ROOT_POST_DIV29,
- CLK_ROOT_POST_DIV30,
- CLK_ROOT_POST_DIV31,
- CLK_ROOT_POST_DIV32,
- CLK_ROOT_POST_DIV33,
- CLK_ROOT_POST_DIV34,
- CLK_ROOT_POST_DIV35,
- CLK_ROOT_POST_DIV36,
- CLK_ROOT_POST_DIV37,
- CLK_ROOT_POST_DIV38,
- CLK_ROOT_POST_DIV39,
- CLK_ROOT_POST_DIV40,
- CLK_ROOT_POST_DIV41,
- CLK_ROOT_POST_DIV42,
- CLK_ROOT_POST_DIV43,
- CLK_ROOT_POST_DIV44,
- CLK_ROOT_POST_DIV45,
- CLK_ROOT_POST_DIV46,
- CLK_ROOT_POST_DIV47,
- CLK_ROOT_POST_DIV48,
- CLK_ROOT_POST_DIV49,
- CLK_ROOT_POST_DIV50,
- CLK_ROOT_POST_DIV51,
- CLK_ROOT_POST_DIV52,
- CLK_ROOT_POST_DIV53,
- CLK_ROOT_POST_DIV54,
- CLK_ROOT_POST_DIV55,
- CLK_ROOT_POST_DIV56,
- CLK_ROOT_POST_DIV57,
- CLK_ROOT_POST_DIV58,
- CLK_ROOT_POST_DIV59,
- CLK_ROOT_POST_DIV60,
- CLK_ROOT_POST_DIV61,
- CLK_ROOT_POST_DIV62,
- CLK_ROOT_POST_DIV63,
- CLK_ROOT_POST_DIV64,
- };
- enum root_auto_div {
- CLK_ROOT_AUTO_DIV1 = 0,
- CLK_ROOT_AUTO_DIV2,
- CLK_ROOT_AUTO_DIV4,
- CLK_ROOT_AUTO_DIV8,
- CLK_ROOT_AUTO_DIV16,
- };
- int clock_set_src(enum clk_root_index clock_id, enum clk_root_src clock_src);
- int clock_get_src(enum clk_root_index clock_id, enum clk_root_src *p_clock_src);
- int clock_set_prediv(enum clk_root_index clock_id, enum root_pre_div pre_div);
- int clock_get_prediv(enum clk_root_index clock_id, enum root_pre_div *pre_div);
- int clock_set_postdiv(enum clk_root_index clock_id, enum root_post_div div);
- int clock_get_postdiv(enum clk_root_index clock_id, enum root_post_div *div);
- int clock_set_autopostdiv(enum clk_root_index clock_id, enum root_auto_div div,
- int auto_en);
- int clock_get_autopostdiv(enum clk_root_index clock_id, enum root_auto_div *div,
- int *auto_en);
- int clock_get_target_val(enum clk_root_index clock_id, u32 *val);
- int clock_set_target_val(enum clk_root_index clock_id, u32 val);
- int clock_root_cfg(enum clk_root_index clock_id, enum root_pre_div pre_div,
- enum root_post_div post_div, enum clk_root_src clock_src);
- int clock_root_enabled(enum clk_root_index clock_id);
- int clock_enable(enum clk_ccgr_index index, bool enable);
- #endif
|