aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/cpu-db8500.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db8500.c')
-rw-r--r--arch/arm/mach-ux500/cpu-db8500.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index 46cca52890bc..7669a49fb6fb 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -274,11 +274,16 @@ static struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
274 OF_DEV_AUXDATA("st,nomadik-i2c", 0x80128000, "nmk-i2c.2", NULL), 274 OF_DEV_AUXDATA("st,nomadik-i2c", 0x80128000, "nmk-i2c.2", NULL),
275 OF_DEV_AUXDATA("st,nomadik-i2c", 0x80110000, "nmk-i2c.3", NULL), 275 OF_DEV_AUXDATA("st,nomadik-i2c", 0x80110000, "nmk-i2c.3", NULL),
276 OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL), 276 OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL),
277 OF_DEV_AUXDATA("stericsson,db8500-musb", 0xa03e0000, "musb-ux500.0", NULL),
277 OF_DEV_AUXDATA("stericsson,db8500-prcmu", 0x80157000, "db8500-prcmu", 278 OF_DEV_AUXDATA("stericsson,db8500-prcmu", 0x80157000, "db8500-prcmu",
278 &db8500_prcmu_pdata), 279 &db8500_prcmu_pdata),
279 OF_DEV_AUXDATA("smsc,lan9115", 0x50000000, "smsc911x.0", NULL), 280 OF_DEV_AUXDATA("smsc,lan9115", 0x50000000, "smsc911x.0", NULL),
281 OF_DEV_AUXDATA("stericsson,ux500-cryp", 0xa03cb000, "cryp1", NULL),
282 OF_DEV_AUXDATA("stericsson,ux500-hash", 0xa03c2000, "hash1", NULL),
283 OF_DEV_AUXDATA("stericsson,snd-soc-mop500", 0, "snd-soc-mop500.0",
284 NULL),
280 /* Requires device name bindings. */ 285 /* Requires device name bindings. */
281 OF_DEV_AUXDATA("stericsson,nmk-pinctrl", U8500_PRCMU_BASE, 286 OF_DEV_AUXDATA("stericsson,db8500-pinctrl", U8500_PRCMU_BASE,
282 "pinctrl-db8500", NULL), 287 "pinctrl-db8500", NULL),
283 /* Requires clock name and DMA bindings. */ 288 /* Requires clock name and DMA bindings. */
284 OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80123000, 289 OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80123000,
@@ -292,6 +297,16 @@ static struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
292 {}, 297 {},
293}; 298};
294 299
300static struct of_dev_auxdata u8540_auxdata_lookup[] __initdata = {
301 /* Requires DMA bindings. */
302 OF_DEV_AUXDATA("arm,pl011", 0x80120000, "uart0", NULL),
303 OF_DEV_AUXDATA("arm,pl011", 0x80121000, "uart1", NULL),
304 OF_DEV_AUXDATA("arm,pl011", 0x80007000, "uart2", NULL),
305 OF_DEV_AUXDATA("stericsson,db8500-prcmu", 0x80157000, "db8500-prcmu",
306 &db8500_prcmu_pdata),
307 {},
308};
309
295static const struct of_device_id u8500_local_bus_nodes[] = { 310static const struct of_device_id u8500_local_bus_nodes[] = {
296 /* only create devices below soc node */ 311 /* only create devices below soc node */
297 { .compatible = "stericsson,db8500", }, 312 { .compatible = "stericsson,db8500", },
@@ -318,8 +333,13 @@ static void __init u8500_init_machine(void)
318 /* TODO: Export SoC, USB, cpu-freq and DMA40 */ 333 /* TODO: Export SoC, USB, cpu-freq and DMA40 */
319 parent = u8500_of_init_devices(); 334 parent = u8500_of_init_devices();
320 335
321 /* automatically probe child nodes of db8500 device */ 336 /* automatically probe child nodes of dbx5x0 devices */
322 of_platform_populate(NULL, u8500_local_bus_nodes, u8500_auxdata_lookup, parent); 337 if (of_machine_is_compatible("st-ericsson,u8540"))
338 of_platform_populate(NULL, u8500_local_bus_nodes,
339 u8540_auxdata_lookup, parent);
340 else
341 of_platform_populate(NULL, u8500_local_bus_nodes,
342 u8500_auxdata_lookup, parent);
323} 343}
324 344
325static const char * stericsson_dt_platform_compat[] = { 345static const char * stericsson_dt_platform_compat[] = {