DT modifications for at91rm9200 and at91sam9x5 SoCs, mainly around

I2C. Also some cleanup of some unneeded properties and conflicting
 nodes.
 One more DT-only board based on at91rm9200.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRSyP1AAoJEAf03oE53VmQVr4IAJKl8rITnS3rmYYGmFo+cIGl
 HkaDM7ljf726hW2bmmcTu1zQLLsdP3EY7qOmuoUN5J8uWSV67Yujc3C0ypqgC2ve
 vwWEKuPB8N6utPTWl9eLCvTp+DTKDaq6otfcXFj432tWLWdc0DYKlkaiVfePSChn
 hLFFeuIj3XFCIxVJ+Tz14+/b1MC+jswe4TMCvGKE3d4aZ1dgWfS9YhmNjQ0hB1rP
 BW0A7RIBW366OUCzvEkKI1NZ8MzKO6ghJMeBpLHuD3I8GJGaF9NhZXi6v7SJVS9i
 IdEwXdrYY+TzpllnF9imwhvPK5d6QbcqNVV5Gie+aFwZJTYt4ufPAEIH5rd67jo=
 =n+O8
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt

From Nicolas Ferre <nicolas.ferre@atmel.com>:

DT modifications for at91rm9200 and at91sam9x5 SoCs, mainly around
I2C. Also some cleanup of some unneeded properties and conflicting
nodes.
One more DT-only board based on at91rm9200.

* tag 'at91-dt' of git://github.com/at91linux/linux-at91:
  ARM: at91/at91sam9x5cm: add 1-wire chip on CM board
  ARM: at91/at91sam9x5ek: i2c1 and i2c2 conflict with macb and lcd
  ARM: at91/dt: gpio-keys: remove address-cells and size-cells properties
  ARM: at91: add MPA 1600 DT board
  ARM: at91: add pinctrl nodes to i2c-gpio on RM92000 DT
  ARM: at91: add TWI bindings to RM9200 DT
  ARM: at91: dt: at91sam9x5: add i2c-gpio pinctrl
  ARM: at91: dt: at91sam9x5: add i2c pinctrl

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2013-03-21 17:25:13 +01:00
commit 42dd8d53ce
366 changed files with 2776 additions and 1671 deletions

View File

