summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/mach-imx6sl.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/mach-imx6sl.c')
-rw-r--r--arch/arm/mach-imx/mach-imx6sl.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c
index e00818abe54d..d1c6a9fa826a 100644
--- a/arch/arm/mach-imx/mach-imx6sl.c
+++ b/arch/arm/mach-imx/mach-imx6sl.c
@@ -16,7 +16,7 @@
#include "cpuidle.h"
#include "hardware.h"
-static void __init imx6sl_fec_init(void)
+static void __init imx6sl_fec_clk_init(void)
{
struct regmap *gpr;
@@ -32,6 +32,12 @@ static void __init imx6sl_fec_init(void)
}
}
+static inline void imx6sl_fec_init(void)
+{
+ imx6sl_fec_clk_init();
+ imx6_enet_mac_init("fsl,imx6sl-fec", "fsl,imx6sl-ocotp");
+}
+
static void __init imx6sl_init_late(void)
{
/* imx6sl reuses imx6q cpufreq driver */
@@ -41,7 +47,7 @@ static void __init imx6sl_init_late(void)
if (IS_ENABLED(CONFIG_SOC_IMX6SL) && cpu_is_imx6sl())
imx6sl_cpuidle_init();
else if (IS_ENABLED(CONFIG_SOC_IMX6SLL))
- imx6sx_cpuidle_init();
+ imx6sll_cpuidle_init();
}
static void __init imx6sl_init_machine(void)
@@ -54,6 +60,7 @@ static void __init imx6sl_init_machine(void)
of_platform_default_populate(NULL, NULL, parent);
+ imx_anatop_init();
if (cpu_is_imx6sl())
imx6sl_fec_init();
imx_anatop_init();
@@ -73,6 +80,14 @@ static void __init imx6sl_init_irq(void)
imx6_pm_ccm_init("fsl,imx6sll-ccm");
}
+static void __init imx6sl_map_io(void)
+{
+ imx6_pm_map_io();
+#ifdef CONFIG_CPU_FREQ
+ imx_busfreq_map_io();
+#endif
+}
+
static const char * const imx6sl_dt_compat[] __initconst = {
"fsl,imx6sl",
"fsl,imx6sll",
@@ -82,6 +97,7 @@ static const char * const imx6sl_dt_compat[] __initconst = {
DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)")
.l2c_aux_val = 0,
.l2c_aux_mask = ~0,
+ .map_io = imx6sl_map_io,
.init_irq = imx6sl_init_irq,
.init_machine = imx6sl_init_machine,
.init_late = imx6sl_init_late,