Commit be2874cb authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

These are the bug fixes that have accumulated since 3.3-rc3 in arm-soc.
The majority of them are regression fixes for stuff that broke during
the merge 3.3 window.

The notable ones are:

* The at91 ata drivers both broke because of an earlier cleanup patch that
  some other patches were based on. Jean-Christophe decided to remove
  the legacy at91_ide driver and fix the new-style at91-pata driver while
  keeping the cleanup patch. I almost rejected the patches for being too
  late and too big but in the end decided to accept them because they
  fix a regression.

* A patch fixing build breakage from the sysdev-to-device conversion
  colliding with other changes touches a number of mach-s3c files.

* b0654037 "ARM: orion: Fix Orion5x GPIO regression from MPP cleanup"
  is a mechanical change that unfortunately touches a lot of lines
  that should up in the diffstat.

* tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
  ARM: at91: drop ide driver in favor of the pata one
  pata/at91: use newly introduced SMC accessors
  ARM: at91: add accessor to manage SMC
  ARM: at91:rtc/rtc-at91sam9: ioremap register bank
  ARM: at91: USB AT91 gadget registration for module
  ep93xx: fix build of vision_ep93xx.c
  ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3
  ARM: orion: Fix USB phy for orion5x.
  ARM: orion: Fix Orion5x GPIO regression from MPP cleanup
  ARM: EXYNOS: Add cpu-offset property in gic device tree node
  ARM: EXYNOS: Bring exynos4-dt up to date
  ARM: OMAP3: cm-t35: fix section mismatch warning
  ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains
  ARM: tegra: paz00: fix wrong UART port on mini-pcie plug
  ARM: tegra: paz00: fix wrong SD1 power gpio
  i2c: tegra: Add devexit_p() for remove
  ARM: EXYNOS: Correct M-5MOLS sensor clock frequency on Universal C210 board
  ARM: EXYNOS: Correct framebuffer window size on Nuri board
  ARM: SAMSUNG: Fix missing api-change from subsys_interface change
  ARM: EXYNOS: Fix "warning: initialization from incompatible pointer type"
  ...
