Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c59b537d authored by Jon Hunter's avatar Jon Hunter Committed by Tony Lindgren
Browse files

ARM: OMAP2+: Simplify dmtimer clock aliases



The OMAP dmtimer driver allows you to dynamically configure the functional
clock that drives the timer logic. The dmtimer driver uses the device name and
a "con-id" string to search for the appropriate functional clock.

Currently, we define a clock alias for each functional clock source each timer
supports. Some functional clock sources are common to all of the timers on a
device and so for these clock sources we can use a single alias with a unique
con-id string.

The possible functional clock sources for an OMAP device are a 32kHz clock,
a system (MHz range) clock and (for OMAP2 only) an external clock. By defining
a unique con-id name for each of these (timer_32k_ck, timer_sys_ck and
timer_ext_ck) we can eliminate a lot of the clock aliases for timers. This
reduces code, speeds-up searches and clock initialisation time.

Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
Acked-by: default avatarPaul Walmsley <paul@pwsan.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 2b2d3523
Loading
Loading
Loading
Loading
+3 −36
Original line number Diff line number Diff line
@@ -1901,42 +1901,9 @@ static struct omap_clk omap2420_clks[] = {
	CLK(NULL,	"pka_ick",	&pka_ick,	CK_242X),
	CLK(NULL,	"usb_fck",	&usb_fck,	CK_242X),
	CLK("musb-hdrc",	"fck",	&osc_ck,	CK_242X),
	CLK("omap_timer.1",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.2",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.3",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.4",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.5",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.6",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.7",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.8",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.9",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.10",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.11",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.12",	"32k_ck",	&func_32k_ck,	CK_243X),
	CLK("omap_timer.1",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.2",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.3",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.4",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.5",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.6",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.7",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.8",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.9",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.10",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.11",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.12",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.1",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.2",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.3",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.4",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.5",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.6",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.7",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.8",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.9",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.10",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.11",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.12",	"alt_ck",	&alt_ck,	CK_243X),
	CLK(NULL,	"timer_32k_ck",	&func_32k_ck,	CK_243X),
	CLK(NULL,	"timer_sys_ck",	&sys_ck,	CK_243X),
	CLK(NULL,	"timer_ext_ck",	&alt_ck,	CK_243X),
};

/*
+3 −36
Original line number Diff line number Diff line
@@ -2000,42 +2000,9 @@ static struct omap_clk omap2430_clks[] = {
	CLK(NULL,	"mdm_intc_ick",	&mdm_intc_ick,	CK_243X),
	CLK("omap_hsmmc.0", "mmchsdb_fck",	&mmchsdb1_fck,	CK_243X),
	CLK("omap_hsmmc.1", "mmchsdb_fck",	&mmchsdb2_fck,	CK_243X),
	CLK("omap_timer.1",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.2",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.3",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.4",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.5",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.6",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.7",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.8",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.9",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.10",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.11",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.12",	"32k_ck",  &func_32k_ck,   CK_243X),
	CLK("omap_timer.1",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.2",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.3",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.4",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.5",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.6",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.7",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.8",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.9",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.10",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.11",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.12",	"sys_ck",	&sys_ck,	CK_243X),
	CLK("omap_timer.1",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.2",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.3",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.4",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.5",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.6",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.7",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.8",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.9",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.10",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.11",	"alt_ck",	&alt_ck,	CK_243X),
	CLK("omap_timer.12",	"alt_ck",	&alt_ck,	CK_243X),
	CLK(NULL,	"timer_32k_ck",  &func_32k_ck,   CK_243X),
	CLK(NULL,	"timer_sys_ck",	&sys_ck,	CK_243X),
	CLK(NULL,	"timer_ext_ck",	&alt_ck,	CK_243X),
};

/*
+2 −24
Original line number Diff line number Diff line
@@ -3482,30 +3482,8 @@ static struct omap_clk omap3xxx_clks[] = {
	CLK("musb-am35x",	"fck",		&hsotgusb_fck_am35xx,	CK_AM35XX),
	CLK(NULL,	"hecc_ck",	&hecc_ck,	CK_AM35XX),
	CLK(NULL,	"uart4_ick",	&uart4_ick_am35xx,	CK_AM35XX),
	CLK("omap_timer.1",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.2",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.3",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.4",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.5",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.6",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.7",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.8",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.9",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.10",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.11",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.12",	"32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK("omap_timer.1",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.2",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.3",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.4",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.5",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.6",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.7",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.8",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.9",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.10",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.11",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK("omap_timer.12",	"sys_ck",	&sys_ck,	CK_3XXX),
	CLK(NULL,	"timer_32k_ck",	&omap_32k_fck,  CK_3XXX),
	CLK(NULL,	"timer_sys_ck",	&sys_ck,	CK_3XXX),
};


+12 −22
Original line number Diff line number Diff line
@@ -3380,28 +3380,18 @@ static struct omap_clk omap44xx_clks[] = {
	CLK("usbhs_omap",	"usbhost_ick",		&dummy_ck,		CK_443X),
	CLK("usbhs_omap",	"usbtll_fck",		&dummy_ck,	CK_443X),
	CLK("omap_wdt",	"ick",				&dummy_ck,	CK_443X),
	CLK("omap_timer.1",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.2",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.3",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.4",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.5",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.6",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.7",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.8",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.9",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.10",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.11",	"32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.1",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.2",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.3",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.4",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.9",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.10",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.11",	"sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.5",	"sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK("omap_timer.6",	"sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK("omap_timer.7",	"sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK("omap_timer.8",	"sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK(NULL,	"timer_32k_ck",	&sys_32k_ck,	CK_443X),
	CLK("omap_timer.1",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.2",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.3",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.4",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.9",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.10",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.11",	"timer_sys_ck",	&sys_clkin_ck,	CK_443X),
	CLK("omap_timer.5",	"timer_sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK("omap_timer.6",	"timer_sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK("omap_timer.7",	"timer_sys_ck",	&syc_clk_div_ck,	CK_443X),
	CLK("omap_timer.8",	"timer_sys_ck",	&syc_clk_div_ck,	CK_443X),
};

int __init omap4xxx_clk_init(void)
+3 −3
Original line number Diff line number Diff line
@@ -425,15 +425,15 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)

	switch (source) {
	case OMAP_TIMER_SRC_SYS_CLK:
		parent_name = "sys_ck";
		parent_name = "timer_sys_ck";
		break;

	case OMAP_TIMER_SRC_32_KHZ:
		parent_name = "32k_ck";
		parent_name = "timer_32k_ck";
		break;

	case OMAP_TIMER_SRC_EXT_CLK:
		parent_name = "alt_ck";
		parent_name = "timer_ext_ck";
		break;
	}