mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
ARM: SoC fixes for 3.12-rc
A small batch of fixes this week, mostly OMAP related. Nothing stands out as particularly controversial. Also a fix for a 3.12-rc1 timer regression for Exynos platforms, including the Chromebooks. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJSWs1jAAoJEIwa5zzehBx3OLEQAKQCQxbZ+LatgSK3Usk7I9s8 BXsAvzb26e1frZBQqN8V2o3Mz7sIDwOLJE9pPMgm/Q63+7+EAGR4S1ZO9fLHk7l8 vSHm/KJicTFtYZkppjnxyULN9biuhBxXJZUwqqNdrC6rmee/OiE4llKpbgPsU3k0 ZWLwFiPL6ZLgfezsOQNOP7exC48oex1aRok9glAExmryqsk2Cj6l+o8iV8T7Lpok mvdoKnCHfhYX8hB+NBlSpedvCOWMwos10+JuXC5MbpewqE7xpX8zLWuGhB3my33a EQPQGvpbi9qhcaXX/Bwe3ybnLDA6yi2GCeRA/5wb7uTxCTR/vWzLYWLDpgV0lcv1 EunPa79U2qj1mcyUNno0tRkjSCefJy7ruW53h4xRWdrBqUbGWVsZ62JKK7hNJP1V 5oIdEidFnOfXsPxiBg1o/WtjPk9DelSn9zz82l81Vqew+H9Dj684nssCJRXwUxaB X2AT+nlxSskQmhK05ZSn8qejQueV7LeUL17Xh9WNFVDsg7YYqi24npg/6gwpfkzC i+Pxvk3UseTyThOoUVGWOZy1aeyLHDQO9VccEzrRZRjWtOfpc/ubYVZpGyvgHOY0 QSaPfLZxsDPoa8bUY/qKiZP/tSSR4GqUzEB3aLYrvuXhasrR5txHbOQtIMEQR4tQ udb80OrLAt/vVl5vhDJh =HpMx -----END PGP SIGNATURE----- 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: "A small batch of fixes this week, mostly OMAP related. Nothing stands out as particularly controversial. Also a fix for a 3.12-rc1 timer regression for Exynos platforms, including the Chromebooks" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: exynos: dts: Update 5250 arch timer node with clock frequency ARM: OMAP2: RX-51: Add missing max_current to rx51_lp5523_led_config ARM: mach-omap2: board-generic: fix undefined symbol ARM: dts: Fix pinctrl mask for omap3 ARM: OMAP3: Fix hardware detection for omap3630 when booted with device tree ARM: OMAP2: gpmc-onenand: fix sync mode setup with DT
This commit is contained in:
commit
3552570a21
9 changed files with 50 additions and 12 deletions
|
@ -96,6 +96,11 @@
|
||||||
<1 14 0xf08>,
|
<1 14 0xf08>,
|
||||||
<1 11 0xf08>,
|
<1 11 0xf08>,
|
||||||
<1 10 0xf08>;
|
<1 10 0xf08>;
|
||||||
|
/* Unfortunately we need this since some versions of U-Boot
|
||||||
|
* on Exynos don't set the CNTFRQ register, so we need the
|
||||||
|
* value from DT.
|
||||||
|
*/
|
||||||
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mct@101C0000 {
|
mct@101C0000 {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "TI OMAP3 BeagleBoard xM";
|
model = "TI OMAP3 BeagleBoard xM";
|
||||||
compatible = "ti,omap3-beagle-xm", "ti,omap3-beagle", "ti,omap3";
|
compatible = "ti,omap3-beagle-xm", "ti,omap36xx", "ti,omap3";
|
||||||
|
|
||||||
cpus {
|
cpus {
|
||||||
cpu@0 {
|
cpu@0 {
|
||||||
|
|
|
@ -108,7 +108,7 @@
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
pinctrl-single,register-width = <16>;
|
pinctrl-single,register-width = <16>;
|
||||||
pinctrl-single,function-mask = <0x7f1f>;
|
pinctrl-single,function-mask = <0xff1f>;
|
||||||
};
|
};
|
||||||
|
|
||||||
omap3_pmx_wkup: pinmux@0x48002a00 {
|
omap3_pmx_wkup: pinmux@0x48002a00 {
|
||||||
|
@ -117,7 +117,7 @@
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
pinctrl-single,register-width = <16>;
|
pinctrl-single,register-width = <16>;
|
||||||
pinctrl-single,function-mask = <0x7f1f>;
|
pinctrl-single,function-mask = <0xff1f>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio1: gpio@48310000 {
|
gpio1: gpio@48310000 {
|
||||||
|
|
|
@ -129,6 +129,24 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
|
||||||
.restart = omap3xxx_restart,
|
.restart = omap3xxx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
|
static const char *omap36xx_boards_compat[] __initdata = {
|
||||||
|
"ti,omap36xx",
|
||||||
|
NULL,
|
||||||
|
};
|
||||||
|
|
||||||
|
DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)")
|
||||||
|
.reserve = omap_reserve,
|
||||||
|
.map_io = omap3_map_io,
|
||||||
|
.init_early = omap3630_init_early,
|
||||||
|
.init_irq = omap_intc_of_init,
|
||||||
|
.handle_irq = omap3_intc_handle_irq,
|
||||||
|
.init_machine = omap_generic_init,
|
||||||
|
.init_late = omap3_init_late,
|
||||||
|
.init_time = omap3_sync32k_timer_init,
|
||||||
|
.dt_compat = omap36xx_boards_compat,
|
||||||
|
.restart = omap3xxx_restart,
|
||||||
|
MACHINE_END
|
||||||
|
|
||||||
static const char *omap3_gp_boards_compat[] __initdata = {
|
static const char *omap3_gp_boards_compat[] __initdata = {
|
||||||
"ti,omap3-beagle",
|
"ti,omap3-beagle",
|
||||||
"timll,omap3-devkit8000",
|
"timll,omap3-devkit8000",
|
||||||
|
|
|
@ -167,38 +167,47 @@ static struct lp55xx_led_config rx51_lp5523_led_config[] = {
|
||||||
.name = "lp5523:kb1",
|
.name = "lp5523:kb1",
|
||||||
.chan_nr = 0,
|
.chan_nr = 0,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:kb2",
|
.name = "lp5523:kb2",
|
||||||
.chan_nr = 1,
|
.chan_nr = 1,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:kb3",
|
.name = "lp5523:kb3",
|
||||||
.chan_nr = 2,
|
.chan_nr = 2,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:kb4",
|
.name = "lp5523:kb4",
|
||||||
.chan_nr = 3,
|
.chan_nr = 3,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:b",
|
.name = "lp5523:b",
|
||||||
.chan_nr = 4,
|
.chan_nr = 4,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:g",
|
.name = "lp5523:g",
|
||||||
.chan_nr = 5,
|
.chan_nr = 5,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:r",
|
.name = "lp5523:r",
|
||||||
.chan_nr = 6,
|
.chan_nr = 6,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:kb5",
|
.name = "lp5523:kb5",
|
||||||
.chan_nr = 7,
|
.chan_nr = 7,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}, {
|
}, {
|
||||||
.name = "lp5523:kb6",
|
.name = "lp5523:kb6",
|
||||||
.chan_nr = 8,
|
.chan_nr = 8,
|
||||||
.led_current = 50,
|
.led_current = 50,
|
||||||
|
.max_current = 100,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -272,9 +272,19 @@ static int omap2_onenand_setup_async(void __iomem *onenand_base)
|
||||||
struct gpmc_timings t;
|
struct gpmc_timings t;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (gpmc_onenand_data->of_node)
|
if (gpmc_onenand_data->of_node) {
|
||||||
gpmc_read_settings_dt(gpmc_onenand_data->of_node,
|
gpmc_read_settings_dt(gpmc_onenand_data->of_node,
|
||||||
&onenand_async);
|
&onenand_async);
|
||||||
|
if (onenand_async.sync_read || onenand_async.sync_write) {
|
||||||
|
if (onenand_async.sync_write)
|
||||||
|
gpmc_onenand_data->flags |=
|
||||||
|
ONENAND_SYNC_READWRITE;
|
||||||
|
else
|
||||||
|
gpmc_onenand_data->flags |= ONENAND_SYNC_READ;
|
||||||
|
onenand_async.sync_read = false;
|
||||||
|
onenand_async.sync_write = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
omap2_onenand_set_async_mode(onenand_base);
|
omap2_onenand_set_async_mode(onenand_base);
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#define OMAP_PULL_UP (1 << 4)
|
#define OMAP_PULL_UP (1 << 4)
|
||||||
#define OMAP_ALTELECTRICALSEL (1 << 5)
|
#define OMAP_ALTELECTRICALSEL (1 << 5)
|
||||||
|
|
||||||
/* 34xx specific mux bit defines */
|
/* omap3/4/5 specific mux bit defines */
|
||||||
#define OMAP_INPUT_EN (1 << 8)
|
#define OMAP_INPUT_EN (1 << 8)
|
||||||
#define OMAP_OFF_EN (1 << 9)
|
#define OMAP_OFF_EN (1 << 9)
|
||||||
#define OMAP_OFFOUT_EN (1 << 10)
|
#define OMAP_OFFOUT_EN (1 << 10)
|
||||||
|
@ -36,8 +36,6 @@
|
||||||
#define OMAP_OFF_PULL_EN (1 << 12)
|
#define OMAP_OFF_PULL_EN (1 << 12)
|
||||||
#define OMAP_OFF_PULL_UP (1 << 13)
|
#define OMAP_OFF_PULL_UP (1 << 13)
|
||||||
#define OMAP_WAKEUP_EN (1 << 14)
|
#define OMAP_WAKEUP_EN (1 << 14)
|
||||||
|
|
||||||
/* 44xx specific mux bit defines */
|
|
||||||
#define OMAP_WAKEUP_EVENT (1 << 15)
|
#define OMAP_WAKEUP_EVENT (1 << 15)
|
||||||
|
|
||||||
/* Active pin states */
|
/* Active pin states */
|
||||||
|
|
|
@ -628,7 +628,7 @@ void __init omap4_local_timer_init(void)
|
||||||
#endif /* CONFIG_HAVE_ARM_TWD */
|
#endif /* CONFIG_HAVE_ARM_TWD */
|
||||||
#endif /* CONFIG_ARCH_OMAP4 */
|
#endif /* CONFIG_ARCH_OMAP4 */
|
||||||
|
|
||||||
#ifdef CONFIG_SOC_OMAP5
|
#if defined(CONFIG_SOC_OMAP5) || defined(CONFIG_SOC_DRA7XX)
|
||||||
void __init omap5_realtime_timer_init(void)
|
void __init omap5_realtime_timer_init(void)
|
||||||
{
|
{
|
||||||
omap4_sync32k_timer_init();
|
omap4_sync32k_timer_init();
|
||||||
|
@ -636,7 +636,7 @@ void __init omap5_realtime_timer_init(void)
|
||||||
|
|
||||||
clocksource_of_init();
|
clocksource_of_init();
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SOC_OMAP5 */
|
#endif /* CONFIG_SOC_OMAP5 || CONFIG_SOC_DRA7XX */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* omap_timer_init - build and register timer device with an
|
* omap_timer_init - build and register timer device with an
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#define PULL_UP (1 << 4)
|
#define PULL_UP (1 << 4)
|
||||||
#define ALTELECTRICALSEL (1 << 5)
|
#define ALTELECTRICALSEL (1 << 5)
|
||||||
|
|
||||||
/* 34xx specific mux bit defines */
|
/* omap3/4/5 specific mux bit defines */
|
||||||
#define INPUT_EN (1 << 8)
|
#define INPUT_EN (1 << 8)
|
||||||
#define OFF_EN (1 << 9)
|
#define OFF_EN (1 << 9)
|
||||||
#define OFFOUT_EN (1 << 10)
|
#define OFFOUT_EN (1 << 10)
|
||||||
|
@ -31,8 +31,6 @@
|
||||||
#define OFF_PULL_EN (1 << 12)
|
#define OFF_PULL_EN (1 << 12)
|
||||||
#define OFF_PULL_UP (1 << 13)
|
#define OFF_PULL_UP (1 << 13)
|
||||||
#define WAKEUP_EN (1 << 14)
|
#define WAKEUP_EN (1 << 14)
|
||||||
|
|
||||||
/* 44xx specific mux bit defines */
|
|
||||||
#define WAKEUP_EVENT (1 << 15)
|
#define WAKEUP_EVENT (1 << 15)
|
||||||
|
|
||||||
/* Active pin states */
|
/* Active pin states */
|
||||||
|
|
Loading…
Add table
Reference in a new issue