Skip to content

Commit

Permalink
Merge branch 'kirkwood_boards_for_v3.5' of git://git.infradead.org/us…
Browse files Browse the repository at this point in the history
…ers/jcooper/linux into next/boards

* 'kirkwood_boards_for_v3.5' of git://git.infradead.org/users/jcooper/linux:
  ARM: kirkwood: Add support for RaidSonic IB-NAS6210/6220 using devicetree
  kirkwood: Add iconnect support
  orion/kirkwood: create a generic function for gpio led blinking
  kirkwood/orion: fix orion_gpio_set_blink
  ARM: kirkwood: Define DNS-320/DNS-325 NAND in fdt
  kirkwood: Allow nand to be configured via. devicetree
  mtd: Add orion_nand devicetree bindings
  ARM: kirkwood: Basic support for DNS-320 and DNS-325

Includes an update to v3.4-rc7

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed May 15, 2012
2 parents be944f1 + f552036 commit 423b742
Show file tree
Hide file tree
Showing 142 changed files with 1,736 additions and 672 deletions.
50 changes: 50 additions & 0 deletions Documentation/devicetree/bindings/mtd/orion-nand.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
NAND support for Marvell Orion SoC platforms

Required properties:
- compatible : "mrvl,orion-nand".
- reg : Base physical address of the NAND and length of memory mapped
region

Optional properties:
- cle : Address line number connected to CLE. Default is 0
- ale : Address line number connected to ALE. Default is 1
- bank-width : Width in bytes of the device. Default is 1
- chip-delay : Chip dependent delay for transferring data from array to read
registers in usecs

The device tree may optionally contain sub-nodes describing partitions of the
address space. See partition.txt for more detail.

Example:

nand@f4000000 {
#address-cells = <1>;
#size-cells = <1>;
cle = <0>;
ale = <1>;
bank-width = <1>;
chip-delay = <25>;
compatible = "mrvl,orion-nand";
reg = <0xf4000000 0x400>;

partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};

partition@100000 {
label = "uImage";
reg = <0x0100000 0x200000>;
};

partition@300000 {
label = "dtb";
reg = <0x0300000 0x100000>;
};

partition@400000 {
label = "root";
reg = <0x0400000 0x7d00000>;
};
};
3 changes: 3 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1968,7 +1968,9 @@ S: Maintained
F: drivers/net/ethernet/ti/cpmac.c

CPU FREQUENCY DRIVERS
M: Rafael J. Wysocki <rjw@sisk.pl>
L: cpufreq@vger.kernel.org
L: linux-pm@vger.kernel.org
S: Maintained
F: drivers/cpufreq/
F: include/linux/cpufreq.h
Expand Down Expand Up @@ -4034,6 +4036,7 @@ F: Documentation/scsi/53c700.txt
F: drivers/scsi/53c700*

LED SUBSYSTEM
M: Bryan Wu <bryan.wu@canonical.com>
M: Richard Purdie <rpurdie@rpsys.net>
S: Maintained
F: drivers/leds/
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 4
SUBLEVEL = 0
EXTRAVERSION = -rc6
EXTRAVERSION = -rc7
NAME = Saber-toothed Squirrel

# *DOCUMENTATION*
Expand Down
64 changes: 64 additions & 0 deletions arch/arm/boot/dts/kirkwood-dns320.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/dts-v1/;

/include/ "kirkwood.dtsi"

/ {
model = "D-Link DNS-320 NAS (Rev A1)";
compatible = "dlink,dns-320-a1", "dlink,dns-320", "dlink,dns-kirkwood", "mrvl,kirkwood-88f6281", "mrvl,kirkwood";

memory {
device_type = "memory";
reg = <0x00000000 0x8000000>;
};

chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
};

ocp@f1000000 {
serial@12000 {
clock-frequency = <166666667>;
status = "okay";
};

serial@12100 {
clock-frequency = <166666667>;
status = "okay";
};

nand@3000000 {
status = "okay";

partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};

partition@100000 {
label = "uImage";
reg = <0x0100000 0x500000>;
};

partition@600000 {
label = "ramdisk";
reg = <0x0600000 0x500000>;
};

partition@b00000 {
label = "image";
reg = <0x0b00000 0x6600000>;
};

partition@7100000 {
label = "mini firmware";
reg = <0x7100000 0xa00000>;
};

partition@7b00000 {
label = "config";
reg = <0x7b00000 0x500000>;
};
};
};
};
59 changes: 59 additions & 0 deletions arch/arm/boot/dts/kirkwood-dns325.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/dts-v1/;

/include/ "kirkwood.dtsi"

/ {
model = "D-Link DNS-325 NAS (Rev A1)";
compatible = "dlink,dns-325-a1", "dlink,dns-325", "dlink,dns-kirkwood", "mrvl,kirkwood-88f6281", "mrvl,kirkwood";

memory {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};

chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
};

ocp@f1000000 {
serial@12000 {
clock-frequency = <200000000>;
status = "okay";
};

nand@3000000 {
status = "okay";

partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};

partition@100000 {
label = "uImage";
reg = <0x0100000 0x500000>;
};

partition@600000 {
label = "ramdisk";
reg = <0x0600000 0x500000>;
};

partition@b00000 {
label = "image";
reg = <0x0b00000 0x6600000>;
};

partition@7100000 {
label = "mini firmware";
reg = <0x7100000 0xa00000>;
};

partition@7b00000 {
label = "config";
reg = <0x7b00000 0x500000>;
};
};
};
};
44 changes: 44 additions & 0 deletions arch/arm/boot/dts/kirkwood-ib62x0.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/dts-v1/;

