kirkwood: make MPP arrays static const
This saves stack and code memory for local copy, and consumes initialized data memory. For 22 of the 29 kirkwood-based boards, this results in a global saving of about 30 bytes. For 7 of them, it results in an increase of 6 to 14 bytes. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
This commit is contained in:
parent
0a16ea5933
commit
9d86f0c30b
@ -31,7 +31,7 @@ static u32 kirkwood_variant(void)
|
||||
#define MPP_CTRL(i) (KW_MPP_BASE + (i* 4))
|
||||
#define MPP_NR_REGS (1 + MPP_MAX/8)
|
||||
|
||||
void kirkwood_mpp_conf(u32 *mpp_list, u32 *mpp_save)
|
||||
void kirkwood_mpp_conf(const u32 *mpp_list, u32 *mpp_save)
|
||||
{
|
||||
u32 mpp_ctrl[MPP_NR_REGS];
|
||||
unsigned int variant_mask;
|
||||
|
@ -312,6 +312,6 @@
|
||||
|
||||
#define MPP_MAX 49
|
||||
|
||||
void kirkwood_mpp_conf(u32 *mpp_list, u32 *mpp_save);
|
||||
void kirkwood_mpp_conf(const u32 *mpp_list, u32 *mpp_save);
|
||||
|
||||
#endif
|
||||
|
@ -39,7 +39,7 @@ int board_early_init_f(void)
|
||||
NET2BIG_V2_OE_LOW, NET2BIG_V2_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_SPI_SCn,
|
||||
MPP1_SPI_MOSI,
|
||||
MPP2_SPI_SCK,
|
||||
|
@ -39,7 +39,7 @@ int board_early_init_f(void)
|
||||
NETSPACE_V2_OE_LOW, NETSPACE_V2_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_SPI_SCn,
|
||||
MPP1_SPI_MOSI,
|
||||
MPP2_SPI_SCK,
|
||||
|
@ -46,7 +46,7 @@ int board_early_init_f(void)
|
||||
DREAMPLUG_OE_LOW, DREAMPLUG_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_SPI_SCn, /* SPI Flash */
|
||||
MPP1_SPI_MOSI,
|
||||
MPP2_SPI_SCK,
|
||||
|
@ -43,7 +43,7 @@ int board_early_init_f(void)
|
||||
GURUPLUG_OE_LOW, GURUPLUG_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -45,7 +45,7 @@ int board_early_init_f(void)
|
||||
MV88F6281GTW_GE_OE_LOW, MV88F6281GTW_GE_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_SPI_SCn,
|
||||
MPP1_SPI_MOSI,
|
||||
MPP2_SPI_SCK,
|
||||
|
@ -48,7 +48,7 @@ int board_early_init_f(void)
|
||||
OPENRD_OE_LOW, OPENRD_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -44,7 +44,7 @@ int board_early_init_f(void)
|
||||
RD6281A_OE_LOW, RD6281A_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -43,7 +43,7 @@ int board_early_init_f(void)
|
||||
SHEEVAPLUG_OE_LOW, SHEEVAPLUG_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -47,7 +47,7 @@ int board_early_init_f(void)
|
||||
DOCKSTAR_OE_LOW, DOCKSTAR_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -76,7 +76,7 @@ int board_early_init_f(void)
|
||||
* Multi-Purpose Pins Functionality configuration
|
||||
* These strappings are taken from the original vendor uboot port.
|
||||
*/
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_SPI_SCn,
|
||||
MPP1_SPI_MOSI,
|
||||
MPP2_SPI_SCK,
|
||||
|
@ -45,7 +45,7 @@ int board_early_init_f(void)
|
||||
POGO_E02_OE_LOW, POGO_E02_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -44,7 +44,7 @@ int board_early_init_f(void)
|
||||
DNS325_OE_LOW, DNS325_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -41,7 +41,7 @@ int board_early_init_f(void)
|
||||
ICONNECT_OE_LOW, ICONNECT_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -47,7 +47,7 @@ int board_early_init_f(void)
|
||||
TK71_OE_LOW, TK71_OE_HIGH);
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -54,7 +54,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#define MASK_RBI_DEFECT_16 0x01
|
||||
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -45,7 +45,7 @@ int board_early_init_f(void)
|
||||
/* Set SATA activity LEDs to default off */
|
||||
writel(MVSATAHC_LED_POLARITY_CTRL, MVSATAHC_LED_CONF_REG);
|
||||
/* Multi-Purpose Pins Functionality configuration */
|
||||
u32 kwmpp_config[] = {
|
||||
static const u32 kwmpp_config[] = {
|
||||
MPP0_NF_IO2,
|
||||
MPP1_NF_IO3,
|
||||
MPP2_NF_IO4,
|
||||
|
@ -41,7 +41,10 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
|
||||
{
|
||||
struct spi_slave *slave;
|
||||
u32 data;
|
||||
u32 kwspi_mpp_config[] = { 0, 0 };
|
||||
static const u32 kwspi_mpp_config[2][2] = {
|
||||
{ MPP0_SPI_SCn, 0 }, /* if cs == 0 */
|
||||
{ MPP7_SPI_SCn, 0 } /* if cs != 0 */
|
||||
};
|
||||
|
||||
if (!spi_cs_is_valid(bus, cs))
|
||||
return NULL;
|
||||
@ -68,12 +71,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
|
||||
writel(KWSPI_IRQMASK, &spireg->irq_mask);
|
||||
|
||||
/* program mpp registers to select SPI_CSn */
|
||||
if (cs) {
|
||||
kwspi_mpp_config[0] = MPP7_SPI_SCn;
|
||||
} else {
|
||||
kwspi_mpp_config[0] = MPP0_SPI_SCn;
|
||||
}
|
||||
kirkwood_mpp_conf(kwspi_mpp_config, cs_spi_mpp_back);
|
||||
kirkwood_mpp_conf(kwspi_mpp_config[cs ? 1 : 0], cs_spi_mpp_back);
|
||||
|
||||
return slave;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user