Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 204751
b: refs/heads/master
c: dee9ad7
h: refs/heads/master
i:
  204749: 1266477
  204747: b167714
  204743: 7b6af6d
  204735: c9eb7e7
v: v3
  • Loading branch information
Anton Vorontsov authored and Kumar Gala committed Aug 4, 2010
1 parent 6fadf77 commit c79aaa0
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb863e85a74f0222f4486ddb1945ed9eb431d6c9
refs/heads/master: dee9ad718b4f0009a4170c178f7171c7b1f06f92
1 change: 1 addition & 0 deletions trunk/arch/powerpc/boot/dts/p1021mds.dts
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,7 @@
bus-frequency = <0>;
fsl,qe-num-riscs = <1>;
fsl,qe-num-snums = <28>;
status = "disabled"; /* no firmware loaded */

qeic: interrupt-controller@80 {
interrupt-controller;
Expand Down
43 changes: 37 additions & 6 deletions trunk/arch/powerpc/platforms/85xx/mpc85xx_mds.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,29 @@ static int mpc8568_mds_phy_fixups(struct phy_device *phydev)
extern void __init mpc85xx_smp_init(void);
#endif

#ifdef CONFIG_QUICC_ENGINE
static struct of_device_id mpc85xx_qe_ids[] __initdata = {
{ .type = "qe", },
{ .compatible = "fsl,qe", },
{ },
};

static void __init mpc85xx_publish_qe_devices(void)
{
struct device_node *np;

np = of_find_compatible_node(NULL, NULL, "fsl,qe");
if (!of_device_is_available(np)) {
of_node_put(np);
return;
}

of_platform_bus_probe(NULL, mpc85xx_qe_ids, NULL);
}
#else
static void __init mpc85xx_publish_qe_devices(void) { }
#endif /* CONFIG_QUICC_ENGINE */

static void __init mpc85xx_mds_setup_arch(void)
{
struct device_node *np;
Expand Down Expand Up @@ -218,6 +241,11 @@ static void __init mpc85xx_mds_setup_arch(void)
return;
}

if (!of_device_is_available(np)) {
of_node_put(np);
return;
}

qe_reset();
of_node_put(np);

Expand Down Expand Up @@ -369,8 +397,6 @@ static struct of_device_id mpc85xx_ids[] = {
{ .type = "soc", },
{ .compatible = "soc", },
{ .compatible = "simple-bus", },
{ .type = "qe", },
{ .compatible = "fsl,qe", },
{ .compatible = "gianfar", },
{ .compatible = "fsl,rapidio-delta", },
{ .compatible = "fsl,mpc8548-guts", },
Expand All @@ -382,8 +408,6 @@ static struct of_device_id p1021_ids[] = {
{ .type = "soc", },
{ .compatible = "soc", },
{ .compatible = "simple-bus", },
{ .type = "qe", },
{ .compatible = "fsl,qe", },
{ .compatible = "gianfar", },
{},
};
Expand All @@ -395,16 +419,16 @@ static int __init mpc85xx_publish_devices(void)
if (machine_is(mpc8569_mds))
simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio");

/* Publish the QE devices */
of_platform_bus_probe(NULL, mpc85xx_ids, NULL);
mpc85xx_publish_qe_devices();

return 0;
}

static int __init p1021_publish_devices(void)
{
/* Publish the QE devices */
of_platform_bus_probe(NULL, p1021_ids, NULL);
mpc85xx_publish_qe_devices();

return 0;
}
Expand Down Expand Up @@ -443,12 +467,19 @@ static void __init mpc85xx_mds_pic_init(void)
mpic_init(mpic);

#ifdef CONFIG_QUICC_ENGINE
np = of_find_compatible_node(NULL, NULL, "fsl,qe");
if (!of_device_is_available(np)) {
of_node_put(np);
return;
}

np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
if (!np) {
np = of_find_node_by_type(NULL, "qeic");
if (!np)
return;
}

if (machine_is(p1021_mds))
qe_ic_init(np, 0, qe_ic_cascade_low_mpic,
qe_ic_cascade_high_mpic);
Expand Down

0 comments on commit c79aaa0

Please sign in to comment.