@ -13,9 +13,6 @@ Required parent device properties:
4 = active high level-sensitive 4 = active high level-sensitive
8 = active low level-sensitive 8 = active low level-sensitive
Optional parent device properties:
- reg : contains the PRCMU mailbox address for the AB8500 i2c port
The AB8500 consists of a large and varied group of sub-devices: The AB8500 consists of a large and varied group of sub-devices:
Device IRQ Names Supply Names Description Device IRQ Names Supply Names Description
@ -86,9 +83,8 @@ Non-standard child device properties:
- stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic - stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic
- stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580) - stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
ab8500@5 { ab8500 {
compatible = "stericsson,ab8500"; compatible = "stericsson,ab8500";
reg = <5>; /* mailbox 5 is i2c */
interrupts = <0 40 0x4>; interrupts = <0 40 0x4>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;

View File

@ -11,6 +11,9 @@ Required properties:
- "nvidia,tegra20-uart" - "nvidia,tegra20-uart"
- "nxp,lpc3220-uart" - "nxp,lpc3220-uart"
- "ibm,qpace-nwp-serial" - "ibm,qpace-nwp-serial"
- "altr,16550-FIFO32"
- "altr,16550-FIFO64"
- "altr,16550-FIFO128"
- "serial" if the port type is unknown. - "serial" if the port type is unknown.
- reg : offset and length of the register set for the device. - reg : offset and length of the register set for the device.
- interrupts : should contain uart interrupt. - interrupts : should contain uart interrupt.

View File

@ -3,10 +3,26 @@ ALPS Touchpad Protocol
Introduction Introduction
------------ ------------
Currently the ALPS touchpad driver supports five protocol versions in use by
ALPS touchpads, called versions 1, 2, 3, 4 and 5.
Currently the ALPS touchpad driver supports four protocol versions in use by Since roughly mid-2010 several new ALPS touchpads have been released and
ALPS touchpads, called versions 1, 2, 3, and 4. Information about the various integrated into a variety of laptops and netbooks. These new touchpads
protocol versions is contained in the following sections. have enough behavior differences that the alps_model_data definition
table, describing the properties of the different versions, is no longer
adequate. The design choices were to re-define the alps_model_data
table, with the risk of regression testing existing devices, or isolate
the new devices outside of the alps_model_data table. The latter design
choice was made. The new touchpad signatures are named: "Rushmore",
"Pinnacle", and "Dolphin", which you will see in the alps.c code.
For the purposes of this document, this group of ALPS touchpads will
generically be called "new ALPS touchpads".
We experimented with probing the ACPI interface _HID (Hardware ID)/_CID
(Compatibility ID) definition as a way to uniquely identify the
different ALPS variants but there did not appear to be a 1:1 mapping.
In fact, it appeared to be an m:n mapping between the _HID and actual
hardware type.
Detection Detection
--------- ---------
@ -20,9 +36,13 @@ If the E6 report is successful, the touchpad model is identified using the "E7
report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
matched against known models in the alps_model_data_array. matched against known models in the alps_model_data_array.
With protocol versions 3 and 4, the E7 report model signature is always For older touchpads supporting protocol versions 3 and 4, the E7 report
73-02-64. To differentiate between these versions, the response from the model signature is always 73-02-64. To differentiate between these
"Enter Command Mode" sequence must be inspected as described below. versions, the response from the "Enter Command Mode" sequence must be
inspected as described below.
The new ALPS touchpads have an E7 signature of 73-03-50 or 73-03-0A but
seem to be better differentiated by the EC Command Mode response.
Command Mode Command Mode
------------ ------------
@ -47,6 +67,14 @@ address of the register being read, and the third contains the value of the
register. Registers are written by writing the value one nibble at a time register. Registers are written by writing the value one nibble at a time
using the same encoding used for addresses. using the same encoding used for addresses.
For the new ALPS touchpads, the EC command is used to enter command
mode. The response in the new ALPS touchpads is significantly different,
and more important in determining the behavior. This code has been
separated from the original alps_model_data table and put in the
alps_identify function. For example, there seem to be two hardware init
sequences for the "Dolphin" touchpads as determined by the second byte
of the EC response.
Packet Format Packet Format
------------- -------------
@ -187,3 +215,28 @@ There are several things worth noting here.
well. well.
So far no v4 devices with tracksticks have been encountered. So far no v4 devices with tracksticks have been encountered.
ALPS Absolute Mode - Protocol Version 5
---------------------------------------
This is basically Protocol Version 3 but with different logic for packet
decode. It uses the same alps_process_touchpad_packet_v3 call with a
specialized decode_fields function pointer to correctly interpret the
packets. This appears to only be used by the Dolphin devices.
For single-touch, the 6-byte packet format is:
byte 0: 1 1 0 0 1 0 0 0
byte 1: 0 x6 x5 x4 x3 x2 x1 x0
byte 2: 0 y6 y5 y4 y3 y2 y1 y0
byte 3: 0 M R L 1 m r l
byte 4: y10 y9 y8 y7 x10 x9 x8 x7
byte 5: 0 z6 z5 z4 z3 z2 z1 z0
For mt, the format is:
byte 0: 1 1 1 n3 1 n2 n1 x24
byte 1: 1 y7 y6 y5 y4 y3 y2 y1
byte 2: ? x2 x1 y12 y11 y10 y9 y8
byte 3: 0 x23 x22 x21 x20 x19 x18 x17
byte 4: 0 x9 x8 x7 x6 x5 x4 x3
byte 5: 0 x16 x15 x14 x13 x12 x11 x10

View File

@ -105,6 +105,83 @@ Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
Proto [2 bytes] Proto [2 bytes]
Raw protocol(IP, IPv6, etc) frame. Raw protocol(IP, IPv6, etc) frame.
3.3 Multiqueue tuntap interface:
From version 3.8, Linux supports multiqueue tuntap which can uses multiple
file descriptors (queues) to parallelize packets sending or receiving. The
device allocation is the same as before, and if user wants to create multiple
queues, TUNSETIFF with the same device name must be called many times with
IFF_MULTI_QUEUE flag.
char *dev should be the name of the device, queues is the number of queues to
be created, fds is used to store and return the file descriptors (queues)
created to the caller. Each file descriptor were served as the interface of a
queue which could be accessed by userspace.
#include <linux/if.h>
#include <linux/if_tun.h>
int tun_alloc_mq(char *dev, int queues, int *fds)
{
struct ifreq ifr;
int fd, err, i;
if (!dev)
return -1;
memset(&ifr, 0, sizeof(ifr));
/* Flags: IFF_TUN - TUN device (no Ethernet headers)
* IFF_TAP - TAP device
*
* IFF_NO_PI - Do not provide packet information
* IFF_MULTI_QUEUE - Create a queue of multiqueue device
*/
ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_MULTI_QUEUE;
strcpy(ifr.ifr_name, dev);
for (i = 0; i < queues; i++) {
if ((fd = open("/dev/net/tun", O_RDWR)) < 0)
goto err;
err = ioctl(fd, TUNSETIFF, (void *)&ifr);
if (err) {
close(fd);
goto err;
}
fds[i] = fd;
}
return 0;
err:
for (--i; i >= 0; i--)
close(fds[i]);
return err;
}
A new ioctl(TUNSETQUEUE) were introduced to enable or disable a queue. When
calling it with IFF_DETACH_QUEUE flag, the queue were disabled. And when
calling it with IFF_ATTACH_QUEUE flag, the queue were enabled. The queue were
enabled by default after it was created through TUNSETIFF.
fd is the file descriptor (queue) that we want to enable or disable, when
enable is true we enable it, otherwise we disable it
#include <linux/if.h>
#include <linux/if_tun.h>
int tun_set_queue(int fd, int enable)
{
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
if (enable)
ifr.ifr_flags = IFF_ATTACH_QUEUE;
else
ifr.ifr_flags = IFF_DETACH_QUEUE;
return ioctl(fd, TUNSETQUEUE, (void *)&ifr);
}
Universal TUN/TAP device driver Frequently Asked Question. Universal TUN/TAP device driver Frequently Asked Question.
1. What platforms are supported by TUN/TAP driver ? 1. What platforms are supported by TUN/TAP driver ?

View File

@ -1873,7 +1873,7 @@ feature:
status\input | 0 | 1 | else | status\input | 0 | 1 | else |
--------------+------------+------------+------------+ --------------+------------+------------+------------+
not allocated |(do nothing)| alloc+swap | EINVAL | not allocated |(do nothing)| alloc+swap |(do nothing)|
--------------+------------+------------+------------+ --------------+------------+------------+------------+
allocated | free | swap | clear | allocated | free | swap | clear |
--------------+------------+------------+------------+ --------------+------------+------------+------------+

View File

@ -4005,6 +4005,22 @@ M: Stanislaw Gruszka <stf_xl@wp.pl>
S: Maintained S: Maintained
F: drivers/usb/atm/ueagle-atm.c F: drivers/usb/atm/ueagle-atm.c
INA209 HARDWARE MONITOR DRIVER
M: Guenter Roeck <linux@roeck-us.net>
L: lm-sensors@lm-sensors.org
S: Maintained
F: Documentation/hwmon/ina209
F: Documentation/devicetree/bindings/i2c/ina209.txt
F: drivers/hwmon/ina209.c
INA2XX HARDWARE MONITOR DRIVER
M: Guenter Roeck <linux@roeck-us.net>
L: lm-sensors@lm-sensors.org
S: Maintained
F: Documentation/hwmon/ina2xx
F: drivers/hwmon/ina2xx.c
F: include/linux/platform_data/ina2xx.h
INDUSTRY PACK SUBSYSTEM (IPACK) INDUSTRY PACK SUBSYSTEM (IPACK)
M: Samuel Iglesias Gonsalvez <siglesias@igalia.com> M: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
M: Jens Taprogge <jens.taprogge@taprogge.org> M: Jens Taprogge <jens.taprogge@taprogge.org>
@ -5098,6 +5114,15 @@ S: Maintained
F: Documentation/hwmon/max6650 F: Documentation/hwmon/max6650
F: drivers/hwmon/max6650.c F: drivers/hwmon/max6650.c
MAX6697 HARDWARE MONITOR DRIVER
M: Guenter Roeck <linux@roeck-us.net>
L: lm-sensors@lm-sensors.org
S: Maintained
F: Documentation/hwmon/max6697
F: Documentation/devicetree/bindings/i2c/max6697.txt
F: drivers/hwmon/max6697.c
F: include/linux/platform_data/max6697.h
MAXIRADIO FM RADIO RECEIVER DRIVER MAXIRADIO FM RADIO RECEIVER DRIVER
M: Hans Verkuil <hverkuil@xs4all.nl> M: Hans Verkuil <hverkuil@xs4all.nl>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
@ -6412,6 +6437,8 @@ F: Documentation/networking/LICENSE.qla3xxx
F: drivers/net/ethernet/qlogic/qla3xxx.* F: drivers/net/ethernet/qlogic/qla3xxx.*
QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
M: Rajesh Borundia <rajesh.borundia@qlogic.com>
M: Shahed Shaikh <shahed.shaikh@qlogic.com>
M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
M: Sony Chacko <sony.chacko@qlogic.com> M: Sony Chacko <sony.chacko@qlogic.com>
M: linux-driver@qlogic.com M: linux-driver@qlogic.com

View File

@ -1,7 +1,7 @@
VERSION = 3 VERSION = 3
PATCHLEVEL = 9 PATCHLEVEL = 9
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc2 EXTRAVERSION = -rc3
NAME = Unicycling Gorilla NAME = Unicycling Gorilla
# *DOCUMENTATION* # *DOCUMENTATION*

View File

@ -319,13 +319,6 @@ config ARCH_WANT_OLD_COMPAT_IPC
select ARCH_WANT_COMPAT_IPC_PARSE_VERSION select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
bool bool
config HAVE_VIRT_TO_BUS
bool
help
An architecture should select this if it implements the
deprecated interface virt_to_bus(). All new architectures
should probably not select this.
config HAVE_ARCH_SECCOMP_FILTER config HAVE_ARCH_SECCOMP_FILTER
bool bool
help help

View File

@ -9,7 +9,7 @@ config ALPHA
select HAVE_PERF_EVENTS select HAVE_PERF_EVENTS
select HAVE_DMA_ATTRS select HAVE_DMA_ATTRS
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select AUTO_IRQ_AFFINITY if SMP select AUTO_IRQ_AFFINITY if SMP
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW

View File

@ -49,7 +49,7 @@ config ARM
select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_SYSCALL_TRACEPOINTS select HAVE_SYSCALL_TRACEPOINTS
select HAVE_UID16 select HAVE_UID16
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select KTIME_SCALAR select KTIME_SCALAR
select PERF_USE_VMALLOC select PERF_USE_VMALLOC
select RTC_LIB select RTC_LIB
@ -556,7 +556,6 @@ config ARCH_IXP4XX
config ARCH_DOVE config ARCH_DOVE
bool "Marvell Dove" bool "Marvell Dove"
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select COMMON_CLK_DOVE
select CPU_V7 select CPU_V7
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI select MIGHT_HAVE_PCI
@ -1657,13 +1656,16 @@ config LOCAL_TIMERS
accounting to be spread across the timer interval, preventing a accounting to be spread across the timer interval, preventing a
"thundering herd" at every timer tick. "thundering herd" at every timer tick.
# The GPIO number here must be sorted by descending number. In case of
# a multiplatform kernel, we just want the highest value required by the
# selected platforms.
config ARCH_NR_GPIO config ARCH_NR_GPIO
int int
default 1024 if ARCH_SHMOBILE || ARCH_TEGRA default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
default 355 if ARCH_U8500
default 264 if MACH_H4700
default 512 if SOC_OMAP5 default 512 if SOC_OMAP5
default 355 if ARCH_U8500
default 288 if ARCH_VT8500 || ARCH_SUNXI default 288 if ARCH_VT8500 || ARCH_SUNXI
default 264 if MACH_H4700
default 0 default 0
help help
Maximum number of GPIOs in the system. Maximum number of GPIOs in the system.
@ -1887,8 +1889,9 @@ config XEN_DOM0
config XEN config XEN
bool "Xen guest support on ARM (EXPERIMENTAL)" bool "Xen guest support on ARM (EXPERIMENTAL)"
depends on ARM && OF depends on ARM && AEABI && OF
depends on CPU_V7 && !CPU_V6 depends on CPU_V7 && !CPU_V6
depends on !GENERIC_ATOMIC64
help help
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.

View File

@ -492,7 +492,7 @@ config DEBUG_IMX_UART_PORT
DEBUG_IMX31_UART || \ DEBUG_IMX31_UART || \
DEBUG_IMX35_UART || \ DEBUG_IMX35_UART || \
DEBUG_IMX51_UART || \ DEBUG_IMX51_UART || \
DEBUG_IMX50_IMX53_UART || \ DEBUG_IMX53_UART || \
DEBUG_IMX6Q_UART DEBUG_IMX6Q_UART
default 1 default 1
help help

View File

@ -115,4 +115,4 @@ i:
$(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \
$(obj)/Image System.map "$(INSTALL_PATH)" $(obj)/Image System.map "$(INSTALL_PATH)"
subdir- := bootp compressed subdir- := bootp compressed dts

View File

@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y)
# Keep at91 dtb files sorted alphabetically for each SoC # Keep at91 dtb files sorted alphabetically for each SoC
# rm9200 # rm9200
dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
# sam9260 # sam9260
dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb

View File

@ -64,5 +64,13 @@
status = "okay"; status = "okay";
/* No CD or WP GPIOs */ /* No CD or WP GPIOs */
}; };
usb@d0050000 {
status = "okay";
};
usb@d0051000 {
status = "okay";
};
}; };
}; };

