forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kerne…
…l/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. * b065403 "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" ...
- Loading branch information
Showing
66 changed files
with
524 additions
and
786 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
* linux/arch/arm/mach-at91/sam9_smc.c | ||
* | ||
* Copyright (C) 2008 Andrew Victor | ||
* Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <[email protected]> | ||
* | ||
* 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 | ||
|
@@ -22,7 +23,22 @@ | |
|
||
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 */ | ||
|
@@ -45,16 +61,66 @@ static void __init sam9_smc_cs_configure(void __iomem *base, struct sam9_smc_con | |
base + AT91_SMC_CYCLE); | ||
|
||
/* Mode register */ | ||
__raw_writel(config->mode | ||
| AT91_SMC_TDF_(config->tdf_cycles), | ||
base + AT91_SMC_MODE); | ||
sam9_smc_cs_write_mode(base, config); | ||
} | ||
|
||
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); | ||
} | ||
|
||
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) | ||
{ | ||
if (id > 1) { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,11 +15,13 @@ | |
#include <linux/serial_core.h> | ||
|
||
#include <asm/mach/arch.h> | ||
#include <asm/hardware/gic.h> | ||
#include <mach/map.h> | ||
|
||
#include <plat/cpu.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 | ||
|
@@ -60,7 +62,7 @@ static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = { | |
|
||
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); | ||
} | ||
|
||
|
@@ -79,7 +81,9 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") | |
/* Maintainer: Thomas Abraham <[email protected]> */ | ||
.init_irq = exynos4_init_irq, | ||
.map_io = exynos4210_dt_map_io, | ||
.handle_irq = gic_handle_irq, | ||
.init_machine = exynos4210_dt_machine_init, | ||
.timer = &exynos4_timer, | ||
.dt_compat = exynos4210_dt_compat, | ||
.restart = exynos4_restart, | ||
MACHINE_END |
Oops, something went wrong.