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

Commit a9825021 authored by Boris Brezillon's avatar Boris Brezillon Committed by Nicolas Ferre
Browse files

ARM: at91: add clk_lookup entry for RTT devices



First export the clk32k clk.
Then add clk_lookup entries for RTT devices so that rtc-at91sam9 driver
can retrieve and manipulate the slow clk.

Signed-off-by: default avatarBoris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: default avatarJohan Hovold <johan@kernel.org>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent 3969eb48
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -217,6 +217,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID("pclk", "fffbc000.ssc", &ssc_clk),
	CLKDEV_CON_DEV_ID("pclk", "fffbc000.ssc", &ssc_clk),
	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk),
	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk),
	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_clk),
	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9g20.0", &twi_clk),
	CLKDEV_CON_DEV_ID(NULL, "rtc-at91sam9.0", &clk32k),
	/* more usart lookup table for DT entries */
	/* more usart lookup table for DT entries */
	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
@@ -237,6 +238,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID("mci_clk", "fffa8000.mmc", &mmc_clk),
	CLKDEV_CON_DEV_ID("mci_clk", "fffa8000.mmc", &mmc_clk),
	CLKDEV_CON_DEV_ID("spi_clk", "fffc8000.spi", &spi0_clk),
	CLKDEV_CON_DEV_ID("spi_clk", "fffc8000.spi", &spi0_clk),
	CLKDEV_CON_DEV_ID("spi_clk", "fffcc000.spi", &spi1_clk),
	CLKDEV_CON_DEV_ID("spi_clk", "fffcc000.spi", &spi1_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffd20.rtc", &clk32k),
	/* fake hclk clock */
	/* fake hclk clock */
	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),
	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),
	CLKDEV_CON_ID("pioA", &pioA_clk),
	CLKDEV_CON_ID("pioA", &pioA_clk),
+2 −0
Original line number Original line Diff line number Diff line
@@ -192,6 +192,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_ID("pioA", &pioA_clk),
	CLKDEV_CON_ID("pioA", &pioA_clk),
	CLKDEV_CON_ID("pioB", &pioB_clk),
	CLKDEV_CON_ID("pioB", &pioB_clk),
	CLKDEV_CON_ID("pioC", &pioC_clk),
	CLKDEV_CON_ID("pioC", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "rtc-at91sam9.0", &clk32k),
	/* more lookup table for DT entries */
	/* more lookup table for DT entries */
	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
@@ -209,6 +210,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffd20.rtc", &clk32k),
};
};


static struct clk_lookup usart_clocks_lookups[] = {
static struct clk_lookup usart_clocks_lookups[] = {
+4 −0
Original line number Original line Diff line number Diff line
@@ -201,6 +201,8 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb_clk),
	CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.0", &tcb_clk),
	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk),
	CLKDEV_CON_DEV_ID(NULL, "i2c-at91sam9260.0", &twi_clk),
	CLKDEV_CON_DEV_ID(NULL, "at91sam9rl-pwm", &pwm_clk),
	CLKDEV_CON_DEV_ID(NULL, "at91sam9rl-pwm", &pwm_clk),
	CLKDEV_CON_DEV_ID(NULL, "rtc-at91sam9.0", &clk32k),
	CLKDEV_CON_DEV_ID(NULL, "rtc-at91sam9.1", &clk32k),
	/* fake hclk clock */
	/* fake hclk clock */
	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),
	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),
	CLKDEV_CON_ID("pioA", &pioA_clk),
	CLKDEV_CON_ID("pioA", &pioA_clk),
@@ -227,6 +229,8 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioCDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioCDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioCDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioCDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffb8000.pwm", &pwm_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffb8000.pwm", &pwm_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffd20.rtc", &clk32k),
	CLKDEV_CON_DEV_ID(NULL, "fffffd50.rtc", &clk32k),
};
};


static struct clk_lookup usart_clocks_lookups[] = {
static struct clk_lookup usart_clocks_lookups[] = {
+2 −0
Original line number Original line Diff line number Diff line
@@ -254,6 +254,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID(NULL, "atmel_tdes", &aestdessha_clk),
	CLKDEV_CON_DEV_ID(NULL, "atmel_tdes", &aestdessha_clk),
	CLKDEV_CON_DEV_ID(NULL, "atmel_aes", &aestdessha_clk),
	CLKDEV_CON_DEV_ID(NULL, "atmel_aes", &aestdessha_clk),
	CLKDEV_CON_DEV_ID(NULL, "at91sam9rl-pwm", &pwm_clk),
	CLKDEV_CON_DEV_ID(NULL, "at91sam9rl-pwm", &pwm_clk),
	CLKDEV_CON_DEV_ID(NULL, "rtc-at91sam9.0", &clk32k),
	/* more usart lookup table for DT entries */
	/* more usart lookup table for DT entries */
	CLKDEV_CON_DEV_ID("usart", "ffffee00.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "ffffee00.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fff8c000.serial", &usart0_clk),
	CLKDEV_CON_DEV_ID("usart", "fff8c000.serial", &usart0_clk),
@@ -280,6 +281,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioDE_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffd20.rtc", &clk32k),


	CLKDEV_CON_ID("pioA", &pioA_clk),
	CLKDEV_CON_ID("pioA", &pioA_clk),
	CLKDEV_CON_ID("pioB", &pioB_clk),
	CLKDEV_CON_ID("pioB", &pioB_clk),
+2 −0
Original line number Original line Diff line number Diff line
@@ -205,6 +205,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_ID("pioB", &pioB_clk),
	CLKDEV_CON_ID("pioB", &pioB_clk),
	CLKDEV_CON_ID("pioC", &pioC_clk),
	CLKDEV_CON_ID("pioC", &pioC_clk),
	CLKDEV_CON_ID("pioD", &pioD_clk),
	CLKDEV_CON_ID("pioD", &pioD_clk),
	CLKDEV_CON_DEV_ID(NULL, "rtc-at91sam9.0", &clk32k),
	/* more lookup table for DT entries */
	/* more lookup table for DT entries */
	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck),
	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
	CLKDEV_CON_DEV_ID("usart", "fffb0000.serial", &usart0_clk),
@@ -223,6 +224,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
	CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioD_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioD_clk),
	CLKDEV_CON_DEV_ID(NULL, "fffffd20.rtc", &clk32k),
	CLKDEV_CON_ID("adc_clk", &tsc_clk),
	CLKDEV_CON_ID("adc_clk", &tsc_clk),
};
};


Loading