aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pasemi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/pasemi')
-rw-r--r--arch/powerpc/platforms/pasemi/Kconfig2
-rw-r--r--arch/powerpc/platforms/pasemi/cpufreq.c13
-rw-r--r--arch/powerpc/platforms/pasemi/gpio_mdio.c5
-rw-r--r--arch/powerpc/platforms/pasemi/setup.c9
4 files changed, 22 insertions, 7 deletions
diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig
index 735e1536cbfc..2f4dd6e4aac1 100644
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
@@ -17,7 +17,7 @@ config PPC_PASEMI_IOMMU
17 bool "PA Semi IOMMU support" 17 bool "PA Semi IOMMU support"
18 depends on PPC_PASEMI 18 depends on PPC_PASEMI
19 help 19 help
20 IOMMU support for PA6T-1682M 20 IOMMU support for PA Semi PWRficient
21 21
22config PPC_PASEMI_IOMMU_DMA_FORCE 22config PPC_PASEMI_IOMMU_DMA_FORCE
23 bool "Force DMA engine to use IOMMU" 23 bool "Force DMA engine to use IOMMU"
diff --git a/arch/powerpc/platforms/pasemi/cpufreq.c b/arch/powerpc/platforms/pasemi/cpufreq.c
index 1cfb8b0c8fec..8caa1667cf34 100644
--- a/arch/powerpc/platforms/pasemi/cpufreq.c
+++ b/arch/powerpc/platforms/pasemi/cpufreq.c
@@ -147,7 +147,10 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy)
147 if (!cpu) 147 if (!cpu)
148 goto out; 148 goto out;
149 149
150 dn = of_find_compatible_node(NULL, "sdc", "1682m-sdc"); 150 dn = of_find_compatible_node(NULL, NULL, "1682m-sdc");
151 if (!dn)
152 dn = of_find_compatible_node(NULL, NULL,
153 "pasemi,pwrficient-sdc");
151 if (!dn) 154 if (!dn)
152 goto out; 155 goto out;
153 err = of_address_to_resource(dn, 0, &res); 156 err = of_address_to_resource(dn, 0, &res);
@@ -160,7 +163,10 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy)
160 goto out; 163 goto out;
161 } 164 }
162 165
163 dn = of_find_compatible_node(NULL, "gizmo", "1682m-gizmo"); 166 dn = of_find_compatible_node(NULL, NULL, "1682m-gizmo");
167 if (!dn)
168 dn = of_find_compatible_node(NULL, NULL,
169 "pasemi,pwrficient-gizmo");
164 if (!dn) { 170 if (!dn) {
165 err = -ENODEV; 171 err = -ENODEV;
166 goto out_unmap_sdcasr; 172 goto out_unmap_sdcasr;
@@ -292,7 +298,8 @@ static struct cpufreq_driver pas_cpufreq_driver = {
292 298
293static int __init pas_cpufreq_init(void) 299static int __init pas_cpufreq_init(void)
294{ 300{
295 if (!machine_is_compatible("PA6T-1682M")) 301 if (!machine_is_compatible("PA6T-1682M") &&
302 !machine_is_compatible("pasemi,pwrficient"))
296 return -ENODEV; 303 return -ENODEV;
297 304
298 return cpufreq_register_driver(&pas_cpufreq_driver); 305 return cpufreq_register_driver(&pas_cpufreq_driver);
diff --git a/arch/powerpc/platforms/pasemi/gpio_mdio.c b/arch/powerpc/platforms/pasemi/gpio_mdio.c
index 95d0c78cf634..b0298045df7e 100644
--- a/arch/powerpc/platforms/pasemi/gpio_mdio.c
+++ b/arch/powerpc/platforms/pasemi/gpio_mdio.c
@@ -333,7 +333,10 @@ int gpio_mdio_init(void)
333{ 333{
334 struct device_node *np; 334 struct device_node *np;
335 335
336 np = of_find_compatible_node(NULL, "gpio", "1682m-gpio"); 336 np = of_find_compatible_node(NULL, NULL, "1682m-gpio");
337 if (!np)
338 np = of_find_compatible_node(NULL, NULL,
339 "pasemi,pwrficient-gpio");
337 if (!np) 340 if (!np)
338 return -ENODEV; 341 return -ENODEV;
339 gpio_regs = of_iomap(np, 0); 342 gpio_regs = of_iomap(np, 0);
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c
index 3d62060498b4..bd85853bc9da 100644
--- a/arch/powerpc/platforms/pasemi/setup.c
+++ b/arch/powerpc/platforms/pasemi/setup.c
@@ -362,8 +362,12 @@ static inline void pasemi_pcmcia_init(void)
362 362
363 363
364static struct of_device_id pasemi_bus_ids[] = { 364static struct of_device_id pasemi_bus_ids[] = {
365 /* Unfortunately needed for legacy firmwares */
365 { .type = "localbus", }, 366 { .type = "localbus", },
366 { .type = "sdc", }, 367 { .type = "sdc", },
368 /* These are the proper entries, which newer firmware uses */
369 { .compatible = "pasemi,localbus", },
370 { .compatible = "pasemi,sdc", },
367 {}, 371 {},
368}; 372};
369 373
@@ -389,7 +393,8 @@ static int __init pas_probe(void)
389{ 393{
390 unsigned long root = of_get_flat_dt_root(); 394 unsigned long root = of_get_flat_dt_root();
391 395
392 if (!of_flat_dt_is_compatible(root, "PA6T-1682M")) 396 if (!of_flat_dt_is_compatible(root, "PA6T-1682M") &&
397 !of_flat_dt_is_compatible(root, "pasemi,pwrficient"))
393 return 0; 398 return 0;
394 399
395 hpte_init_native(); 400 hpte_init_native();
@@ -400,7 +405,7 @@ static int __init pas_probe(void)
400} 405}
401 406
402define_machine(pasemi) { 407define_machine(pasemi) {
403 .name = "PA Semi PA6T-1682M", 408 .name = "PA Semi PWRficient",
404 .probe = pas_probe, 409 .probe = pas_probe,
405 .setup_arch = pas_setup_arch, 410 .setup_arch = pas_setup_arch,
406 .init_early = pas_init_early, 411 .init_early = pas_init_early,