mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 02:34:01 +08:00
ARM: 5998/1: ep93xx: added chip revision reading function
Added a new function: ep93xx_chip_revision() which reads chip revision from the sysconfig register. Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
b370e082e7
commit
99e6a23adf
@ -222,6 +222,20 @@ void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ep93xx_devcfg_set_clear);
|
EXPORT_SYMBOL(ep93xx_devcfg_set_clear);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ep93xx_chip_revision() - returns the EP93xx chip revision
|
||||||
|
*
|
||||||
|
* See <mach/platform.h> for more information.
|
||||||
|
*/
|
||||||
|
unsigned int ep93xx_chip_revision(void)
|
||||||
|
{
|
||||||
|
unsigned int v;
|
||||||
|
|
||||||
|
v = __raw_readl(EP93XX_SYSCON_SYSCFG);
|
||||||
|
v &= EP93XX_SYSCON_SYSCFG_REV_MASK;
|
||||||
|
v >>= EP93XX_SYSCON_SYSCFG_REV_SHIFT;
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* EP93xx peripheral handling
|
* EP93xx peripheral handling
|
||||||
|
@ -33,6 +33,14 @@ static inline void ep93xx_devcfg_clear_bits(unsigned int bits)
|
|||||||
ep93xx_devcfg_set_clear(0x00, bits);
|
ep93xx_devcfg_set_clear(0x00, bits);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define EP93XX_CHIP_REV_D0 3
|
||||||
|
#define EP93XX_CHIP_REV_D1 4
|
||||||
|
#define EP93XX_CHIP_REV_E0 5
|
||||||
|
#define EP93XX_CHIP_REV_E1 6
|
||||||
|
#define EP93XX_CHIP_REV_E2 7
|
||||||
|
|
||||||
|
unsigned int ep93xx_chip_revision(void);
|
||||||
|
|
||||||
void ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr);
|
void ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr);
|
||||||
void ep93xx_register_i2c(struct i2c_gpio_platform_data *data,
|
void ep93xx_register_i2c(struct i2c_gpio_platform_data *data,
|
||||||
struct i2c_board_info *devices, int num);
|
struct i2c_board_info *devices, int num);
|
||||||
|
Loading…
Reference in New Issue
Block a user