Skip to content

Commit

Permalink
Merge tag 'mvebu_fixes_for_v3.9_round2' of git://git.infradead.org/us…
Browse files Browse the repository at this point in the history
…ers/jcooper/linux into fixes

From Jason Cooper <jason@lakedaemon.net>:

mvebu fixes for v3.9 (round 2)

 - mvebu
    - interrupt fix
    - DT pinctrl definition for sdio

 - kirkwood
    - chip-delay for GoFlex Net (fix reading nand)
    - set mvsdio unused pins to invalid value for legacy boards (0 is valid)

 - orion5x
    - fix typo in gpio parameters
    - use correct irq in dtsi

* tag 'mvebu_fixes_for_v3.9_round2' of git://git.infradead.org/users/jcooper/linux:
  arm: mvebu: Fix pinctrl for Armada 370 Mirabox SDIO port.
  arm: orion5x: correct IRQ used in dtsi for mv_cesa
  arm: orion5x: fix orion5x.dtsi gpio parameters
  ARM: Kirkwood: fix unused mvsdio gpio pins
  arm: mvebu: Use local interrupt only for the timer 0
  ARM: kirkwood: Fix chip-delay for GoFlex Net

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed Mar 28, 2013
2 parents d5b1598 + 879d68a commit 76a254f
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 6 deletions.
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/armada-370-mirabox.dts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
};

mvsdio@d00d4000 {
pinctrl-0 = <&sdio_pins2>;
pinctrl-0 = <&sdio_pins3>;
pinctrl-names = "default";
status = "okay";
/*
Expand Down
6 changes: 6 additions & 0 deletions arch/arm/boot/dts/armada-370.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@
"mpp50", "mpp51", "mpp52";
marvell,function = "sd0";
};

sdio_pins3: sdio-pins3 {
marvell,pins = "mpp48", "mpp49", "mpp50",
"mpp51", "mpp52", "mpp53";
marvell,function = "sd0";
};
};

gpio0: gpio@d0018100 {
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/kirkwood-goflexnet.dts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
};

nand@3000000 {
chip-delay = <40>;
status = "okay";

partition@0 {
Expand Down
9 changes: 7 additions & 2 deletions arch/arm/boot/dts/orion5x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
compatible = "marvell,orion5x";
interrupt-parent = <&intc>;

aliases {
gpio0 = &gpio0;
};
intc: interrupt-controller {
compatible = "marvell,orion-intc", "marvell,intc";
interrupt-controller;
Expand All @@ -32,7 +35,9 @@
#gpio-cells = <2>;
gpio-controller;
reg = <0x10100 0x40>;
ngpio = <32>;
ngpios = <32>;
interrupt-controller;
#interrupt-cells = <2>;
interrupts = <6>, <7>, <8>, <9>;
};

Expand Down Expand Up @@ -91,7 +96,7 @@
reg = <0x90000 0x10000>,
<0xf2200000 0x800>;
reg-names = "regs", "sram";
interrupts = <22>;
interrupts = <28>;
status = "okay";
};
};
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-kirkwood/guruplug-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ static struct mv_sata_platform_data guruplug_sata_data = {

static struct mvsdio_platform_data guruplug_mvsdio_data = {
/* unfortunately the CD signal has not been connected */
.gpio_card_detect = -1,
.gpio_write_protect = -1,
};

static struct gpio_led guruplug_led_pins[] = {
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-kirkwood/openrd-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ static struct mv_sata_platform_data openrd_sata_data = {

static struct mvsdio_platform_data openrd_mvsdio_data = {
.gpio_card_detect = 29, /* MPP29 used as SD card detect */
.gpio_write_protect = -1,
};

static unsigned int openrd_mpp_config[] __initdata = {
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-kirkwood/rd88f6281-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ static struct mv_sata_platform_data rd88f6281_sata_data = {

static struct mvsdio_platform_data rd88f6281_mvsdio_data = {
.gpio_card_detect = 28,
.gpio_write_protect = -1,
};

static unsigned int rd88f6281_mpp_config[] __initdata = {
Expand Down
8 changes: 5 additions & 3 deletions arch/arm/mach-mvebu/irq-armada-370-xp.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@

#define ARMADA_370_XP_MAX_PER_CPU_IRQS (28)

#define ARMADA_370_XP_TIMER0_PER_CPU_IRQ (5)

#define ACTIVE_DOORBELLS (8)

static DEFINE_RAW_SPINLOCK(irq_controller_lock);
Expand All @@ -62,7 +64,7 @@ static void armada_370_xp_irq_mask(struct irq_data *d)
#ifdef CONFIG_SMP
irq_hw_number_t hwirq = irqd_to_hwirq(d);

if (hwirq > ARMADA_370_XP_MAX_PER_CPU_IRQS)
if (hwirq != ARMADA_370_XP_TIMER0_PER_CPU_IRQ)
writel(hwirq, main_int_base +
ARMADA_370_XP_INT_CLEAR_ENABLE_OFFS);
else
Expand All @@ -79,7 +81,7 @@ static void armada_370_xp_irq_unmask(struct irq_data *d)
#ifdef CONFIG_SMP
irq_hw_number_t hwirq = irqd_to_hwirq(d);

if (hwirq > ARMADA_370_XP_MAX_PER_CPU_IRQS)
if (hwirq != ARMADA_370_XP_TIMER0_PER_CPU_IRQ)
writel(hwirq, main_int_base +
ARMADA_370_XP_INT_SET_ENABLE_OFFS);
else
Expand Down Expand Up @@ -147,7 +149,7 @@ static int armada_370_xp_mpic_irq_map(struct irq_domain *h,
writel(hw, main_int_base + ARMADA_370_XP_INT_SET_ENABLE_OFFS);
irq_set_status_flags(virq, IRQ_LEVEL);

if (hw < ARMADA_370_XP_MAX_PER_CPU_IRQS) {
if (hw == ARMADA_370_XP_TIMER0_PER_CPU_IRQ) {
irq_set_percpu_devid(virq);
irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip,
handle_percpu_devid_irq);
Expand Down

0 comments on commit 76a254f

Please sign in to comment.