View File

@ -31,7 +31,6 @@
mpic: interrupt-controller@d0020000 { mpic: interrupt-controller@d0020000 {
compatible = "marvell,mpic"; compatible = "marvell,mpic";
#interrupt-cells = <1>; #interrupt-cells = <1>;
#address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
interrupt-controller; interrupt-controller;
}; };
@ -54,7 +53,7 @@
reg = <0xd0012000 0x100>; reg = <0xd0012000 0x100>;
reg-shift = <2>; reg-shift = <2>;
interrupts = <41>; interrupts = <41>;
reg-io-width = <4>; reg-io-width = <1>;
status = "disabled"; status = "disabled";
}; };
serial@d0012100 { serial@d0012100 {
@ -62,7 +61,7 @@
reg = <0xd0012100 0x100>; reg = <0xd0012100 0x100>;
reg-shift = <2>; reg-shift = <2>;
interrupts = <42>; interrupts = <42>;
reg-io-width = <4>; reg-io-width = <1>;
status = "disabled"; status = "disabled";
}; };

View File

@ -46,7 +46,7 @@
reg = <0xd0012200 0x100>; reg = <0xd0012200 0x100>;
reg-shift = <2>; reg-shift = <2>;
interrupts = <43>; interrupts = <43>;
reg-io-width = <4>; reg-io-width = <1>;
status = "disabled"; status = "disabled";
}; };
serial@d0012300 { serial@d0012300 {
@ -54,7 +54,7 @@
reg = <0xd0012300 0x100>; reg = <0xd0012300 0x100>;
reg-shift = <2>; reg-shift = <2>;
interrupts = <44>; interrupts = <44>;
reg-io-width = <4>; reg-io-width = <1>;
status = "disabled"; status = "disabled";
}; };

View File

@ -29,6 +29,7 @@
gpio3 = &pioD; gpio3 = &pioD;
tcb0 = &tcb0; tcb0 = &tcb0;
tcb1 = &tcb1; tcb1 = &tcb1;
i2c0 = &i2c0;
ssc0 = &ssc0; ssc0 = &ssc0;
ssc1 = &ssc1; ssc1 = &ssc1;
ssc2 = &ssc2; ssc2 = &ssc2;
@ -91,6 +92,17 @@
interrupts = <20 4 0 21 4 0 22 4 0>; interrupts = <20 4 0 21 4 0 22 4 0>;
}; };
i2c0: i2c@fffb8000 {
compatible = "atmel,at91rm9200-i2c";
reg = <0xfffb8000 0x4000>;
interrupts = <12 4 6>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_twi>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
mmc0: mmc@fffb4000 { mmc0: mmc@fffb4000 {
compatible = "atmel,hsmci"; compatible = "atmel,hsmci";
reg = <0xfffb4000 0x4000>; reg = <0xfffb4000 0x4000>;
@ -365,6 +377,20 @@
}; };
}; };
twi {
pinctrl_twi: twi-0 {
atmel,pins =
<0 25 0x1 0x2 /* PA25 periph A with multi drive */
0 26 0x1 0x2>; /* PA26 periph A with multi drive */
};
pinctrl_twi_gpio: twi_gpio-0 {
atmel,pins =
<0 25 0x0 0x2 /* PA25 GPIO with multi drive */
0 26 0x0 0x2>; /* PA26 GPIO with multi drive */
};
};
pioA: gpio@fffff400 { pioA: gpio@fffff400 {
compatible = "atmel,at91rm9200-gpio"; compatible = "atmel,at91rm9200-gpio";
reg = <0xfffff400 0x200>; reg = <0xfffff400 0x200>;
@ -500,6 +526,8 @@
i2c-gpio,sda-open-drain; i2c-gpio,sda-open-drain;
i2c-gpio,scl-open-drain; i2c-gpio,scl-open-drain;
i2c-gpio,delay-us = <2>; /* ~100 kHz */ i2c-gpio,delay-us = <2>; /* ~100 kHz */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_twi_gpio>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabled"; status = "disabled";

View File

@ -155,8 +155,6 @@
gpio_keys { gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
left_click { left_click {
label = "left_click"; label = "left_click";

View File

@ -167,8 +167,6 @@
gpio_keys { gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
btn3 { btn3 {
label = "Button 3"; label = "Button 3";

View File

@ -162,8 +162,6 @@
gpio_keys { gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
left_click { left_click {
label = "left_click"; label = "left_click";

View File

@ -104,8 +104,6 @@
gpio_keys { gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
enter { enter {
label = "Enter"; label = "Enter";

View File

@ -319,6 +319,54 @@
}; };
}; };
i2c0 {
pinctrl_i2c0: i2c0-0 {
atmel,pins =
<0 30 0x1 0x0 /* PA30 periph A I2C0 data */
0 31 0x1 0x0>; /* PA31 periph A I2C0 clock */
};
};
i2c1 {
pinctrl_i2c1: i2c1-0 {
atmel,pins =
<2 0 0x3 0x0 /* PC0 periph C I2C1 data */
2 1 0x3 0x0>; /* PC1 periph C I2C1 clock */
};
};
i2c2 {
pinctrl_i2c2: i2c2-0 {
atmel,pins =
<1 4 0x2 0x0 /* PB4 periph B I2C2 data */
1 5 0x2 0x0>; /* PB5 periph B I2C2 clock */
};
};
i2c_gpio0 {
pinctrl_i2c_gpio0: i2c_gpio0-0 {
atmel,pins =
<0 30 0x0 0x2 /* PA30 gpio multidrive I2C0 data */
0 31 0x0 0x2>; /* PA31 gpio multidrive I2C0 clock */
};
};
i2c_gpio1 {
pinctrl_i2c_gpio1: i2c_gpio1-0 {
atmel,pins =
<2 0 0x0 0x2 /* PC0 gpio multidrive I2C1 data */
2 1 0x0 0x2>; /* PC1 gpio multidrive I2C1 clock */
};
};
i2c_gpio2 {
pinctrl_i2c_gpio2: i2c_gpio2-0 {
atmel,pins =
<1 4 0x0 0x2 /* PB4 gpio multidrive I2C2 data */
1 5 0x0 0x2>; /* PB5 gpio multidrive I2C2 clock */
};
};
pioA: gpio@fffff400 { pioA: gpio@fffff400 {
compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
reg = <0xfffff400 0x200>; reg = <0xfffff400 0x200>;
@ -447,6 +495,8 @@
interrupts = <9 4 6>; interrupts = <9 4 6>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c0>;
status = "disabled"; status = "disabled";
}; };
@ -456,6 +506,8 @@
interrupts = <10 4 6>; interrupts = <10 4 6>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "disabled"; status = "disabled";
}; };
@ -465,6 +517,8 @@
interrupts = <11 4 6>; interrupts = <11 4 6>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "disabled"; status = "disabled";
}; };
@ -553,6 +607,8 @@
i2c-gpio,delay-us = <2>; /* ~100 kHz */ i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c_gpio0>;
status = "disabled"; status = "disabled";
}; };
@ -566,6 +622,8 @@
i2c-gpio,delay-us = <2>; /* ~100 kHz */ i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c_gpio1>;
status = "disabled"; status = "disabled";
}; };
@ -579,6 +637,8 @@
i2c-gpio,delay-us = <2>; /* ~100 kHz */ i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c_gpio2>;
status = "disabled"; status = "disabled";
}; };
}; };

View File

@ -24,6 +24,16 @@
}; };
ahb { ahb {
apb {
pinctrl@fffff400 {
1wire_cm {
pinctrl_1wire_cm: 1wire_cm-0 {
atmel,pins = <1 18 0x0 0x2>; /* PB18 multidrive, conflicts with led */
};
};
};
};
nand0: nand@40000000 { nand0: nand@40000000 {
nand-bus-width = <8>; nand-bus-width = <8>;
nand-ecc-mode = "hw"; nand-ecc-mode = "hw";
@ -74,4 +84,14 @@
gpios = <&pioD 21 0>; gpios = <&pioD 21 0>;
}; };
}; };
1wire_cm {
compatible = "w1-gpio";
gpios = <&pioB 18 0>;
linux,open-drain;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_1wire_cm>;
status = "okay";
};
}; };

View File

@ -61,14 +61,6 @@
status = "okay"; status = "okay";
}; };
i2c1: i2c@f8014000 {
status = "okay";
};
i2c2: i2c@f8018000 {
status = "okay";
};
pinctrl@fffff400 { pinctrl@fffff400 {
mmc0 { mmc0 {
pinctrl_board_mmc0: mmc0-board { pinctrl_board_mmc0: mmc0-board {

View File

@ -105,7 +105,7 @@
compatible = "fixed-clock"; compatible = "fixed-clock";
reg = <1>; reg = <1>;
#clock-cells = <0>; #clock-cells = <0>;
clock-frequency = <150000000>; clock-frequency = <250000000>;
}; };
}; };
}; };

View File

@ -319,9 +319,8 @@
}; };
}; };
ab8500@5 { ab8500 {
compatible = "stericsson,ab8500"; compatible = "stericsson,ab8500";
reg = <5>; /* mailbox 5 is i2c */
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <0 40 0x4>; interrupts = <0 40 0x4>;
interrupt-controller; interrupt-controller;

View File

@ -202,6 +202,11 @@
status = "disabled"; status = "disabled";
}; };
rtc@d8500 {
compatible = "marvell,orion-rtc";
reg = <0xd8500 0x20>;
};
crypto: crypto@30000 { crypto: crypto@30000 {
compatible = "marvell,orion-crypto"; compatible = "marvell,orion-crypto";
reg = <0x30000 0x10000>, reg = <0x30000 0x10000>,

View File

@ -221,7 +221,7 @@
}; };
}; };
ab8500@5 { ab8500 {
ab8500-regulators { ab8500-regulators {
ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
regulator-name = "V-DISPLAY"; regulator-name = "V-DISPLAY";

View File

@ -158,7 +158,7 @@
}; };
}; };
ab8500@5 { ab8500 {
ab8500-regulators { ab8500-regulators {
ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
regulator-name = "V-DISPLAY"; regulator-name = "V-DISPLAY";

View File

@ -42,10 +42,9 @@
fsl,pins = <689 0x10000 /* DISP1_DRDY */ fsl,pins = <689 0x10000 /* DISP1_DRDY */
482 0x10000 /* DISP1_HSYNC */ 482 0x10000 /* DISP1_HSYNC */
489 0x10000 /* DISP1_VSYNC */ 489 0x10000 /* DISP1_VSYNC */
684 0x10000 /* DISP1_DAT_0 */
515 0x10000 /* DISP1_DAT_22 */ 515 0x10000 /* DISP1_DAT_22 */
523 0x10000 /* DISP1_DAT_23 */ 523 0x10000 /* DISP1_DAT_23 */
543 0x10000 /* DISP1_DAT_21 */ 545 0x10000 /* DISP1_DAT_21 */
553 0x10000 /* DISP1_DAT_20 */ 553 0x10000 /* DISP1_DAT_20 */
558 0x10000 /* DISP1_DAT_19 */ 558 0x10000 /* DISP1_DAT_19 */
564 0x10000 /* DISP1_DAT_18 */ 564 0x10000 /* DISP1_DAT_18 */

View File

@ -42,12 +42,10 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
serial@12100 { serial@12100 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
}; };

View File

@ -50,7 +50,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "okay"; status = "okay";
}; };
}; };

View File

@ -37,7 +37,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -38,7 +38,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -73,7 +73,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -51,7 +51,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "okay"; status = "okay";
}; };

View File

@ -78,7 +78,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -115,7 +115,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -34,7 +34,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -13,7 +13,6 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
}; };

View File

@ -13,7 +13,6 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "okay"; status = "okay";
}; };
}; };

View File

@ -90,7 +90,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -23,7 +23,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };

View File

@ -117,7 +117,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -18,12 +18,10 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
serial@12100 { serial@12100 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -108,7 +108,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };

View File

@ -38,6 +38,7 @@
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
interrupts = <35>, <36>, <37>, <38>; interrupts = <35>, <36>, <37>, <38>;
clocks = <&gate_clk 7>;
}; };
gpio1: gpio@10140 { gpio1: gpio@10140 {
@ -49,6 +50,7 @@
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
interrupts = <39>, <40>, <41>; interrupts = <39>, <40>, <41>;
clocks = <&gate_clk 7>;
}; };
serial@12000 { serial@12000 {
@ -57,7 +59,6 @@
reg-shift = <2>; reg-shift = <2>;
interrupts = <33>; interrupts = <33>;
clocks = <&gate_clk 7>; clocks = <&gate_clk 7>;
/* set clock-frequency in board dts */
status = "disabled"; status = "disabled";
}; };
@ -67,7 +68,6 @@
reg-shift = <2>; reg-shift = <2>;
interrupts = <34>; interrupts = <34>;
clocks = <&gate_clk 7>; clocks = <&gate_clk 7>;
/* set clock-frequency in board dts */
status = "disabled"; status = "disabled";
}; };
@ -75,6 +75,7 @@
compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc"; compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
reg = <0x10300 0x20>; reg = <0x10300 0x20>;
interrupts = <53>; interrupts = <53>;
clocks = <&gate_clk 7>;
}; };
spi@10600 { spi@10600 {

View File

@ -0,0 +1,69 @@
/*
* mpa1600.dts - Device Tree file for Phontech MPA 1600
*
* Copyright (C) 2013 Joachim Eastwood <manabian@gmail.com>
*
* Licensed under GPLv2 only
*/
/dts-v1/;
/include/ "at91rm9200.dtsi"
/ {
model = "Phontech MPA 1600";
compatible = "phontech,mpa1600", "atmel,at91rm9200";
memory {
reg = <0x20000000 0x4000000>;
};
clocks {
#address-cells = <1>;
#size-cells = <1>;
ranges;
main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock";
clock-frequency = <18432000>;
};
};
ahb {
apb {
dbgu: serial@fffff200 {
status = "okay";
};
macb0: ethernet@fffbc000 {
phy-mode = "rmii";
status = "okay";
};
ssc0: ssc@fffd0000 {
status = "okay";
};
ssc1: ssc@fffd4000 {
status = "okay";
};
};
usb0: ohci@00300000 {
num-ports = <1>;
status = "okay";
};
};
i2c@0 {
status = "okay";
};
gpio_keys {
compatible = "gpio-keys";
monitor_mute {
label = "Monitor mute";
gpios = <&pioC 1 1>;
linux,code = <113>;
};
};
};

View File

@ -11,7 +11,7 @@
/ { / {
model = "LaCie Ethernet Disk mini V2"; model = "LaCie Ethernet Disk mini V2";
compatible = "lacie,ethernet-disk-mini-v2", "marvell-orion5x-88f5182", "marvell,orion5x"; compatible = "lacie,ethernet-disk-mini-v2", "marvell,orion5x-88f5182", "marvell,orion5x";
memory { memory {
reg = <0x00000000 0x4000000>; /* 64 MB */ reg = <0x00000000 0x4000000>; /* 64 MB */

View File

@ -298,7 +298,7 @@
}; };
}; };
ab8500@5 { ab8500 {
ab8500-regulators { ab8500-regulators {
ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
regulator-name = "V-DISPLAY"; regulator-name = "V-DISPLAY";

View File

@ -75,6 +75,9 @@
compatible = "arm,pl330", "arm,primecell"; compatible = "arm,pl330", "arm,primecell";
reg = <0xffe01000 0x1000>; reg = <0xffe01000 0x1000>;
interrupts = <0 180 4>; interrupts = <0 180 4>;
#dma-cells = <1>;
#dma-channels = <8>;
#dma-requests = <32>;
}; };
}; };

View File

@ -118,6 +118,7 @@
compatible = "arm,cortex-a9-twd-timer"; compatible = "arm,cortex-a9-twd-timer";
reg = <0x50040600 0x20>; reg = <0x50040600 0x20>;
interrupts = <1 13 0x304>; interrupts = <1 13 0x304>;
clocks = <&tegra_car 132>;
}; };
intc: interrupt-controller { intc: interrupt-controller {

View File

@ -119,6 +119,7 @@
compatible = "arm,cortex-a9-twd-timer"; compatible = "arm,cortex-a9-twd-timer";
reg = <0x50040600 0x20>; reg = <0x50040600 0x20>;
interrupts = <1 13 0xf04>; interrupts = <1 13 0xf04>;
clocks = <&tegra_car 214>;
}; };
intc: interrupt-controller { intc: interrupt-controller {

View File

@ -116,6 +116,7 @@ CONFIG_SND_SOC=y
CONFIG_SND_MXS_SOC=y CONFIG_SND_MXS_SOC=y
CONFIG_SND_SOC_MXS_SGTL5000=y CONFIG_SND_SOC_MXS_SGTL5000=y
CONFIG_USB=y CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_CHIPIDEA=y CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y

View File

@ -126,6 +126,8 @@ CONFIG_INPUT_MISC=y
CONFIG_INPUT_TWL4030_PWRBUTTON=y CONFIG_INPUT_TWL4030_PWRBUTTON=y
CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_MANY_PORTS=y

View File

@ -2,6 +2,7 @@
#define _ASM_ARM_XEN_EVENTS_H #define _ASM_ARM_XEN_EVENTS_H
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/atomic.h>
enum ipi_vector { enum ipi_vector {
XEN_PLACEHOLDER_VECTOR, XEN_PLACEHOLDER_VECTOR,
@ -15,26 +16,8 @@ static inline int xen_irqs_disabled(struct pt_regs *regs)
return raw_irqs_disabled_flags(regs->ARM_cpsr); return raw_irqs_disabled_flags(regs->ARM_cpsr);
} }
/* #define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((ptr), \
* We cannot use xchg because it does not support 8-byte atomic64_t, \
* values. However it is safe to use {ldr,dtd}exd directly because all counter), (val))
* platforms which Xen can run on support those instructions.
*/
static inline xen_ulong_t xchg_xen_ulong(xen_ulong_t *ptr, xen_ulong_t val)
{
xen_ulong_t oldval;
unsigned int tmp;
wmb();
asm volatile("@ xchg_xen_ulong\n"
"1: ldrexd %0, %H0, [%3]\n"
" strexd %1, %2, %H2, [%3]\n"
" teq %1, #0\n"
" bne 1b"
: "=&r" (oldval), "=&r" (tmp)
: "r" (val), "r" (ptr)
: "memory", "cc");
return oldval;
}
#endif /* _ASM_ARM_XEN_EVENTS_H */ #endif /* _ASM_ARM_XEN_EVENTS_H */

View File

@ -212,6 +212,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
CLKDEV_CON_DEV_ID("t2_clk", "fffa4000.timer", &tc5_clk), CLKDEV_CON_DEV_ID("t2_clk", "fffa4000.timer", &tc5_clk),
CLKDEV_CON_DEV_ID("mci_clk", "fffb4000.mmc", &mmc_clk), CLKDEV_CON_DEV_ID("mci_clk", "fffb4000.mmc", &mmc_clk),
CLKDEV_CON_DEV_ID("emac_clk", "fffbc000.ethernet", &ether_clk), CLKDEV_CON_DEV_ID("emac_clk", "fffbc000.ethernet", &ether_clk),
CLKDEV_CON_DEV_ID(NULL, "fffb8000.i2c", &twi_clk),
CLKDEV_CON_DEV_ID("hclk", "300000.ohci", &ohci_clk), CLKDEV_CON_DEV_ID("hclk", "300000.ohci", &ohci_clk),
CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk), CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk),
CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk), CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk),

View File

@ -176,6 +176,7 @@ static struct w1_gpio_platform_data w1_gpio_pdata = {
/* If you choose to use a pin other than PB16 it needs to be 3.3V */ /* If you choose to use a pin other than PB16 it needs to be 3.3V */
.pin = AT91_PIN_PB16, .pin = AT91_PIN_PB16,
.is_open_drain = 1, .is_open_drain = 1,
.ext_pullup_enable_pin = -EINVAL,
}; };
static struct platform_device w1_device = { static struct platform_device w1_device = {

View File

@ -188,6 +188,7 @@ static struct spi_board_info portuxg20_spi_devices[] = {
static struct w1_gpio_platform_data w1_gpio_pdata = { static struct w1_gpio_platform_data w1_gpio_pdata = {
.pin = AT91_PIN_PA29, .pin = AT91_PIN_PA29,
.is_open_drain = 1, .is_open_drain = 1,
.ext_pullup_enable_pin = -EINVAL,
}; };
static struct platform_device w1_device = { static struct platform_device w1_device = {

View File

@ -172,7 +172,7 @@ static struct clk *clk[clk_max];
static struct clk_onecell_data clk_data; static struct clk_onecell_data clk_data;
static enum mx6q_clks const clks_init_on[] __initconst = { static enum mx6q_clks const clks_init_on[] __initconst = {
mmdc_ch0_axi, rom, mmdc_ch0_axi, rom, pll1_sys,
}; };
static struct clk_div_table clk_enet_ref_table[] = { static struct clk_div_table clk_enet_ref_table[] = {

View File

@ -26,16 +26,16 @@ ENDPROC(v7_secondary_startup)
#ifdef CONFIG_PM #ifdef CONFIG_PM
/* /*
* The following code is located into the .data section. This is to * The following code must assume it is running from physical address
* allow phys_l2x0_saved_regs to be accessed with a relative load * where absolute virtual addresses to the data section have to be
* as we are running on physical address here. * turned into relative ones.
*/ */
.data
.align
#ifdef CONFIG_CACHE_L2X0 #ifdef CONFIG_CACHE_L2X0
.macro pl310_resume .macro pl310_resume
ldr r2, phys_l2x0_saved_regs adr r0, l2x0_saved_regs_offset
ldr r2, [r0]
add r2, r2, r0
ldr r0, [r2, #L2X0_R_PHY_BASE] @ get physical base of l2x0 ldr r0, [r2, #L2X0_R_PHY_BASE] @ get physical base of l2x0
ldr r1, [r2, #L2X0_R_AUX_CTRL] @ get aux_ctrl value ldr r1, [r2, #L2X0_R_AUX_CTRL] @ get aux_ctrl value
str r1, [r0, #L2X0_AUX_CTRL] @ restore aux_ctrl str r1, [r0, #L2X0_AUX_CTRL] @ restore aux_ctrl
@ -43,9 +43,9 @@ ENDPROC(v7_secondary_startup)
str r1, [r0, #L2X0_CTRL] @ re-enable L2 str r1, [r0, #L2X0_CTRL] @ re-enable L2
.endm .endm
.globl phys_l2x0_saved_regs l2x0_saved_regs_offset:
phys_l2x0_saved_regs: .word l2x0_saved_regs - .
.long 0
#else #else
.macro pl310_resume .macro pl310_resume
.endm .endm

View File

@ -22,8 +22,6 @@
#include "common.h" #include "common.h"
#include "hardware.h" #include "hardware.h"
extern unsigned long phys_l2x0_saved_regs;
static int imx6q_suspend_finish(unsigned long val) static int imx6q_suspend_finish(unsigned long val)
{ {
cpu_do_idle(); cpu_do_idle();
@ -57,18 +55,5 @@ static const struct platform_suspend_ops imx6q_pm_ops = {
void __init imx6q_pm_init(void) void __init imx6q_pm_init(void)
{ {
/*
* The l2x0 core code provides an infrastucture to save and restore
* l2x0 registers across suspend/resume cycle. But because imx6q
* retains L2 content during suspend and needs to resume L2 before
* MMU is enabled, it can only utilize register saving support and
* have to take care of restoring on its own. So we save physical
* address of the data structure used by l2x0 core to save registers,
* and later restore the necessary ones in imx6q resume entry.
*/
#ifdef CONFIG_CACHE_L2X0
phys_l2x0_saved_regs = __pa(&l2x0_saved_regs);
#endif
suspend_set_ops(&imx6q_pm_ops); suspend_set_ops(&imx6q_pm_ops);
} }

View File

@ -163,6 +163,7 @@ static struct platform_device vulcan_max6369 = {
static struct w1_gpio_platform_data vulcan_w1_gpio_pdata = { static struct w1_gpio_platform_data vulcan_w1_gpio_pdata = {
.pin = 14, .pin = 14,
.ext_pullup_enable_pin = -EINVAL,
}; };
static struct platform_device vulcan_w1_gpio = { static struct platform_device vulcan_w1_gpio = {

View File

@ -41,16 +41,12 @@ static void __init kirkwood_legacy_clk_init(void)
struct device_node *np = of_find_compatible_node( struct device_node *np = of_find_compatible_node(
NULL, NULL, "marvell,kirkwood-gating-clock"); NULL, NULL, "marvell,kirkwood-gating-clock");
struct of_phandle_args clkspec; struct of_phandle_args clkspec;
struct clk *clk;
clkspec.np = np; clkspec.np = np;
clkspec.args_count = 1; clkspec.args_count = 1;
clkspec.args[0] = CGC_BIT_GE0;
orion_clkdev_add(NULL, "mv643xx_eth_port.0",
of_clk_get_from_provider(&clkspec));
clkspec.args[0] = CGC_BIT_PEX0; clkspec.args[0] = CGC_BIT_PEX0;
orion_clkdev_add("0", "pcie", orion_clkdev_add("0", "pcie",
of_clk_get_from_provider(&clkspec)); of_clk_get_from_provider(&clkspec));
@ -59,9 +55,24 @@ static void __init kirkwood_legacy_clk_init(void)
orion_clkdev_add("1", "pcie", orion_clkdev_add("1", "pcie",
of_clk_get_from_provider(&clkspec)); of_clk_get_from_provider(&clkspec));
clkspec.args[0] = CGC_BIT_GE1; clkspec.args[0] = CGC_BIT_SDIO;
orion_clkdev_add(NULL, "mv643xx_eth_port.1", orion_clkdev_add(NULL, "mvsdio",
of_clk_get_from_provider(&clkspec)); of_clk_get_from_provider(&clkspec));
/*
* The ethernet interfaces forget the MAC address assigned by
* u-boot if the clocks are turned off. Until proper DT support
* is available we always enable them for now.
*/
clkspec.args[0] = CGC_BIT_GE0;
clk = of_clk_get_from_provider(&clkspec);
orion_clkdev_add(NULL, "mv643xx_eth_port.0", clk);
clk_prepare_enable(clk);
clkspec.args[0] = CGC_BIT_GE1;
clk = of_clk_get_from_provider(&clkspec);
orion_clkdev_add(NULL, "mv643xx_eth_port.1", clk);
clk_prepare_enable(clk);
} }
static void __init kirkwood_of_clk_init(void) static void __init kirkwood_of_clk_init(void)

View File

@ -100,7 +100,7 @@ static struct irq_domain_ops icoll_irq_domain_ops = {
.xlate = irq_domain_xlate_onecell, .xlate = irq_domain_xlate_onecell,
}; };
void __init icoll_of_init(struct device_node *np, static void __init icoll_of_init(struct device_node *np,
struct device_node *interrupt_parent) struct device_node *interrupt_parent)
{ {
/* /*

View File

@ -402,17 +402,17 @@ static void __init cfa10049_init(void)
{ {
enable_clk_enet_out(); enable_clk_enet_out();
update_fec_mac_prop(OUI_CRYSTALFONTZ); update_fec_mac_prop(OUI_CRYSTALFONTZ);
mxsfb_pdata.mode_list = cfa10049_video_modes;
mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes);
mxsfb_pdata.default_bpp = 32;
mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT;
} }
static void __init cfa10037_init(void) static void __init cfa10037_init(void)
{ {
enable_clk_enet_out(); enable_clk_enet_out();
update_fec_mac_prop(OUI_CRYSTALFONTZ); update_fec_mac_prop(OUI_CRYSTALFONTZ);
mxsfb_pdata.mode_list = cfa10049_video_modes;
mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes);
mxsfb_pdata.default_bpp = 32;
mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT;
} }
static void __init apf28_init(void) static void __init apf28_init(void)

View File

@ -18,6 +18,7 @@
#include <mach/mx23.h> #include <mach/mx23.h>
#include <mach/mx28.h> #include <mach/mx28.h>
#include <mach/common.h>
/* /*
* Define the MX23 memory map. * Define the MX23 memory map.

View File

@ -19,6 +19,7 @@
#include <asm/processor.h> /* for cpu_relax() */ #include <asm/processor.h> /* for cpu_relax() */
#include <mach/mxs.h> #include <mach/mxs.h>
#include <mach/common.h>
#define OCOTP_WORD_OFFSET 0x20 #define OCOTP_WORD_OFFSET 0x20
#define OCOTP_WORD_COUNT 0x20 #define OCOTP_WORD_COUNT 0x20

View File

@ -31,6 +31,8 @@
#include <plat/i2c.h> #include <plat/i2c.h>
#include <mach/irqs.h>
#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
void omap7xx_map_io(void); void omap7xx_map_io(void);
#else #else

View File

@ -311,9 +311,6 @@ config MACH_OMAP_ZOOM2
default y default y
select OMAP_PACKAGE_CBB select OMAP_PACKAGE_CBB
select REGULATOR_FIXED_VOLTAGE if REGULATOR select REGULATOR_FIXED_VOLTAGE if REGULATOR
select SERIAL_8250
select SERIAL_8250_CONSOLE
select SERIAL_CORE_CONSOLE
config MACH_OMAP_ZOOM3 config MACH_OMAP_ZOOM3
bool "OMAP3630 Zoom3 board" bool "OMAP3630 Zoom3 board"
@ -321,9 +318,6 @@ config MACH_OMAP_ZOOM3
default y default y
select OMAP_PACKAGE_CBP select OMAP_PACKAGE_CBP
select REGULATOR_FIXED_VOLTAGE if REGULATOR select REGULATOR_FIXED_VOLTAGE if REGULATOR
select SERIAL_8250
select SERIAL_8250_CONSOLE
select SERIAL_CORE_CONSOLE
config MACH_CM_T35 config MACH_CM_T35
bool "CompuLab CM-T35/CM-T3730 modules" bool "CompuLab CM-T35/CM-T3730 modules"

View File

@ -102,6 +102,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
.init_irq = omap_intc_of_init, .init_irq = omap_intc_of_init,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_generic_init, .init_machine = omap_generic_init,
.init_late = omap3_init_late,
.init_time = omap3_sync32k_timer_init, .init_time = omap3_sync32k_timer_init,
.dt_compat = omap3_boards_compat, .dt_compat = omap3_boards_compat,
.restart = omap3xxx_restart, .restart = omap3xxx_restart,
@ -119,6 +120,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)")
.init_irq = omap_intc_of_init, .init_irq = omap_intc_of_init,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_generic_init, .init_machine = omap_generic_init,
.init_late = omap3_init_late,
.init_time = omap3_secure_sync32k_timer_init, .init_time = omap3_secure_sync32k_timer_init,
.dt_compat = omap3_gp_boards_compat, .dt_compat = omap3_gp_boards_compat,
.restart = omap3xxx_restart, .restart = omap3xxx_restart,

View File

@ -17,6 +17,7 @@
#include <linux/io.h> #include <linux/io.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/usb/phy.h>
#include <linux/usb/musb.h> #include <linux/usb/musb.h>
#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/spi-omap2-mcspi.h>
@ -98,6 +99,7 @@ static void __init rx51_init(void)
sdrc_params = nokia_get_sdram_timings(); sdrc_params = nokia_get_sdram_timings();
omap_sdrc_init(sdrc_params, sdrc_params); omap_sdrc_init(sdrc_params, sdrc_params);
usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
usb_musb_init(&musb_board_data); usb_musb_init(&musb_board_data);
rx51_peripherals_init(); rx51_peripherals_init();

View File

@ -108,7 +108,6 @@ void omap35xx_init_late(void);
void omap3630_init_late(void); void omap3630_init_late(void);
void am35xx_init_late(void); void am35xx_init_late(void);
void ti81xx_init_late(void); void ti81xx_init_late(void);
void omap4430_init_late(void);
int omap2_common_pm_late_init(void); int omap2_common_pm_late_init(void);
#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430) #if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)

View File

@ -1122,9 +1122,6 @@ int gpmc_calc_timings(struct gpmc_timings *gpmc_t,
/* TODO: remove, see function definition */ /* TODO: remove, see function definition */
gpmc_convert_ps_to_ns(gpmc_t); gpmc_convert_ps_to_ns(gpmc_t);
/* Now the GPMC is initialised, unreserve the chip-selects */
gpmc_cs_map = 0;
return 0; return 0;
} }
@ -1383,6 +1380,9 @@ static int gpmc_probe(struct platform_device *pdev)
if (IS_ERR_VALUE(gpmc_setup_irq())) if (IS_ERR_VALUE(gpmc_setup_irq()))
dev_warn(gpmc_dev, "gpmc_setup_irq failed\n"); dev_warn(gpmc_dev, "gpmc_setup_irq failed\n");
/* Now the GPMC is initialised, unreserve the chip-selects */
gpmc_cs_map = 0;
rc = gpmc_probe_dt(pdev); rc = gpmc_probe_dt(pdev);
if (rc < 0) { if (rc < 0) {
clk_disable_unprepare(gpmc_l3_clk); clk_disable_unprepare(gpmc_l3_clk);

View File

@ -211,8 +211,6 @@ static int __init _omap_mux_get_by_name(struct omap_mux_partition *partition,
return -EINVAL; return -EINVAL;
} }
pr_err("%s: Could not find signal %s\n", __func__, muxname);
return -ENODEV; return -ENODEV;
} }
@ -234,6 +232,8 @@ int __init omap_mux_get_by_name(const char *muxname,
return mux_mode; return mux_mode;
} }
pr_err("%s: Could not find signal %s\n", __func__, muxname);
return -ENODEV; return -ENODEV;
} }
@ -739,8 +739,9 @@ static void __init omap_mux_dbg_create_entry(
list_for_each_entry(e, &partition->muxmodes, node) { list_for_each_entry(e, &partition->muxmodes, node) {
struct omap_mux *m = &e->mux; struct omap_mux *m = &e->mux;
(void)debugfs_create_file(m->muxnames[0], S_IWUSR, mux_dbg_dir, (void)debugfs_create_file(m->muxnames[0], S_IWUSR | S_IRUGO,
m, &omap_mux_dbg_signal_fops); mux_dbg_dir, m,
&omap_mux_dbg_signal_fops);
} }
} }

View File

@ -505,6 +505,7 @@ static struct w1_gpio_platform_data w1_gpio_platform_data = {
.pin = GPIO_ONE_WIRE, .pin = GPIO_ONE_WIRE,
.is_open_drain = 0, .is_open_drain = 0,
.enable_external_pullup = w1_enable_external_pullup, .enable_external_pullup = w1_enable_external_pullup,
.ext_pullup_enable_pin = -EINVAL,
}; };
struct platform_device raumfeld_w1_gpio_device = { struct platform_device raumfeld_w1_gpio_device = {

View File

@ -14,7 +14,7 @@
#define pr_fmt(fmt) "SPEAr3xx: " fmt #define pr_fmt(fmt) "SPEAr3xx: " fmt
#include <linux/amba/pl022.h> #include <linux/amba/pl022.h>
#include <linux/amba/pl08x.h> #include <linux/amba/pl080.h>
#include <linux/io.h> #include <linux/io.h>
#include <plat/pl080.h> #include <plat/pl080.h>
#include <mach/generic.h> #include <mach/generic.h>

View File

@ -342,6 +342,7 @@ static int __init atomic_pool_init(void)
{ {
struct dma_pool *pool = &atomic_pool; struct dma_pool *pool = &atomic_pool;
pgprot_t prot = pgprot_dmacoherent(pgprot_kernel); pgprot_t prot = pgprot_dmacoherent(pgprot_kernel);
gfp_t gfp = GFP_KERNEL | GFP_DMA;
unsigned long nr_pages = pool->size >> PAGE_SHIFT; unsigned long nr_pages = pool->size >> PAGE_SHIFT;
unsigned long *bitmap; unsigned long *bitmap;
struct page *page; struct page *page;
@ -361,8 +362,8 @@ static int __init atomic_pool_init(void)
ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page, ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page,
atomic_pool_init); atomic_pool_init);
else else
ptr = __alloc_remap_buffer(NULL, pool->size, GFP_KERNEL, prot, ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page,
&page, atomic_pool_init); atomic_pool_init);
if (ptr) { if (ptr) {
int i; int i;

View File

@ -157,9 +157,12 @@ void __init orion_setup_cpu_mbus_target(const struct orion_addr_map_cfg *cfg,
u32 size = readl(ddr_window_cpu_base + DDR_SIZE_CS_OFF(i)); u32 size = readl(ddr_window_cpu_base + DDR_SIZE_CS_OFF(i));
/* /*
* Chip select enabled? * We only take care of entries for which the chip
* select is enabled, and that don't have high base
* address bits set (devices can only access the first
* 32 bits of the memory).
*/ */
if (size & 1) { if ((size & 1) && !(base & 0xF)) {
struct mbus_dram_window *w; struct mbus_dram_window *w;
w = &orion_mbus_dram_info.cs[cs++]; w = &orion_mbus_dram_info.cs[cs++];

View File

@ -10,7 +10,7 @@ choice
config ARCH_SPEAR13XX config ARCH_SPEAR13XX
bool "ST SPEAr13xx with Device Tree" bool "ST SPEAr13xx with Device Tree"
select ARCH_HAVE_CPUFREQ select ARCH_HAS_CPUFREQ
select ARM_GIC select ARM_GIC
select CPU_V7 select CPU_V7
select GPIO_SPEAR_SPICS select GPIO_SPEAR_SPICS

View File

@ -7,7 +7,7 @@ config AVR32
select HAVE_OPROFILE select HAVE_OPROFILE
select HAVE_KPROBES select HAVE_KPROBES
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64
select HARDIRQS_SW_RESEND select HARDIRQS_SW_RESEND

View File

@ -33,7 +33,7 @@ config BLACKFIN
select ARCH_HAVE_CUSTOM_GPIO_H select ARCH_HAVE_CUSTOM_GPIO_H
select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_OPTIONAL_GPIOLIB
select HAVE_UID16 select HAVE_UID16
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IPC_PARSE_VERSION
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64

View File

@ -43,7 +43,7 @@ config CRIS
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_UID16 select HAVE_UID16
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IPC_PARSE_VERSION
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_IOMAP select GENERIC_IOMAP

View File

@ -6,7 +6,7 @@ config FRV
select HAVE_PERF_EVENTS select HAVE_PERF_EVENTS
select HAVE_UID16 select HAVE_UID16
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select HAVE_DEBUG_BUGVERBOSE select HAVE_DEBUG_BUGVERBOSE
select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_HAVE_NMI_SAFE_CMPXCHG

View File

@ -5,7 +5,7 @@ config H8300
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64
select HAVE_UID16 select HAVE_UID16
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IPC_PARSE_VERSION
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_CPU_DEVICES select GENERIC_CPU_DEVICES

View File

@ -26,7 +26,7 @@ config IA64
select HAVE_MEMBLOCK select HAVE_MEMBLOCK
select HAVE_MEMBLOCK_NODE_MAP select HAVE_MEMBLOCK_NODE_MAP
select HAVE_VIRT_CPU_ACCOUNTING select HAVE_VIRT_CPU_ACCOUNTING
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select ARCH_DISCARD_MEMBLOCK select ARCH_DISCARD_MEMBLOCK
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_PENDING_IRQ if SMP select GENERIC_PENDING_IRQ if SMP

View File

@ -10,7 +10,7 @@ config M32R
select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IPC_PARSE_VERSION
select HAVE_DEBUG_BUGVERBOSE select HAVE_DEBUG_BUGVERBOSE
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64

View File

@ -63,10 +63,10 @@ struct stat64 {
long long st_size; long long st_size;
unsigned long st_blksize; unsigned long st_blksize;
#if defined(__BIG_ENDIAN) #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
unsigned long __pad4; /* future possible st_blocks high bits */ unsigned long __pad4; /* future possible st_blocks high bits */
unsigned long st_blocks; /* Number 512-byte blocks allocated. */ unsigned long st_blocks; /* Number 512-byte blocks allocated. */
#elif defined(__LITTLE_ENDIAN) #elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
unsigned long st_blocks; /* Number 512-byte blocks allocated. */ unsigned long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long __pad4; /* future possible st_blocks high bits */ unsigned long __pad4; /* future possible st_blocks high bits */
#else #else

View File

@ -8,7 +8,7 @@ config M68K
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64
select HAVE_UID16 select HAVE_UID16
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
select GENERIC_CPU_DEVICES select GENERIC_CPU_DEVICES
select GENERIC_STRNCPY_FROM_USER if MMU select GENERIC_STRNCPY_FROM_USER if MMU

View File

@ -310,7 +310,6 @@ config COBRA5282
config SOM5282EM config SOM5282EM
bool "EMAC.Inc SOM5282EM board support" bool "EMAC.Inc SOM5282EM board support"
depends on M528x depends on M528x
select EMAC_INC
help help
Support for the EMAC.Inc SOM5282EM module. Support for the EMAC.Inc SOM5282EM module.

View File

@ -293,7 +293,7 @@
/* /*
* Here go the bitmasks themselves * Here go the bitmasks themselves
*/ */
#define IMR_MSPIM (1 << SPIM _IRQ_NUM) /* Mask SPI Master interrupt */ #define IMR_MSPIM (1 << SPIM_IRQ_NUM) /* Mask SPI Master interrupt */
#define IMR_MTMR2 (1 << TMR2_IRQ_NUM) /* Mask Timer 2 interrupt */ #define IMR_MTMR2 (1 << TMR2_IRQ_NUM) /* Mask Timer 2 interrupt */
#define IMR_MUART (1 << UART_IRQ_NUM) /* Mask UART interrupt */ #define IMR_MUART (1 << UART_IRQ_NUM) /* Mask UART interrupt */
#define IMR_MWDT (1 << WDT_IRQ_NUM) /* Mask Watchdog Timer interrupt */ #define IMR_MWDT (1 << WDT_IRQ_NUM) /* Mask Watchdog Timer interrupt */
@ -327,7 +327,7 @@
#define IWR_ADDR 0xfffff308 #define IWR_ADDR 0xfffff308
#define IWR LONG_REF(IWR_ADDR) #define IWR LONG_REF(IWR_ADDR)
#define IWR_SPIM (1 << SPIM _IRQ_NUM) /* SPI Master interrupt */ #define IWR_SPIM (1 << SPIM_IRQ_NUM) /* SPI Master interrupt */
#define IWR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ #define IWR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */
#define IWR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ #define IWR_UART (1 << UART_IRQ_NUM) /* UART interrupt */
#define IWR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ #define IWR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */
@ -357,7 +357,7 @@
#define ISR_ADDR 0xfffff30c #define ISR_ADDR 0xfffff30c
#define ISR LONG_REF(ISR_ADDR) #define ISR LONG_REF(ISR_ADDR)
#define ISR_SPIM (1 << SPIM _IRQ_NUM) /* SPI Master interrupt */ #define ISR_SPIM (1 << SPIM_IRQ_NUM) /* SPI Master interrupt */
#define ISR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ #define ISR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */
#define ISR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ #define ISR_UART (1 << UART_IRQ_NUM) /* UART interrupt */
#define ISR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ #define ISR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */
@ -391,7 +391,7 @@
#define IPR_ADDR 0xfffff310 #define IPR_ADDR 0xfffff310
#define IPR LONG_REF(IPR_ADDR) #define IPR LONG_REF(IPR_ADDR)
#define IPR_SPIM (1 << SPIM _IRQ_NUM) /* SPI Master interrupt */ #define IPR_SPIM (1 << SPIM_IRQ_NUM) /* SPI Master interrupt */
#define IPR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */ #define IPR_TMR2 (1 << TMR2_IRQ_NUM) /* Timer 2 interrupt */
#define IPR_UART (1 << UART_IRQ_NUM) /* UART interrupt */ #define IPR_UART (1 << UART_IRQ_NUM) /* UART interrupt */
#define IPR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */ #define IPR_WDT (1 << WDT_IRQ_NUM) /* Watchdog Timer interrupt */
@ -757,7 +757,7 @@
/* 'EZ328-compatible definitions */ /* 'EZ328-compatible definitions */
#define TCN_ADDR TCN1_ADDR #define TCN_ADDR TCN1_ADDR
#define TCN TCN #define TCN TCN1
/* /*
* Timer Unit 1 and 2 Status Registers * Timer Unit 1 and 2 Status Registers

View File

@ -57,6 +57,9 @@ void (*mach_reset)(void);
void (*mach_halt)(void); void (*mach_halt)(void);
void (*mach_power_off)(void); void (*mach_power_off)(void);
#ifdef CONFIG_M68000
#define CPU_NAME "MC68000"
#endif
#ifdef CONFIG_M68328 #ifdef CONFIG_M68328
#define CPU_NAME "MC68328" #define CPU_NAME "MC68328"
#endif #endif

View File

@ -188,7 +188,7 @@ void __init mem_init(void)
} }
} }
#if !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE) #if defined(CONFIG_MMU) && !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE)
/* insert pointer tables allocated so far into the tablelist */ /* insert pointer tables allocated so far into the tablelist */
init_pointer_table((unsigned long)kernel_pg_dir); init_pointer_table((unsigned long)kernel_pg_dir);
for (i = 0; i < PTRS_PER_PGD; i++) { for (i = 0; i < PTRS_PER_PGD; i++) {

View File

@ -69,7 +69,7 @@ static void __init m528x_uarts_init(void)
u8 port; u8 port;
/* make sure PUAPAR is set for UART0 and UART1 */ /* make sure PUAPAR is set for UART0 and UART1 */
port = readb(MCF5282_GPIO_PUAPAR); port = readb(MCFGPIO_PUAPAR);
port |= 0x03 | (0x03 << 2); port |= 0x03 | (0x03 << 2);
writeb(port, MCFGPIO_PUAPAR); writeb(port, MCFGPIO_PUAPAR);
} }

View File

@ -19,7 +19,7 @@ config MICROBLAZE
select HAVE_DEBUG_KMEMLEAK select HAVE_DEBUG_KMEMLEAK
select IRQ_DOMAIN select IRQ_DOMAIN
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_PCI_IOMAP select GENERIC_PCI_IOMAP

View File

@ -38,7 +38,7 @@ config MIPS
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select GENERIC_CMOS_UPDATE select GENERIC_CMOS_UPDATE
select HAVE_MOD_ARCH_SPECIFIC select HAVE_MOD_ARCH_SPECIFIC
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select MODULES_USE_ELF_REL if MODULES select MODULES_USE_ELF_REL if MODULES
select MODULES_USE_ELF_RELA if MODULES && 64BIT select MODULES_USE_ELF_RELA if MODULES && 64BIT
select CLONE_BACKWARDS select CLONE_BACKWARDS

View File

@ -8,7 +8,7 @@ config MN10300
select HAVE_ARCH_KGDB select HAVE_ARCH_KGDB
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64
select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MODULES_USE_ELF_RELA select MODULES_USE_ELF_RELA
select OLD_SIGSUSPEND3 select OLD_SIGSUSPEND3

View File

@ -9,10 +9,9 @@ config OPENRISC
select OF_EARLY_FLATTREE select OF_EARLY_FLATTREE
select IRQ_DOMAIN select IRQ_DOMAIN
select HAVE_MEMBLOCK select HAVE_MEMBLOCK
select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select HAVE_VIRT_TO_BUS
select GENERIC_IRQ_CHIP select GENERIC_IRQ_CHIP
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW

View File

@ -21,7 +21,7 @@ config PARISC
select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNCPY_FROM_USER
select SYSCTL_ARCH_UNALIGN_ALLOW select SYSCTL_ARCH_UNALIGN_ALLOW
select HAVE_MOD_ARCH_SPECIFIC select HAVE_MOD_ARCH_SPECIFIC
select HAVE_VIRT_TO_BUS select VIRT_TO_BUS
select MODULES_USE_ELF_RELA select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS select CLONE_BACKWARDS
select TTY # Needed for pdc_cons.c select TTY # Needed for pdc_cons.c

View File

@ -98,7 +98,7 @@ config PPC
select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_TRACER
select SYSCTL_EXCEPTION_TRACE select SYSCTL_EXCEPTION_TRACE
select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_OPTIONAL_GPIOLIB
select HAVE_VIRT_TO_BUS if !PPC64 select VIRT_TO_BUS if !PPC64
select HAVE_IDE select HAVE_IDE
select HAVE_IOREMAP_PROT select HAVE_IOREMAP_PROT
select HAVE_EFFICIENT_UNALIGNED_ACCESS select HAVE_EFFICIENT_UNALIGNED_ACCESS

Some files were not shown because too many files have changed in this diff Show More