17 #include <linux/export.h>
35 #include <asm/system_misc.h>
36 #include <mach/common.h>
37 #include <mach/cpuidle.h>
38 #include <mach/hardware.h>
54 writew_relaxed(1 << 2, wdog_base);
56 writew_relaxed(1 << 2, wdog_base);
61 pr_err(
"Watchdog reset failed to assert reset\n");
72 static int ksz9021rn_phy_fixup(
struct phy_device *phydev)
88 static void __init imx6q_sabrelite_cko1_setup(
void)
96 if (IS_ERR(cko1_sel) || IS_ERR(ahb) || IS_ERR(cko1)) {
97 pr_err(
"cko1 setup failed!\n");
104 if (!IS_ERR(cko1_sel))
112 static void __init imx6q_sabrelite_init(
void)
116 ksz9021rn_phy_fixup);
117 imx6q_sabrelite_cko1_setup();
120 static void __init imx6q_usb_init(
void)
124 #define HW_ANADIG_USB1_CHRG_DETECT 0x000001b0
125 #define HW_ANADIG_USB2_CHRG_DETECT 0x00000210
127 #define BM_ANADIG_USB_CHRG_DETECT_EN_B 0x00100000
128 #define BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B 0x00080000
131 if (!IS_ERR(anatop)) {
137 BM_ANADIG_USB_CHRG_DETECT_EN_B
138 | BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B);
140 BM_ANADIG_USB_CHRG_DETECT_EN_B |
141 BM_ANADIG_USB_CHRG_DETECT_CHK_CHRG_B);
143 pr_warn(
"failed to find fsl,imx6q-anatop regmap\n");
147 static void __init imx6q_init_machine(
void)
150 imx6q_sabrelite_init();
159 .name =
"imx6q_cpuidle",
161 .en_core_tk_irqen = 1,
166 static void __init imx6q_init_late(
void)
171 static void __init imx6q_map_io(
void)
179 { .compatible =
"arm,cortex-a9-gic", .data =
gic_of_init, },
183 static void __init imx6q_init_irq(
void)
185 l2x0_of_init(0, ~0
UL);
191 static void __init imx6q_timer_init(
void)
194 twd_local_timer_of_register();
198 .init = imx6q_timer_init,
201 static const char *imx6q_dt_compat[]
__initdata = {
208 .map_io = imx6q_map_io,
209 .init_irq = imx6q_init_irq,
211 .timer = &imx6q_timer,
212 .init_machine = imx6q_init_machine,
213 .init_late = imx6q_init_late,
214 .dt_compat = imx6q_dt_compat,