aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mxs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-04-05 18:29:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-05 18:29:04 -0400
commitf83ccb93585d1f472c30fa2bbb8b56c23dbdb506 (patch)
tree6548d92ff3f362f590bc96129df3e5cb5170ac02 /arch/arm/mach-mxs
parent930b440cd8256f3861bdb0a59d26efaadac7941a (diff)
parent50b4af414d414af9e4df6f64e613bb0ffe581055 (diff)
Merge tag 'dt-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC device tree changes from Arnd Bergmann: "A large part of the arm-soc patches are nowadays DT changes, adding support for new SoCs, boards and devices without changing kernel source. The plan is still to move the devicetree files out of the kernel tree and reduce the amount of churn going on here, but we keep finding reasons to delay doing that. Changes are really all over the place, with little sticking out particularly. We have contributions from a total of 116 people in this branch. Unfortunately, the size of this branch also causes a significant number of conflicts at the moment, typically when subsystem maintainers merge patches that change the driver at the same time as the dts files. In most cases this could be avoided because the dts changes are supposed to be compatible in both ways, and we are asking everyone to send ARM dts changes through our tree only" * tag 'dt-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (541 commits) dts: stmmac: Document the clocks property in the stmmac base document dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac. ARM: STi: stih41x: Add support for the FSM Serial Flash Controller ARM: STi: stih416: Add support for the FSM Serial Flash Controller ARM: tegra: fix Dalmore pinctrl configuration ARM: dts: keystone: use common "ti,keystone" compatible instead of -evm ARM: dts: k2hk-evm: set ubifs partition size for 512M NAND ARM: dts: Build all keystone dt blobs ARM: dts: keystone: Fix control register range for clktsip ARM: dts: keystone: Fix domain register range for clkfftc1 ARM: dts: bcm28155-ap: leave camldo1 on to fix reboot ARM: dts: add bcm590xx pmu support and enable for bcm28155-ap ARM: dts: bcm21664: Add device tree files. ARM: DT: bcm21664: Device tree bindings ARM: efm32: properly namespace i2c location property ARM: efm32: fix unit address part in USART2 device nodes' names ARM: mvebu: Enable NAND controller in Armada 385-DB ARM: mvebu: Add support for NAND controller in Armada 38x SoC ARM: mvebu: Add the Core Divider clock to Armada 38x SoCs ARM: mvebu: Add a 2 GHz fixed-clock on Armada 38x SoCs ...
Diffstat (limited to 'arch/arm/mach-mxs')
-rw-r--r--arch/arm/mach-mxs/mach-mxs.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index 1dc5acd4fc99..2e7cec86e50e 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -157,6 +157,8 @@ enum mac_oui {
157 OUI_FSL, 157 OUI_FSL,
158 OUI_DENX, 158 OUI_DENX,
159 OUI_CRYSTALFONTZ, 159 OUI_CRYSTALFONTZ,
160 OUI_I2SE,
161 OUI_ARMADEUS,
160}; 162};
161 163
162static void __init update_fec_mac_prop(enum mac_oui oui) 164static void __init update_fec_mac_prop(enum mac_oui oui)
@@ -211,6 +213,16 @@ static void __init update_fec_mac_prop(enum mac_oui oui)
211 macaddr[1] = 0xb9; 213 macaddr[1] = 0xb9;
212 macaddr[2] = 0xe1; 214 macaddr[2] = 0xe1;
213 break; 215 break;
216 case OUI_I2SE:
217 macaddr[0] = 0x00;
218 macaddr[1] = 0x01;
219 macaddr[2] = 0x87;
220 break;
221 case OUI_ARMADEUS:
222 macaddr[0] = 0x00;
223 macaddr[1] = 0x1e;
224 macaddr[2] = 0xac;
225 break;
214 } 226 }
215 val = ocotp[i]; 227 val = ocotp[i];
216 macaddr[3] = (val >> 16) & 0xff; 228 macaddr[3] = (val >> 16) & 0xff;
@@ -236,6 +248,11 @@ static void __init imx28_evk_init(void)
236 mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0); 248 mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0);
237} 249}
238 250
251static void __init imx28_apf28_init(void)
252{
253 update_fec_mac_prop(OUI_ARMADEUS);
254}
255
239static int apx4devkit_phy_fixup(struct phy_device *phy) 256static int apx4devkit_phy_fixup(struct phy_device *phy)
240{ 257{
241 phy->dev_flags |= MICREL_PHY_50MHZ_CLK; 258 phy->dev_flags |= MICREL_PHY_50MHZ_CLK;
@@ -330,6 +347,11 @@ static void __init crystalfontz_init(void)
330 update_fec_mac_prop(OUI_CRYSTALFONTZ); 347 update_fec_mac_prop(OUI_CRYSTALFONTZ);
331} 348}
332 349
350static void __init duckbill_init(void)
351{
352 update_fec_mac_prop(OUI_I2SE);
353}
354
333static void __init m28cu3_init(void) 355static void __init m28cu3_init(void)
334{ 356{
335 update_fec_mac_prop(OUI_DENX); 357 update_fec_mac_prop(OUI_DENX);
@@ -426,6 +448,11 @@ static int __init mxs_restart_init(void)
426 return 0; 448 return 0;
427} 449}
428 450
451static void __init eukrea_mbmx283lc_init(void)
452{
453 mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0);
454}
455
429static void __init mxs_machine_init(void) 456static void __init mxs_machine_init(void)
430{ 457{
431 struct device_node *root; 458 struct device_node *root;
@@ -458,10 +485,16 @@ static void __init mxs_machine_init(void)
458 485
459 if (of_machine_is_compatible("fsl,imx28-evk")) 486 if (of_machine_is_compatible("fsl,imx28-evk"))
460 imx28_evk_init(); 487 imx28_evk_init();
488 if (of_machine_is_compatible("armadeus,imx28-apf28"))
489 imx28_apf28_init();
461 else if (of_machine_is_compatible("bluegiga,apx4devkit")) 490 else if (of_machine_is_compatible("bluegiga,apx4devkit"))
462 apx4devkit_init(); 491 apx4devkit_init();
463 else if (of_machine_is_compatible("crystalfontz,cfa10036")) 492 else if (of_machine_is_compatible("crystalfontz,cfa10036"))
464 crystalfontz_init(); 493 crystalfontz_init();
494 else if (of_machine_is_compatible("eukrea,mbmx283lc"))
495 eukrea_mbmx283lc_init();
496 else if (of_machine_is_compatible("i2se,duckbill"))
497 duckbill_init();
465 else if (of_machine_is_compatible("msr,m28cu3")) 498 else if (of_machine_is_compatible("msr,m28cu3"))
466 m28cu3_init(); 499 m28cu3_init();
467 500