Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into fixes
This commit is contained in:
@@ -136,7 +136,7 @@
|
|||||||
#define DOVE_MPP_GENERAL_VIRT_BASE (DOVE_SB_REGS_VIRT_BASE | 0xe803c)
|
#define DOVE_MPP_GENERAL_VIRT_BASE (DOVE_SB_REGS_VIRT_BASE | 0xe803c)
|
||||||
#define DOVE_AU1_SPDIFO_GPIO_EN (1 << 1)
|
#define DOVE_AU1_SPDIFO_GPIO_EN (1 << 1)
|
||||||
#define DOVE_NAND_GPIO_EN (1 << 0)
|
#define DOVE_NAND_GPIO_EN (1 << 0)
|
||||||
#define DOVE_MPP_CTRL4_VIRT_BASE (DOVE_GPIO_VIRT_BASE + 0x40)
|
#define DOVE_MPP_CTRL4_VIRT_BASE (DOVE_GPIO_LO_VIRT_BASE + 0x40)
|
||||||
#define DOVE_SPI_GPIO_SEL (1 << 5)
|
#define DOVE_SPI_GPIO_SEL (1 << 5)
|
||||||
#define DOVE_UART1_GPIO_SEL (1 << 4)
|
#define DOVE_UART1_GPIO_SEL (1 << 4)
|
||||||
#define DOVE_AU1_GPIO_SEL (1 << 3)
|
#define DOVE_AU1_GPIO_SEL (1 << 3)
|
||||||
|
@@ -147,9 +147,6 @@ void __init dove_mpp_conf(unsigned int *mpp_list)
|
|||||||
u32 pmu_sig_ctrl[PMU_SIG_REGS];
|
u32 pmu_sig_ctrl[PMU_SIG_REGS];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Initialize gpiolib. */
|
|
||||||
orion_gpio_init();
|
|
||||||
|
|
||||||
for (i = 0; i < MPP_NR_REGS; i++)
|
for (i = 0; i < MPP_NR_REGS; i++)
|
||||||
mpp_ctrl[i] = readl(MPP_CTRL(i));
|
mpp_ctrl[i] = readl(MPP_CTRL(i));
|
||||||
|
|
||||||
|
@@ -57,6 +57,12 @@ static struct mvsdio_platform_data sheeva_esata_mvsdio_data = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct gpio_led sheevaplug_led_pins[] = {
|
static struct gpio_led sheevaplug_led_pins[] = {
|
||||||
|
{
|
||||||
|
.name = "plug:red:misc",
|
||||||
|
.default_trigger = "none",
|
||||||
|
.gpio = 46,
|
||||||
|
.active_low = 1,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = "plug:green:health",
|
.name = "plug:green:health",
|
||||||
.default_trigger = "default-on",
|
.default_trigger = "default-on",
|
||||||
@@ -80,6 +86,7 @@ static struct platform_device sheevaplug_leds = {
|
|||||||
|
|
||||||
static unsigned int sheevaplug_mpp_config[] __initdata = {
|
static unsigned int sheevaplug_mpp_config[] __initdata = {
|
||||||
MPP29_GPIO, /* USB Power Enable */
|
MPP29_GPIO, /* USB Power Enable */
|
||||||
|
MPP46_GPIO, /* LED Red */
|
||||||
MPP49_GPIO, /* LED */
|
MPP49_GPIO, /* LED */
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
@@ -402,7 +402,7 @@ static void ts78xx_fpga_supports(void)
|
|||||||
/* enable devices if magic matches */
|
/* enable devices if magic matches */
|
||||||
switch ((ts78xx_fpga.id >> 8) & 0xffffff) {
|
switch ((ts78xx_fpga.id >> 8) & 0xffffff) {
|
||||||
case TS7800_FPGA_MAGIC:
|
case TS7800_FPGA_MAGIC:
|
||||||
printk(KERN_WARNING "TS-7800 FPGA: unrecognized revision 0x%.2x\n",
|
pr_warning("TS-7800 FPGA: unrecognized revision 0x%.2x\n",
|
||||||
ts78xx_fpga.id & 0xff);
|
ts78xx_fpga.id & 0xff);
|
||||||
ts78xx_fpga.supports.ts_rtc.present = 1;
|
ts78xx_fpga.supports.ts_rtc.present = 1;
|
||||||
ts78xx_fpga.supports.ts_nand.present = 1;
|
ts78xx_fpga.supports.ts_nand.present = 1;
|
||||||
@@ -423,7 +423,7 @@ static int ts78xx_fpga_load_devices(void)
|
|||||||
if (ts78xx_fpga.supports.ts_rtc.present == 1) {
|
if (ts78xx_fpga.supports.ts_rtc.present == 1) {
|
||||||
tmp = ts78xx_ts_rtc_load();
|
tmp = ts78xx_ts_rtc_load();
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
printk(KERN_INFO "TS-78xx: RTC not registered\n");
|
pr_info("TS-78xx: RTC not registered\n");
|
||||||
ts78xx_fpga.supports.ts_rtc.present = 0;
|
ts78xx_fpga.supports.ts_rtc.present = 0;
|
||||||
}
|
}
|
||||||
ret |= tmp;
|
ret |= tmp;
|
||||||
@@ -431,7 +431,7 @@ static int ts78xx_fpga_load_devices(void)
|
|||||||
if (ts78xx_fpga.supports.ts_nand.present == 1) {
|
if (ts78xx_fpga.supports.ts_nand.present == 1) {
|
||||||
tmp = ts78xx_ts_nand_load();
|
tmp = ts78xx_ts_nand_load();
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
printk(KERN_INFO "TS-78xx: NAND not registered\n");
|
pr_info("TS-78xx: NAND not registered\n");
|
||||||
ts78xx_fpga.supports.ts_nand.present = 0;
|
ts78xx_fpga.supports.ts_nand.present = 0;
|
||||||
}
|
}
|
||||||
ret |= tmp;
|
ret |= tmp;
|
||||||
@@ -439,7 +439,7 @@ static int ts78xx_fpga_load_devices(void)
|
|||||||
if (ts78xx_fpga.supports.ts_rng.present == 1) {
|
if (ts78xx_fpga.supports.ts_rng.present == 1) {
|
||||||
tmp = ts78xx_ts_rng_load();
|
tmp = ts78xx_ts_rng_load();
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
printk(KERN_INFO "TS-78xx: RNG not registered\n");
|
pr_info("TS-78xx: RNG not registered\n");
|
||||||
ts78xx_fpga.supports.ts_rng.present = 0;
|
ts78xx_fpga.supports.ts_rng.present = 0;
|
||||||
}
|
}
|
||||||
ret |= tmp;
|
ret |= tmp;
|
||||||
@@ -466,7 +466,7 @@ static int ts78xx_fpga_load(void)
|
|||||||
{
|
{
|
||||||
ts78xx_fpga.id = readl(TS78XX_FPGA_REGS_VIRT_BASE);
|
ts78xx_fpga.id = readl(TS78XX_FPGA_REGS_VIRT_BASE);
|
||||||
|
|
||||||
printk(KERN_INFO "TS-78xx FPGA: magic=0x%.6x, rev=0x%.2x\n",
|
pr_info("TS-78xx FPGA: magic=0x%.6x, rev=0x%.2x\n",
|
||||||
(ts78xx_fpga.id >> 8) & 0xffffff,
|
(ts78xx_fpga.id >> 8) & 0xffffff,
|
||||||
ts78xx_fpga.id & 0xff);
|
ts78xx_fpga.id & 0xff);
|
||||||
|
|
||||||
@@ -494,7 +494,7 @@ static int ts78xx_fpga_unload(void)
|
|||||||
* UrJTAG SVN since r1381 can be used to reprogram the FPGA
|
* UrJTAG SVN since r1381 can be used to reprogram the FPGA
|
||||||
*/
|
*/
|
||||||
if (ts78xx_fpga.id != fpga_id) {
|
if (ts78xx_fpga.id != fpga_id) {
|
||||||
printk(KERN_ERR "TS-78xx FPGA: magic/rev mismatch\n"
|
pr_err("TS-78xx FPGA: magic/rev mismatch\n"
|
||||||
"TS-78xx FPGA: was 0x%.6x/%.2x but now 0x%.6x/%.2x\n",
|
"TS-78xx FPGA: was 0x%.6x/%.2x but now 0x%.6x/%.2x\n",
|
||||||
(ts78xx_fpga.id >> 8) & 0xffffff, ts78xx_fpga.id & 0xff,
|
(ts78xx_fpga.id >> 8) & 0xffffff, ts78xx_fpga.id & 0xff,
|
||||||
(fpga_id >> 8) & 0xffffff, fpga_id & 0xff);
|
(fpga_id >> 8) & 0xffffff, fpga_id & 0xff);
|
||||||
@@ -525,7 +525,7 @@ static ssize_t ts78xx_fpga_store(struct kobject *kobj,
|
|||||||
int value, ret;
|
int value, ret;
|
||||||
|
|
||||||
if (ts78xx_fpga.state < 0) {
|
if (ts78xx_fpga.state < 0) {
|
||||||
printk(KERN_ERR "TS-78xx FPGA: borked, you must powercycle asap\n");
|
pr_err("TS-78xx FPGA: borked, you must powercycle asap\n");
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,7 +534,7 @@ static ssize_t ts78xx_fpga_store(struct kobject *kobj,
|
|||||||
else if (strncmp(buf, "offline", sizeof("offline") - 1) == 0)
|
else if (strncmp(buf, "offline", sizeof("offline") - 1) == 0)
|
||||||
value = 0;
|
value = 0;
|
||||||
else {
|
else {
|
||||||
printk(KERN_ERR "ts78xx_fpga_store: Invalid value\n");
|
pr_err("ts78xx_fpga_store: Invalid value\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -616,7 +616,7 @@ static void __init ts78xx_init(void)
|
|||||||
ret = ts78xx_fpga_load();
|
ret = ts78xx_fpga_load();
|
||||||
ret = sysfs_create_file(power_kobj, &ts78xx_fpga_attr.attr);
|
ret = sysfs_create_file(power_kobj, &ts78xx_fpga_attr.attr);
|
||||||
if (ret)
|
if (ret)
|
||||||
printk(KERN_ERR "sysfs_create_file failed: %d\n", ret);
|
pr_err("sysfs_create_file failed: %d\n", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC")
|
MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC")
|
||||||
|
Reference in New Issue
Block a user