aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mxs/mach-mxs.c
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-07-07 11:12:03 -0400
committerShawn Guo <shawn.guo@linaro.org>2012-07-10 23:49:50 -0400
commit3143bbb42b3d27a5f799c97c84fb7a4a1de88f91 (patch)
tree56ee99b412765fb872fd673df5e2b92e35db9a76 /arch/arm/mach-mxs/mach-mxs.c
parent8fa62e11283faa203b360c4ebdbd186b2c8dd844 (diff)
ARM: mxs: convert apx4devkit board to device tree
Tested-by: Lauri Hintsala <lauri.hintsala@bluegiga.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-mxs/mach-mxs.c')
-rw-r--r--arch/arm/mach-mxs/mach-mxs.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index d3fc8ba9d759..d0bf4149f3e5 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -16,9 +16,11 @@
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/irqdomain.h> 18#include <linux/irqdomain.h>
19#include <linux/micrel_phy.h>
19#include <linux/mxsfb.h> 20#include <linux/mxsfb.h>
20#include <linux/of_irq.h> 21#include <linux/of_irq.h>
21#include <linux/of_platform.h> 22#include <linux/of_platform.h>
23#include <linux/phy.h>
22#include <asm/mach/arch.h> 24#include <asm/mach/arch.h>
23#include <asm/mach/time.h> 25#include <asm/mach/time.h>
24#include <mach/common.h> 26#include <mach/common.h>
@@ -233,6 +235,21 @@ static void __init m28evk_init(void)
233 mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; 235 mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT;
234} 236}
235 237
238static int apx4devkit_phy_fixup(struct phy_device *phy)
239{
240 phy->dev_flags |= MICREL_PHY_50MHZ_CLK;
241 return 0;
242}
243
244static void __init apx4devkit_init(void)
245{
246 enable_clk_enet_out();
247
248 if (IS_BUILTIN(CONFIG_PHYLIB))
249 phy_register_fixup_for_uid(PHY_ID_KS8051, MICREL_PHY_ID_MASK,
250 apx4devkit_phy_fixup);
251}
252
236static void __init mxs_machine_init(void) 253static void __init mxs_machine_init(void)
237{ 254{
238 if (of_machine_is_compatible("fsl,imx28-evk")) 255 if (of_machine_is_compatible("fsl,imx28-evk"))
@@ -241,6 +258,8 @@ static void __init mxs_machine_init(void)
241 imx23_evk_init(); 258 imx23_evk_init();
242 else if (of_machine_is_compatible("denx,m28evk")) 259 else if (of_machine_is_compatible("denx,m28evk"))
243 m28evk_init(); 260 m28evk_init();
261 else if (of_machine_is_compatible("bluegiga,apx4devkit"))
262 apx4devkit_init();
244 263
245 of_platform_populate(NULL, of_default_bus_match_table, 264 of_platform_populate(NULL, of_default_bus_match_table,
246 mxs_auxdata_lookup, NULL); 265 mxs_auxdata_lookup, NULL);
@@ -254,6 +273,7 @@ static const char *imx23_dt_compat[] __initdata = {
254}; 273};
255 274
256static const char *imx28_dt_compat[] __initdata = { 275static const char *imx28_dt_compat[] __initdata = {
276 "bluegiga,apx4devkit",
257 "crystalfontz,cfa10036", 277 "crystalfontz,cfa10036",
258 "denx,m28evk", 278 "denx,m28evk",
259 "fsl,imx28-evk", 279 "fsl,imx28-evk",