Commit dcc683ab authored by Simon Horman's avatar Simon Horman

Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' into dt-timers-for-v3.18

Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18

When booting using the r8a7740/armadillo800eva using dt-reference:
* Use CCF to initialise clocks via DT
* Initialise timers via DT
parents 9dddfcfa 43330674
......@@ -178,6 +178,23 @@ phy0: ethernet-phy@0 {
};
};
&extal1_clk {
clock-frequency = <25000000>;
};
&extal2_clk {
clock-frequency = <48000000>;
};
&fsibck_clk {
clock-frequency = <12288000>;
};
&cpg_clocks {
renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
};
&cmt1 {
status = "ok";
};
&i2c0 {
status = "okay";
touchscreen@55 {
......
This diff is collapsed.
......@@ -24,6 +24,7 @@
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <linux/io.h>
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include <asm/hardware/cache-l2x0.h>
......@@ -170,7 +171,7 @@ static void __init eva_init(void)
l2x0_init(IOMEM(0xf0002000), 0x00400000, 0xc20f0fff);
#endif
r8a7740_add_standard_devices_dt();
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
r8a7740_pm_init();
}
......
......@@ -49,7 +49,6 @@ extern void r8a7740_init_irq_of(void);
extern void r8a7740_map_io(void);
extern void r8a7740_add_early_devices(void);
extern void r8a7740_add_standard_devices(void);
extern void r8a7740_add_standard_devices_dt(void);
extern void r8a7740_clock_init(u8 md_ck);
extern void r8a7740_pinmux_init(void);
extern void r8a7740_pm_init(void);
......
......@@ -311,10 +311,6 @@ static struct platform_device ipmmu_device = {
.num_resources = ARRAY_SIZE(ipmmu_resources),
};
static struct platform_device *r8a7740_devices_dt[] __initdata = {
&cmt1_device,
};
static struct platform_device *r8a7740_early_devices[] __initdata = {
&scif0_device,
&scif1_device,
......@@ -331,6 +327,7 @@ static struct platform_device *r8a7740_early_devices[] __initdata = {
&irqpin3_device,
&tmu0_device,
&ipmmu_device,
&cmt1_device,
};
/* DMA */
......@@ -756,8 +753,6 @@ void __init r8a7740_add_standard_devices(void)
/* add devices */
platform_add_devices(r8a7740_early_devices,
ARRAY_SIZE(r8a7740_early_devices));
platform_add_devices(r8a7740_devices_dt,
ARRAY_SIZE(r8a7740_devices_dt));
platform_add_devices(r8a7740_late_devices,
ARRAY_SIZE(r8a7740_late_devices));
......@@ -779,8 +774,6 @@ void __init r8a7740_add_early_devices(void)
{
early_platform_add_devices(r8a7740_early_devices,
ARRAY_SIZE(r8a7740_early_devices));
early_platform_add_devices(r8a7740_devices_dt,
ARRAY_SIZE(r8a7740_devices_dt));
/* setup early console here as well */
shmobile_setup_console();
......@@ -788,13 +781,6 @@ void __init r8a7740_add_early_devices(void)
#ifdef CONFIG_USE_OF
void __init r8a7740_add_standard_devices_dt(void)
{
platform_add_devices(r8a7740_devices_dt,
ARRAY_SIZE(r8a7740_devices_dt));
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
void __init r8a7740_init_irq_of(void)
{
void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10);
......@@ -828,7 +814,7 @@ void __init r8a7740_init_irq_of(void)
static void __init r8a7740_generic_init(void)
{
r8a7740_clock_init(0);
r8a7740_add_standard_devices_dt();
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
static const char *r8a7740_boards_compat_dt[] __initdata = {
......
/*
* Copyright 2014 Ulrich Hecht
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#ifndef __DT_BINDINGS_CLOCK_R8A7740_H__
#define __DT_BINDINGS_CLOCK_R8A7740_H__
/* CPG */
#define R8A7740_CLK_SYSTEM 0
#define R8A7740_CLK_PLLC0 1
#define R8A7740_CLK_PLLC1 2
#define R8A7740_CLK_PLLC2 3
#define R8A7740_CLK_R 4
#define R8A7740_CLK_USB24S 5
#define R8A7740_CLK_I 6
#define R8A7740_CLK_ZG 7
#define R8A7740_CLK_B 8
#define R8A7740_CLK_M1 9
#define R8A7740_CLK_HP 10
#define R8A7740_CLK_HPP 11
#define R8A7740_CLK_USBP 12
#define R8A7740_CLK_S 13
#define R8A7740_CLK_ZB 14
#define R8A7740_CLK_M3 15
#define R8A7740_CLK_CP 16
/* MSTP1 */
#define R8A7740_CLK_CEU21 28
#define R8A7740_CLK_CEU20 27
#define R8A7740_CLK_TMU0 25
#define R8A7740_CLK_LCDC1 17
#define R8A7740_CLK_IIC0 16
#define R8A7740_CLK_TMU1 11
#define R8A7740_CLK_LCDC0 0
/* MSTP2 */
#define R8A7740_CLK_SCIFA6 30
#define R8A7740_CLK_SCIFA7 22
#define R8A7740_CLK_DMAC1 18
#define R8A7740_CLK_DMAC2 17
#define R8A7740_CLK_DMAC3 16
#define R8A7740_CLK_USBDMAC 14
#define R8A7740_CLK_SCIFA5 7
#define R8A7740_CLK_SCIFB 6
#define R8A7740_CLK_SCIFA0 4
#define R8A7740_CLK_SCIFA1 3
#define R8A7740_CLK_SCIFA2 2
#define R8A7740_CLK_SCIFA3 1
#define R8A7740_CLK_SCIFA4 0
/* MSTP3 */
#define R8A7740_CLK_CMT1 29
#define R8A7740_CLK_FSI 28
#define R8A7740_CLK_IIC1 23
#define R8A7740_CLK_USBF 20
#define R8A7740_CLK_SDHI0 14
#define R8A7740_CLK_SDHI1 13
#define R8A7740_CLK_MMC 12
#define R8A7740_CLK_GETHER 9
#define R8A7740_CLK_TPU0 4
/* MSTP4 */
#define R8A7740_CLK_USBH 16
#define R8A7740_CLK_SDHI2 15
#define R8A7740_CLK_USBFUNC 7
#define R8A7740_CLK_USBPHY 6
/* SUBCK* */
#define R8A7740_CLK_SUBCK 9
#define R8A7740_CLK_SUBCK2 10
#endif /* __DT_BINDINGS_CLOCK_R8A7740_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment