Skip to content

Commit a4a20fd

Browse files
committed
Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson: "Nothing very controversial in here. Most of the fixes are for OMAP this time around, with some orion/kirkwood and a tegra patch mixed in." * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: Orion: Fix Virtual/Physical mixup with watchdog ARM: Kirkwood: clk_register_gate_fn: add fn assignment ARM: Orion5x - Restore parts of io.h, with rework ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled ARM: OMAP2+: mux: fix sparse warning ARM: OMAP2+: CM: increase the module disable timeout ARM: OMAP4: clock data: add clockdomains for clocks used as main clocks ARM: OMAP4: hwmod data: fix 32k sync timer idle modes ARM: OMAP4+: hwmod: fix issue causing IPs not going back to Smart-Standby ARM: OMAP: Fix Beagleboard DVI reset gpio arm/dts: OMAP2: Fix interrupt controller binding ARM: OMAP2: Fix tusb6010 GPIO interrupt for n8x0 ARM: OMAP2+: Fix MUSB ifdefs for platform init code ARM: tegra: make tegra_cpu_reset_handler_enable() __init ARM: OMAP: PM: Lock clocks list while generating summary ARM: iconnect: Remove include of removed linux/spi/orion_spi.h
2 parents 2ecedc4 + 0fa1f06 commit a4a20fd

File tree

23 files changed

+77
-42
lines changed

23 files changed

+77
-42
lines changed

arch/arm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,7 @@ config ARCH_ORION5X
589589
select PCI
590590
select ARCH_REQUIRE_GPIOLIB
591591
select GENERIC_CLOCKEVENTS
592+
select NEED_MACH_IO_H
592593
select PLAT_ORION
593594
help
594595
Support for the following Marvell Orion 5x series SoCs:

arch/arm/boot/dts/omap2.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
compatible = "ti,omap2-intc";
4545
interrupt-controller;
4646
#interrupt-cells = <1>;
47+
ti,intc-size = <96>;
48+
reg = <0x480FE000 0x1000>;
4749
};
4850

4951
uart1: serial@4806a000 {

arch/arm/mach-kirkwood/board-iconnect.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@
2020
#include <linux/mv643xx_eth.h>
2121
#include <linux/gpio.h>
2222
#include <linux/leds.h>
23-
#include <linux/spi/flash.h>
24-
#include <linux/spi/spi.h>
25-
#include <linux/spi/orion_spi.h>
2623
#include <linux/i2c.h>
2724
#include <linux/input.h>
2825
#include <linux/gpio_keys.h>

arch/arm/mach-kirkwood/common.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ static struct clk __init *clk_register_gate_fn(struct device *dev,
159159
gate_fn->gate.flags = clk_gate_flags;
160160
gate_fn->gate.lock = lock;
161161
gate_fn->gate.hw.init = &init;
162+
gate_fn->fn = fn;
162163

163164
/* ops is the gate ops, but with our disable function */
164165
if (clk_gate_fn_ops.disable != clk_gate_fn_disable) {

arch/arm/mach-kirkwood/include/mach/bridge-regs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#define IRQ_MASK_HIGH_OFF 0x0014
3939

4040
#define TIMER_VIRT_BASE (BRIDGE_VIRT_BASE | 0x0300)
41+
#define TIMER_PHYS_BASE (BRIDGE_PHYS_BASE | 0x0300)
4142

4243
#define L2_CONFIG_REG (BRIDGE_VIRT_BASE | 0x0128)
4344
#define L2_WRITETHROUGH 0x00000010

arch/arm/mach-kirkwood/include/mach/kirkwood.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
#define UART1_VIRT_BASE (DEV_BUS_VIRT_BASE | 0x2100)
8181

8282
#define BRIDGE_VIRT_BASE (KIRKWOOD_REGS_VIRT_BASE | 0x20000)
83+
#define BRIDGE_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0x20000)
8384

8485
#define CRYPTO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0x30000)
8586

arch/arm/mach-omap2/board-n8x0.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,9 @@ static struct musb_hdrc_config musb_config = {
8383
};
8484

8585
static struct musb_hdrc_platform_data tusb_data = {
86-
#if defined(CONFIG_USB_MUSB_OTG)
86+
#ifdef CONFIG_USB_GADGET_MUSB_HDRC
8787
.mode = MUSB_OTG,
88-
#elif defined(CONFIG_USB_MUSB_PERIPHERAL)
89-
.mode = MUSB_PERIPHERAL,
90-
#else /* defined(CONFIG_USB_MUSB_HOST) */
88+
#else
9189
.mode = MUSB_HOST,
9290
#endif
9391
.set_power = tusb_set_power,

arch/arm/mach-omap2/board-omap3beagle.c

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ static u8 omap3_beagle_version;
8181
static struct {
8282
int mmc1_gpio_wp;
8383
int usb_pwr_level;
84-
int reset_gpio;
84+
int dvi_pd_gpio;
8585
int usr_button_gpio;
8686
int mmc_caps;
8787
} beagle_config = {
8888
.mmc1_gpio_wp = -EINVAL,
8989
.usb_pwr_level = GPIOF_OUT_INIT_LOW,
90-
.reset_gpio = 129,
90+
.dvi_pd_gpio = -EINVAL,
9191
.usr_button_gpio = 4,
9292
.mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
9393
};
@@ -126,21 +126,21 @@ static void __init omap3_beagle_init_rev(void)
126126
printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
127127
omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
128128
beagle_config.mmc1_gpio_wp = 29;
129-
beagle_config.reset_gpio = 170;
129+
beagle_config.dvi_pd_gpio = 170;
130130
beagle_config.usr_button_gpio = 7;
131131
break;
132132
case 6:
133133
printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
134134
omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
135135
beagle_config.mmc1_gpio_wp = 23;
136-
beagle_config.reset_gpio = 170;
136+
beagle_config.dvi_pd_gpio = 170;
137137
beagle_config.usr_button_gpio = 7;
138138
break;
139139
case 5:
140140
printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
141141
omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
142142
beagle_config.mmc1_gpio_wp = 23;
143-
beagle_config.reset_gpio = 170;
143+
beagle_config.dvi_pd_gpio = 170;
144144
beagle_config.usr_button_gpio = 7;
145145
break;
146146
case 0:
@@ -274,11 +274,9 @@ static int beagle_twl_gpio_setup(struct device *dev,
274274
if (r)
275275
pr_err("%s: unable to configure nDVI_PWR_EN\n",
276276
__func__);
277-
r = gpio_request_one(gpio + 2, GPIOF_OUT_INIT_HIGH,
278-
"DVI_LDO_EN");
279-
if (r)
280-
pr_err("%s: unable to configure DVI_LDO_EN\n",
281-
__func__);
277+
278+
beagle_config.dvi_pd_gpio = gpio + 2;
279+
282280
} else {
283281
/*
284282
* REVISIT: need ehci-omap hooks for external VBUS
@@ -287,7 +285,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
287285
if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
288286
pr_err("%s: unable to configure EHCI_nOC\n", __func__);
289287
}
290-
dvi_panel.power_down_gpio = beagle_config.reset_gpio;
288+
dvi_panel.power_down_gpio = beagle_config.dvi_pd_gpio;
291289

292290
gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
293291
"nEN_USB_PWR");
@@ -499,7 +497,7 @@ static void __init omap3_beagle_init(void)
499497
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
500498
omap3_beagle_init_rev();
501499

502-
if (beagle_config.mmc1_gpio_wp != -EINVAL)
500+
if (gpio_is_valid(beagle_config.mmc1_gpio_wp))
503501
omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
504502
mmc[0].caps = beagle_config.mmc_caps;
505503
omap_hsmmc_init(mmc);
@@ -510,15 +508,13 @@ static void __init omap3_beagle_init(void)
510508

511509
platform_add_devices(omap3_beagle_devices,
512510
ARRAY_SIZE(omap3_beagle_devices));
511+
if (gpio_is_valid(beagle_config.dvi_pd_gpio))
512+
omap_mux_init_gpio(beagle_config.dvi_pd_gpio, OMAP_PIN_OUTPUT);
513513
omap_display_init(&beagle_dss_data);
514514
omap_serial_init();
515515
omap_sdrc_init(mt46h32m32lf6_sdrc_params,
516516
mt46h32m32lf6_sdrc_params);
517517

518-
omap_mux_init_gpio(170, OMAP_PIN_INPUT);
519-
/* REVISIT leave DVI powered down until it's needed ... */
520-
gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
521-
522518
usb_musb_init(NULL);
523519
usbhs_init(&usbhs_bdata);
524520
omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,

arch/arm/mach-omap2/clock44xx_data.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ static struct clk slimbus_clk = {
8484

8585
static struct clk sys_32k_ck = {
8686
.name = "sys_32k_ck",
87+
.clkdm_name = "prm_clkdm",
8788
.rate = 32768,
8889
.ops = &clkops_null,
8990
};
@@ -512,6 +513,7 @@ static struct clk ddrphy_ck = {
512513
.name = "ddrphy_ck",
513514
.parent = &dpll_core_m2_ck,
514515
.ops = &clkops_null,
516+
.clkdm_name = "l3_emif_clkdm",
515517
.fixed_div = 2,
516518
.recalc = &omap_fixed_divisor_recalc,
517519
};
@@ -769,6 +771,7 @@ static const struct clksel dpll_mpu_m2_div[] = {
769771
static struct clk dpll_mpu_m2_ck = {
770772
.name = "dpll_mpu_m2_ck",
771773
.parent = &dpll_mpu_ck,
774+
.clkdm_name = "cm_clkdm",
772775
.clksel = dpll_mpu_m2_div,
773776
.clksel_reg = OMAP4430_CM_DIV_M2_DPLL_MPU,
774777
.clksel_mask = OMAP4430_DPLL_CLKOUT_DIV_MASK,
@@ -1149,6 +1152,7 @@ static const struct clksel l3_div_div[] = {
11491152
static struct clk l3_div_ck = {
11501153
.name = "l3_div_ck",
11511154
.parent = &div_core_ck,
1155+
.clkdm_name = "cm_clkdm",
11521156
.clksel = l3_div_div,
11531157
.clksel_reg = OMAP4430_CM_CLKSEL_CORE,
11541158
.clksel_mask = OMAP4430_CLKSEL_L3_MASK,
@@ -2824,6 +2828,7 @@ static const struct clksel trace_clk_div_div[] = {
28242828
static struct clk trace_clk_div_ck = {
28252829
.name = "trace_clk_div_ck",
28262830
.parent = &pmd_trace_clk_mux_ck,
2831+
.clkdm_name = "emu_sys_clkdm",
28272832
.clksel = trace_clk_div_div,
28282833
.clksel_reg = OMAP4430_CM_EMU_DEBUGSS_CLKCTRL,
28292834
.clksel_mask = OMAP4430_CLKSEL_PMD_TRACE_CLK_MASK,

arch/arm/mach-omap2/cm.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,15 @@
2222
*/
2323
#define MAX_MODULE_READY_TIME 2000
2424

25+
/*
26+
* MAX_MODULE_DISABLE_TIME: max duration in microseconds to wait for
27+
* the PRCM to request that a module enter the inactive state in the
28+
* case of OMAP2 & 3. In the case of OMAP4 this is the max duration
29+
* in microseconds for the module to reach the inactive state from
30+
* a functional state.
31+
* XXX FSUSB on OMAP4430 takes ~4ms to idle after reset during
32+
* kernel init.
33+
*/
34+
#define MAX_MODULE_DISABLE_TIME 5000
35+
2536
#endif

0 commit comments

Comments
 (0)