Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 356471
b: refs/heads/master
c: edfcf33
h: refs/heads/master
i:
  356469: 20017a8
  356467: 9ea914f
  356463: 5770100
v: v3
  • Loading branch information
Anatolij Gustschin committed Feb 4, 2013
1 parent 18518ef commit 1614b67
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b2639b5f1d01f218dc95537a1c352b3a551c4dd5
refs/heads/master: edfcf33cabf29710f12a3bba4a7b3761a918e268
16 changes: 16 additions & 0 deletions trunk/arch/powerpc/include/asm/mpc5121.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,20 @@ struct mpc512x_ccm {
u32 m4ccr; /* MSCAN4 CCR */
u8 res[0x98]; /* Reserved */
};

/*
* LPC Module
*/
struct mpc512x_lpc {
u32 cs_cfg[8]; /* CS config */
u32 cs_ctrl; /* CS Control Register */
u32 cs_status; /* CS Status Register */
u32 burst_ctrl; /* CS Burst Control Register */
u32 deadcycle_ctrl; /* CS Deadcycle Control Register */
u32 holdcycle_ctrl; /* CS Holdcycle Control Register */
u32 alt; /* Address Latch Timing Register */
};

int mpc512x_cs_config(unsigned int cs, u32 val);

#endif /* __ASM_POWERPC_MPC5121_H__ */
30 changes: 30 additions & 0 deletions trunk/arch/powerpc/platforms/512x/mpc512x_shared.c
Original file line number Diff line number Diff line change
Expand Up @@ -436,3 +436,33 @@ void __init mpc512x_init(void)
mpc512x_restart_init();
mpc512x_psc_fifo_init();
}

/**
* mpc512x_cs_config - Setup chip select configuration
* @cs: chip select number
* @val: chip select configuration value
*
* Perform chip select configuration for devices on LocalPlus Bus.
* Intended to dynamically reconfigure the chip select parameters
* for configurable devices on the bus.
*/
int mpc512x_cs_config(unsigned int cs, u32 val)
{
static struct mpc512x_lpc __iomem *lpc;
struct device_node *np;

if (cs > 7)
return -EINVAL;

if (!lpc) {
np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-lpc");
lpc = of_iomap(np, 0);
of_node_put(np);
if (!lpc)
return -ENOMEM;
}

out_be32(&lpc->cs_cfg[cs], val);
return 0;
}
EXPORT_SYMBOL(mpc512x_cs_config);

0 comments on commit 1614b67

Please sign in to comment.