/include/ "kirkwood.dtsi"

/ {
model = "RaidSonic ICY BOX IB-NAS62x0 (Rev B)";
compatible = "raidsonic,ib-nas6210-b", "raidsonic,ib-nas6220-b", "raidsonic,ib-nas6210", "raidsonic,ib-nas6220", "raidsonic,ib-nas62x0", "mrvl,kirkwood-88f6281", "mrvl,kirkwood";

memory {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};

chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
};

ocp@f1000000 {
serial@12000 {
clock-frequency = <200000000>;
status = "okay";
};

nand@3000000 {
status = "okay";

partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
};

partition@100000 {
label = "uImage";
reg = <0x0100000 0x600000>;
};

partition@700000 {
label = "root";
reg = <0x0700000 0xf900000>;
};

};
};
};
26 changes: 26 additions & 0 deletions arch/arm/boot/dts/kirkwood-iconnect.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/dts-v1/;

/include/ "kirkwood.dtsi"

/ {
model = "Iomega Iconnect";
compatible = "iom,iconnect-1.1", "iom,iconnect", "mrvl,kirkwood-88f6281", "mrvl,kirkwood";

memory {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};

chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk mtdparts=orion_nand:0xc0000@0x0(uboot),0x20000@0xa0000(env),0x300000@0x100000(zImage),0x300000@0x540000(initrd),0x1f400000@0x980000(boot)";
linux,initrd-start = <0x4500040>;
linux,initrd-end = <0x4800000>;
};

ocp@f1000000 {
serial@12000 {
clock-frequency = <200000000>;
status = "ok";
};
};
};
15 changes: 14 additions & 1 deletion arch/arm/boot/dts/kirkwood.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

ocp@f1000000 {
compatible = "simple-bus";
ranges = <0 0xf1000000 0x1000000>;
ranges = <0 0xf1000000 0x4000000>;
#address-cells = <1>;
#size-cells = <1>;

Expand All @@ -32,5 +32,18 @@
reg = <0x10300 0x20>;
interrupts = <53>;
};

nand@3000000 {
#address-cells = <1>;
#size-cells = <1>;
cle = <0>;
ale = <1>;
bank-width = <1>;
compatible = "mrvl,orion-nand";
reg = <0x3000000 0x400>;
chip-delay = <25>;
/* set partition map and/or chip-delay in board dts */
status = "disabled";
};
};
};
24 changes: 9 additions & 15 deletions arch/arm/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -906,27 +906,14 @@ long arch_ptrace(struct task_struct *child, long request,
return ret;
}

#ifdef __ARMEB__
#define AUDIT_ARCH_NR AUDIT_ARCH_ARMEB
#else
#define AUDIT_ARCH_NR AUDIT_ARCH_ARM
#endif

asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)
{
unsigned long ip;

/*
* Save IP. IP is used to denote syscall entry/exit:
* IP = 0 -> entry, = 1 -> exit
*/
ip = regs->ARM_ip;
regs->ARM_ip = why;

if (!ip)
if (why)
audit_syscall_exit(regs);
else
audit_syscall_entry(AUDIT_ARCH_NR, scno, regs->ARM_r0,
audit_syscall_entry(AUDIT_ARCH_ARM, scno, regs->ARM_r0,
regs->ARM_r1, regs->ARM_r2, regs->ARM_r3);

if (!test_thread_flag(TIF_SYSCALL_TRACE))
Expand All @@ -936,6 +923,13 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)

current_thread_info()->syscall = scno;

/*
* IP is used to denote syscall entry/exit:
* IP = 0 -> entry, =1 -> exit
*/
ip = regs->ARM_ip;
regs->ARM_ip = why;

/* the 0x80 provides a way for the tracing parent to distinguish
between a syscall stop and SIGTRAP delivery */
ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,6 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
struct mm_struct *mm = &init_mm;
unsigned int cpu = smp_processor_id();

printk("CPU%u: Booted secondary processor\n", cpu);

/*
* All kernel threads share the same mm context; grab a
* reference and switch to it.
Expand All @@ -264,6 +262,8 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
enter_lazy_tlb(mm, current);
local_flush_tlb_all();

printk("CPU%u: Booted secondary processor\n", cpu);

cpu_init();
preempt_disable();
trace_hardirqs_off();
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kernel/sys_arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ int kernel_execve(const char *filename,
"Ir" (THREAD_START_SP - sizeof(regs)),
"r" (&regs),
"Ir" (sizeof(regs))
: "r0", "r1", "r2", "r3", "ip", "lr", "memory");
: "r0", "r1", "r2", "r3", "r8", "r9", "ip", "lr", "memory");

out:
return ret;
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-exynos/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,9 @@ config MACH_ARMLEX4210
config MACH_UNIVERSAL_C210
bool "Mobile UNIVERSAL_C210 Board"
select CPU_EXYNOS4210
select S5P_HRT
select CLKSRC_MMIO
select HAVE_SCHED_CLOCK
select S5P_GPIO_INT
select S5P_DEV_FIMC0
select S5P_DEV_FIMC1
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-exynos/clock-exynos5.c
Original file line number Diff line number Diff line change
Expand Up @@ -678,7 +678,7 @@ static struct clk exynos5_clk_pdma1 = {
.name = "dma",
.devname = "dma-pl330.1",
.enable = exynos5_clk_ip_fsys_ctrl,
.ctrlbit = (1 << 1),
.ctrlbit = (1 << 2),
};

static struct clk exynos5_clk_mdma1 = {
Expand Down
Loading

0 comments on commit 423b742

Please sign in to comment.