diff options
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db8500.c')
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 26 |
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 | ||
300 | static 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 | |||
295 | static const struct of_device_id u8500_local_bus_nodes[] = { | 310 | static 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 | ||
325 | static const char * stericsson_dt_platform_compat[] = { | 345 | static const char * stericsson_dt_platform_compat[] = { |