parents 584216b7 a5368e77
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
compatible = "arm,cortex-a9-gic"; compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
interrupt-controller; interrupt-controller;
cpu-offset = <0x8000>;
reg = <0x10490000 0x1000>, <0x10480000 0x100>; reg = <0x10490000 0x1000>, <0x10480000 0x100>;
}; };
......
...@@ -46,11 +46,11 @@ ...@@ -46,11 +46,11 @@
}; };
serial@70006200 { serial@70006200 {
status = "disable"; clock-frequency = <216000000>;
}; };
serial@70006300 { serial@70006300 {
clock-frequency = <216000000>; status = "disable";
}; };
serial@70006400 { serial@70006400 {
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
sdhci@c8000000 { sdhci@c8000000 {
cd-gpios = <&gpio 173 0>; /* gpio PV5 */ cd-gpios = <&gpio 173 0>; /* gpio PV5 */
wp-gpios = <&gpio 57 0>; /* gpio PH1 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
power-gpios = <&gpio 155 0>; /* gpio PT3 */ power-gpios = <&gpio 169 0>; /* gpio PV1 */
}; };
sdhci@c8000200 { sdhci@c8000200 {
......
...@@ -83,7 +83,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {} ...@@ -83,7 +83,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget) * USB Device (Gadget)
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
#ifdef CONFIG_USB_AT91 #if defined(CONFIG_USB_AT91) || defined(CONFIG_USB_AT91_MODULE)
static struct at91_udc_data udc_data; static struct at91_udc_data udc_data;
static struct resource udc_resources[] = { static struct resource udc_resources[] = {
......
...@@ -84,7 +84,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {} ...@@ -84,7 +84,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget) * USB Device (Gadget)
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
#ifdef CONFIG_USB_AT91 #if defined(CONFIG_USB_AT91) || defined(CONFIG_USB_AT91_MODULE)
static struct at91_udc_data udc_data; static struct at91_udc_data udc_data;
static struct resource udc_resources[] = { static struct resource udc_resources[] = {
...@@ -1215,8 +1215,7 @@ void __init at91_add_device_serial(void) {} ...@@ -1215,8 +1215,7 @@ void __init at91_add_device_serial(void) {}
* CF/IDE * CF/IDE
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
#if defined(CONFIG_BLK_DEV_IDE_AT91) || defined(CONFIG_BLK_DEV_IDE_AT91_MODULE) || \ #if defined(CONFIG_PATA_AT91) || defined(CONFIG_PATA_AT91_MODULE) || \
defined(CONFIG_PATA_AT91) || defined(CONFIG_PATA_AT91_MODULE) || \
defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE) defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE)
static struct at91_cf_data cf0_data; static struct at91_cf_data cf0_data;
...@@ -1313,10 +1312,8 @@ void __init at91_add_device_cf(struct at91_cf_data *data) ...@@ -1313,10 +1312,8 @@ void __init at91_add_device_cf(struct at91_cf_data *data)
if (data->flags & AT91_CF_TRUE_IDE) if (data->flags & AT91_CF_TRUE_IDE)
#if defined(CONFIG_PATA_AT91) || defined(CONFIG_PATA_AT91_MODULE) #if defined(CONFIG_PATA_AT91) || defined(CONFIG_PATA_AT91_MODULE)
pdev->name = "pata_at91"; pdev->name = "pata_at91";
#elif defined(CONFIG_BLK_DEV_IDE_AT91) || defined(CONFIG_BLK_DEV_IDE_AT91_MODULE)
pdev->name = "at91_ide";
#else #else
#warning "board requires AT91_CF_TRUE_IDE: enable either at91_ide or pata_at91" #warning "board requires AT91_CF_TRUE_IDE: enable pata_at91"
#endif #endif
else else
pdev->name = "at91_cf"; pdev->name = "at91_cf";
......
...@@ -87,7 +87,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {} ...@@ -87,7 +87,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget) * USB Device (Gadget)
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
#ifdef CONFIG_USB_AT91 #if defined(CONFIG_USB_AT91) || defined(CONFIG_USB_AT91_MODULE)
static struct at91_udc_data udc_data; static struct at91_udc_data udc_data;
static struct resource udc_resources[] = { static struct resource udc_resources[] = {
......
...@@ -92,7 +92,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {} ...@@ -92,7 +92,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget) * USB Device (Gadget)
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
#ifdef CONFIG_USB_AT91 #if defined(CONFIG_USB_AT91) || defined(CONFIG_USB_AT91_MODULE)
static struct at91_udc_data udc_data; static struct at91_udc_data udc_data;
static struct resource udc_resources[] = { static struct resource udc_resources[] = {
...@@ -355,8 +355,8 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} ...@@ -355,8 +355,8 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* Compact Flash (PCMCIA or IDE) * Compact Flash (PCMCIA or IDE)
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
#if defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE) || \ #if defined(CONFIG_PATA_AT91) || defined(CONFIG_PATA_AT91_MODULE) || \
defined(CONFIG_BLK_DEV_IDE_AT91) || defined(CONFIG_BLK_DEV_IDE_AT91_MODULE) defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE)
static struct at91_cf_data cf0_data; static struct at91_cf_data cf0_data;
...@@ -450,7 +450,7 @@ void __init at91_add_device_cf(struct at91_cf_data *data) ...@@ -450,7 +450,7 @@ void __init at91_add_device_cf(struct at91_cf_data *data)
at91_set_A_periph(AT91_PIN_PD9, 0); /* CFCE2 */ at91_set_A_periph(AT91_PIN_PD9, 0); /* CFCE2 */
at91_set_A_periph(AT91_PIN_PD14, 0); /* CFNRW */ at91_set_A_periph(AT91_PIN_PD14, 0); /* CFNRW */
pdev->name = (data->flags & AT91_CF_TRUE_IDE) ? "at91_ide" : "at91_cf"; pdev->name = (data->flags & AT91_CF_TRUE_IDE) ? "pata_at91" : "at91_cf";
platform_device_register(pdev); platform_device_register(pdev);
} }
#else #else
......
...@@ -18,6 +18,35 @@ ...@@ -18,6 +18,35 @@
#include <mach/cpu.h> #include <mach/cpu.h>
#ifndef __ASSEMBLY__
struct sam9_smc_config {
/* Setup register */
u8 ncs_read_setup;
u8 nrd_setup;
u8 ncs_write_setup;
u8 nwe_setup;
/* Pulse register */
u8 ncs_read_pulse;
u8 nrd_pulse;
u8 ncs_write_pulse;
u8 nwe_pulse;
/* Cycle register */
u16 read_cycle;
u16 write_cycle;
/* Mode register */
u32 mode;
u8 tdf_cycles:4;
};
extern void sam9_smc_configure(int id, int cs, struct sam9_smc_config *config);
extern void sam9_smc_read(int id, int cs, struct sam9_smc_config *config);
extern void sam9_smc_read_mode(int id, int cs, struct sam9_smc_config *config);
extern void sam9_smc_write_mode(int id, int cs, struct sam9_smc_config *config);
#endif
#define AT91_SMC_SETUP 0x00 /* Setup Register for CS n */ #define AT91_SMC_SETUP 0x00 /* Setup Register for CS n */
#define AT91_SMC_NWESETUP (0x3f << 0) /* NWE Setup Length */ #define AT91_SMC_NWESETUP (0x3f << 0) /* NWE Setup Length */
#define AT91_SMC_NWESETUP_(x) ((x) << 0) #define AT91_SMC_NWESETUP_(x) ((x) << 0)
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* linux/arch/arm/mach-at91/sam9_smc.c * linux/arch/arm/mach-at91/sam9_smc.c
* *
* Copyright (C) 2008 Andrew Victor * Copyright (C) 2008 Andrew Victor
* Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
...@@ -22,7 +23,22 @@ ...@@ -22,7 +23,22 @@
static void __iomem *smc_base_addr[2]; static void __iomem *smc_base_addr[2];
static void __init sam9_smc_cs_configure(void __iomem *base, struct sam9_smc_config* config) static void sam9_smc_cs_write_mode(void __iomem *base,
struct sam9_smc_config *config)
{
__raw_writel(config->mode
| AT91_SMC_TDF_(config->tdf_cycles),
base + AT91_SMC_MODE);
}
void sam9_smc_write_mode(int id, int cs,
struct sam9_smc_config *config)
{
sam9_smc_cs_write_mode(AT91_SMC_CS(id, cs), config);
}
static void sam9_smc_cs_configure(void __iomem *base,
struct sam9_smc_config *config)
{ {
/* Setup register */ /* Setup register */
...@@ -45,16 +61,66 @@ static void __init sam9_smc_cs_configure(void __iomem *base, struct sam9_smc_con ...@@ -45,16 +61,66 @@ static void __init sam9_smc_cs_configure(void __iomem *base, struct sam9_smc_con
base + AT91_SMC_CYCLE); base + AT91_SMC_CYCLE);
/* Mode register */ /* Mode register */
__raw_writel(config->mode sam9_smc_cs_write_mode(base, config);
| AT91_SMC_TDF_(config->tdf_cycles),
base + AT91_SMC_MODE);
} }
void __init sam9_smc_configure(int id, int cs, struct sam9_smc_config* config) void sam9_smc_configure(int id, int cs,
struct sam9_smc_config *config)
{ {
sam9_smc_cs_configure(AT91_SMC_CS(id, cs), config); sam9_smc_cs_configure(AT91_SMC_CS(id, cs), config);
} }
static void sam9_smc_cs_read_mode(void __iomem *base,
struct sam9_smc_config *config)
{
u32 val = __raw_readl(base + AT91_SMC_MODE);
config->mode = (val & ~AT91_SMC_NWECYCLE);
config->tdf_cycles = (val & AT91_SMC_NWECYCLE) >> 16 ;
}
void sam9_smc_read_mode(int id, int cs,
struct sam9_smc_config *config)
{
sam9_smc_cs_read_mode(AT91_SMC_CS(id, cs), config);
}
static void sam9_smc_cs_read(void __iomem *base,
struct sam9_smc_config *config)
{
u32 val;
/* Setup register */
val = __raw_readl(base + AT91_SMC_SETUP);
config->nwe_setup = val & AT91_SMC_NWESETUP;
config->ncs_write_setup = (val & AT91_SMC_NCS_WRSETUP) >> 8;
config->nrd_setup = (val & AT91_SMC_NRDSETUP) >> 16;
config->ncs_read_setup = (val & AT91_SMC_NCS_RDSETUP) >> 24;
/* Pulse register */
val = __raw_readl(base + AT91_SMC_PULSE);
config->nwe_setup = val & AT91_SMC_NWEPULSE;
config->ncs_write_pulse = (val & AT91_SMC_NCS_WRPULSE) >> 8;
config->nrd_pulse = (val & AT91_SMC_NRDPULSE) >> 16;
config->ncs_read_pulse = (val & AT91_SMC_NCS_RDPULSE) >> 24;
/* Cycle register */
val = __raw_readl(base + AT91_SMC_CYCLE);
config->write_cycle = val & AT91_SMC_NWECYCLE;
config->read_cycle = (val & AT91_SMC_NRDCYCLE) >> 16;
/* Mode register */
sam9_smc_cs_read_mode(base, config);
}
void sam9_smc_read(int id, int cs, struct sam9_smc_config *config)
{
sam9_smc_cs_read(AT91_SMC_CS(id, cs), config);
}
void __init at91sam9_ioremap_smc(int id, u32 addr) void __init at91sam9_ioremap_smc(int id, u32 addr)
{ {
if (id > 1) { if (id > 1) {
......
...@@ -8,27 +8,4 @@ ...@@ -8,27 +8,4 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
struct sam9_smc_config {
/* Setup register */
u8 ncs_read_setup;
u8 nrd_setup;
u8 ncs_write_setup;
u8 nwe_setup;
/* Pulse register */
u8 ncs_read_pulse;
u8 nrd_pulse;
u8 ncs_write_pulse;
u8 nwe_pulse;
/* Cycle register */
u16 read_cycle;
u16 write_cycle;
/* Mode register */
u32 mode;
u8 tdf_cycles:4;
};
extern void __init sam9_smc_configure(int id, int cs, struct sam9_smc_config* config);
extern void __init at91sam9_ioremap_smc(int id, u32 addr); extern void __init at91sam9_ioremap_smc(int id, u32 addr);
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <plat/time.h> #include <plat/time.h>
#include <plat/ehci-orion.h>
#include <plat/common.h> #include <plat/common.h>
#include <plat/addr-map.h> #include <plat/addr-map.h>
#include "common.h" #include "common.h"
...@@ -71,7 +72,7 @@ void __init dove_map_io(void) ...@@ -71,7 +72,7 @@ void __init dove_map_io(void)
****************************************************************************/ ****************************************************************************/
void __init dove_ehci0_init(void) void __init dove_ehci0_init(void)
{ {
orion_ehci_init(DOVE_USB0_PHYS_BASE, IRQ_DOVE_USB0); orion_ehci_init(DOVE_USB0_PHYS_BASE, IRQ_DOVE_USB0, EHCI_PHY_NA);
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/fb.h> #include <mach/fb.h>
#include <mach/ep93xx_spi.h> #include <mach/ep93xx_spi.h>
#include <mach/gpio-ep93xx.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
...@@ -153,7 +154,6 @@ static struct i2c_board_info vision_i2c_info[] __initdata = { ...@@ -153,7 +154,6 @@ static struct i2c_board_info vision_i2c_info[] __initdata = {
}, { }, {
I2C_BOARD_INFO("pca9539", 0x74), I2C_BOARD_INFO("pca9539", 0x74),
.platform_data = &pca953x_74_gpio_data, .platform_data = &pca953x_74_gpio_data,
.irq = gpio_to_irq(EP93XX_GPIO_LINE_F(7)),
}, { }, {
I2C_BOARD_INFO("pca9539", 0x75), I2C_BOARD_INFO("pca9539", 0x75),
.platform_data = &pca953x_75_gpio_data, .platform_data = &pca953x_75_gpio_data,
...@@ -348,6 +348,8 @@ static void __init vision_init_machine(void) ...@@ -348,6 +348,8 @@ static void __init vision_init_machine(void)
"pca9539:74")) "pca9539:74"))
pr_warn("cannot request interrupt gpio for pca9539:74\n"); pr_warn("cannot request interrupt gpio for pca9539:74\n");
vision_i2c_info[1].irq = gpio_to_irq(EP93XX_GPIO_LINE_F(7));
ep93xx_register_i2c(&vision_i2c_gpio_data, vision_i2c_info, ep93xx_register_i2c(&vision_i2c_gpio_data, vision_i2c_info,
ARRAY_SIZE(vision_i2c_info)); ARRAY_SIZE(vision_i2c_info));
ep93xx_register_spi(&vision_spi_master, vision_spi_board_info, ep93xx_register_spi(&vision_spi_master, vision_spi_board_info,
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "common.h" #include "common.h"
#ifdef CONFIG_PM_SLEEP
static struct sleep_save exynos4210_clock_save[] = { static struct sleep_save exynos4210_clock_save[] = {
SAVE_ITEM(S5P_CLKSRC_IMAGE), SAVE_ITEM(S5P_CLKSRC_IMAGE),
SAVE_ITEM(S5P_CLKSRC_LCD1), SAVE_ITEM(S5P_CLKSRC_LCD1),
...@@ -42,6 +43,7 @@ static struct sleep_save exynos4210_clock_save[] = { ...@@ -42,6 +43,7 @@ static struct sleep_save exynos4210_clock_save[] = {
SAVE_ITEM(S5P_CLKGATE_IP_LCD1), SAVE_ITEM(S5P_CLKGATE_IP_LCD1),
SAVE_ITEM(S5P_CLKGATE_IP_PERIR_4210), SAVE_ITEM(S5P_CLKGATE_IP_PERIR_4210),
}; };
#endif
static struct clksrc_clk *sysclks[] = { static struct clksrc_clk *sysclks[] = {
/* nothing here yet */ /* nothing here yet */
......
...@@ -32,12 +32,14 @@ ...@@ -32,12 +32,14 @@
#include "common.h" #include "common.h"
#ifdef CONFIG_PM_SLEEP
static struct sleep_save exynos4212_clock_save[] = { static struct sleep_save exynos4212_clock_save[] = {
SAVE_ITEM(S5P_CLKSRC_IMAGE), SAVE_ITEM(S5P_CLKSRC_IMAGE),
SAVE_ITEM(S5P_CLKDIV_IMAGE), SAVE_ITEM(S5P_CLKDIV_IMAGE),
SAVE_ITEM(S5P_CLKGATE_IP_IMAGE_4212), SAVE_ITEM(S5P_CLKGATE_IP_IMAGE_4212),
SAVE_ITEM(S5P_CLKGATE_IP_PERIR_4212), SAVE_ITEM(S5P_CLKGATE_IP_PERIR_4212),
}; };
#endif
static struct clk *clk_src_mpll_user_list[] = { static struct clk *clk_src_mpll_user_list[] = {
[0] = &clk_fin_mpll, [0] = &clk_fin_mpll,
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "common.h" #include "common.h"
#ifdef CONFIG_PM_SLEEP
static struct sleep_save exynos4_clock_save[] = { static struct sleep_save exynos4_clock_save[] = {
SAVE_ITEM(S5P_CLKDIV_LEFTBUS), SAVE_ITEM(S5P_CLKDIV_LEFTBUS),
SAVE_ITEM(S5P_CLKGATE_IP_LEFTBUS), SAVE_ITEM(S5P_CLKGATE_IP_LEFTBUS),
...@@ -93,6 +94,7 @@ static struct sleep_save exynos4_clock_save[] = { ...@@ -93,6 +94,7 @@ static struct sleep_save exynos4_clock_save[] = {
SAVE_ITEM(S5P_CLKGATE_SCLKCPU), SAVE_ITEM(S5P_CLKGATE_SCLKCPU),
SAVE_ITEM(S5P_CLKGATE_IP_CPU), SAVE_ITEM(S5P_CLKGATE_IP_CPU),
}; };
#endif
struct clk clk_sclk_hdmi27m = { struct clk clk_sclk_hdmi27m = {
.name = "sclk_hdmi27m", .name = "sclk_hdmi27m",
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <mach/map.h> #include <mach/map.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <plat/exynos4.h>
#include "common.h"
/* /*
* The following lookup table is used to override device names when devices * The following lookup table is used to override device names when devices
...@@ -60,7 +62,7 @@ static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = { ...@@ -60,7 +62,7 @@ static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = {
static void __init exynos4210_dt_map_io(void) static void __init exynos4210_dt_map_io(void)
{ {
s5p_init_io(NULL, 0, S5P_VA_CHIPID); exynos_init_io(NULL, 0);
s3c24xx_init_clocks(24000000); s3c24xx_init_clocks(24000000);
} }
...@@ -79,7 +81,9 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") ...@@ -79,7 +81,9 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
/* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */ /* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */
.init_irq = exynos4_init_irq, .init_irq = exynos4_init_irq,
.map_io = exynos4210_dt_map_io, .map_io = exynos4210_dt_map_io,
.handle_irq = gic_handle_irq,
.init_machine = exynos4210_dt_machine_init, .init_machine = exynos4210_dt_machine_init,
.timer = &exynos4_timer, .timer = &exynos4_timer,
.dt_compat = exynos4210_dt_compat, .dt_compat = exynos4210_dt_compat,
.restart = exynos4_restart,
MACHINE_END MACHINE_END
...@@ -220,14 +220,14 @@ static struct s3c_fb_pd_win nuri_fb_win0 = { ...@@ -220,14 +220,14 @@ static struct s3c_fb_pd_win nuri_fb_win0 = {
.lower_margin = 1, .lower_margin = 1,
.hsync_len = 48, .hsync_len = 48,
.vsync_len = 3, .vsync_len = 3,
.xres = 1280, .xres = 1024,
.yres = 800, .yres = 600,
.refresh = 60, .refresh = 60,
}, },
.max_bpp = 24, .max_bpp = 24,
.default_bpp = 16, .default_bpp = 16,
.virtual_x = 1280, .virtual_x = 1024,
.virtual_y = 800, .virtual_y = 2 * 600,
}; };
static struct s3c_fb_platdata nuri_fb_pdata __initdata = { static struct s3c_fb_platdata nuri_fb_pdata __initdata = {
......
...@@ -910,7 +910,7 @@ static struct s5p_fimc_isp_info universal_camera_sensors[] = { ...@@ -910,7 +910,7 @@ static struct s5p_fimc_isp_info universal_camera_sensors[] = {
.bus_type = FIMC_MIPI_CSI2, .bus_type = FIMC_MIPI_CSI2,
.board_info = &m5mols_board_info, .board_info = &m5mols_board_info,
.i2c_bus_num = 0, .i2c_bus_num = 0,
.clk_frequency = 21600000UL, .clk_frequency = 24000000UL,
.csi_data_align = 32, .csi_data_align = 32,
}, },
}; };
......
...@@ -206,7 +206,7 @@ static void exynos4_pm_prepare(void) ...@@ -206,7 +206,7 @@ static void exynos4_pm_prepare(void)
} }
static int exynos4_pm_add(struct device *dev) static int exynos4_pm_add(struct device *dev, struct subsys_interface *sif)
{ {
pm_cpu_prep = exynos4_pm_prepare; pm_cpu_prep = exynos4_pm_prepare;
pm_cpu_sleep = exynos4_cpu_suspend; pm_cpu_sleep = exynos4_cpu_suspend;
...@@ -384,7 +384,9 @@ static void exynos4_pm_resume(void) ...@@ -384,7 +384,9 @@ static void exynos4_pm_resume(void)
exynos4_restore_pll(); exynos4_restore_pll();
#ifdef CONFIG_SMP
scu_enable(S5P_VA_SCU); scu_enable(S5P_VA_SCU);
#endif
#ifdef CONFIG_CACHE_L2X0 #ifdef CONFIG_CACHE_L2X0
s3c_pm_do_restore_core(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save)); s3c_pm_do_restore_core(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save));
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <plat/cache-feroceon-l2.h> #include <plat/cache-feroceon-l2.h>
#include <plat/mvsdio.h> #include <plat/mvsdio.h>
#include <plat/orion_nand.h> #include <plat/orion_nand.h>
#include <plat/ehci-orion.h>
#include <plat/common.h> #include <plat/common.h>
#include <plat/time.h> #include <plat/time.h>
#include <plat/addr-map.h> #include <plat/addr-map.h>
...@@ -73,7 +74,7 @@ unsigned int kirkwood_clk_ctrl = CGC_DUNIT | CGC_RESERVED; ...@@ -73,7 +74,7 @@ unsigned int kirkwood_clk_ctrl = CGC_DUNIT | CGC_RESERVED;
void __init kirkwood_ehci_init(void) void __init kirkwood_ehci_init(void)
{ {
kirkwood_clk_ctrl |= CGC_USB0; kirkwood_clk_ctrl |= CGC_USB0;
orion_ehci_init(USB_PHYS_BASE, IRQ_KIRKWOOD_USB); orion_ehci_init(USB_PHYS_BASE, IRQ_KIRKWOOD_USB, EHCI_PHY_NA);
} }
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment