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:
commit
42dd8d53ce
|
@ -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>;
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ?
|
||||||
|
|
|
@ -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 |
|
||||||
--------------+------------+------------+------------+
|
--------------+------------+------------+------------+
|
||||||
|
|
27
MAINTAINERS
27
MAINTAINERS
|
@ -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
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -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*
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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>,
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -50,7 +50,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
|
|
||||||
ocp@f1000000 {
|
ocp@f1000000 {
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <166666667>;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
|
|
||||||
ocp@f1000000 {
|
ocp@f1000000 {
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -90,7 +90,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <166666667>;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@12000 {
|
serial@12000 {
|
||||||
clock-frequency = <200000000>;
|
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -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 */
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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", ðer_clk),
|
CLKDEV_CON_DEV_ID("emac_clk", "fffbc000.ethernet", ðer_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),
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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[] = {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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++];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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++) {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
Loading…
Reference in New Issue