Merge branch 'linus' into perf/core, to refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
f6a74a5e15
5
.mailmap
5
.mailmap
@ -116,6 +116,7 @@ Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com>
|
|||||||
Simon Kelley <simon@thekelleys.org.uk>
|
Simon Kelley <simon@thekelleys.org.uk>
|
||||||
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
||||||
Stephen Hemminger <shemminger@osdl.org>
|
Stephen Hemminger <shemminger@osdl.org>
|
||||||
|
Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
|
||||||
Sumit Semwal <sumit.semwal@ti.com>
|
Sumit Semwal <sumit.semwal@ti.com>
|
||||||
Tejun Heo <htejun@gmail.com>
|
Tejun Heo <htejun@gmail.com>
|
||||||
Thomas Graf <tgraf@suug.ch>
|
Thomas Graf <tgraf@suug.ch>
|
||||||
@ -125,7 +126,9 @@ Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
|||||||
Uwe Kleine-König <ukl@pengutronix.de>
|
Uwe Kleine-König <ukl@pengutronix.de>
|
||||||
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
||||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
||||||
Viresh Kumar <viresh.linux@gmail.com> <viresh.kumar@st.com>
|
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
|
||||||
|
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
|
||||||
|
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
|
||||||
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
|
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
|
||||||
Yusuke Goda <goda.yusuke@renesas.com>
|
Yusuke Goda <goda.yusuke@renesas.com>
|
||||||
Gustavo Padovan <gustavo@las.ic.unicamp.br>
|
Gustavo Padovan <gustavo@las.ic.unicamp.br>
|
||||||
|
@ -1234,10 +1234,8 @@ Description:
|
|||||||
object is near the sensor, usually be observing
|
object is near the sensor, usually be observing
|
||||||
reflectivity of infrared or ultrasound emitted.
|
reflectivity of infrared or ultrasound emitted.
|
||||||
Often these sensors are unit less and as such conversion
|
Often these sensors are unit less and as such conversion
|
||||||
to SI units is not possible. Where it is, the units should
|
to SI units is not possible. Higher proximity measurements
|
||||||
be meters. If such a conversion is not possible, the reported
|
indicate closer objects, and vice versa.
|
||||||
values should behave in the same way as a distance, i.e. lower
|
|
||||||
values indicate something is closer to the sensor.
|
|
||||||
|
|
||||||
What: /sys/.../iio:deviceX/in_illuminance_input
|
What: /sys/.../iio:deviceX/in_illuminance_input
|
||||||
What: /sys/.../iio:deviceX/in_illuminance_raw
|
What: /sys/.../iio:deviceX/in_illuminance_raw
|
||||||
|
@ -3383,7 +3383,7 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
<td valign="top" >TBD</td>
|
<td valign="top" >TBD</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2" valign="top" >omap</td>
|
<td valign="top" >omap</td>
|
||||||
<td valign="top" >Generic</td>
|
<td valign="top" >Generic</td>
|
||||||
<td valign="top" >“zorder”</td>
|
<td valign="top" >“zorder”</td>
|
||||||
<td valign="top" >RANGE</td>
|
<td valign="top" >RANGE</td>
|
||||||
|
@ -60,4 +60,4 @@ Introduction
|
|||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Viresh Kumar <viresh.linux@gmail.com>, (c) 2010-2012 ST Microelectronics
|
Viresh Kumar <vireshk@kernel.org>, (c) 2010-2012 ST Microelectronics
|
||||||
|
@ -36,7 +36,7 @@ SunXi family
|
|||||||
+ User Manual
|
+ User Manual
|
||||||
http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
|
http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
|
||||||
|
|
||||||
- Allwinner A23
|
- Allwinner A23 (sun8i)
|
||||||
+ Datasheet
|
+ Datasheet
|
||||||
http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
|
http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
|
||||||
+ User Manual
|
+ User Manual
|
||||||
@ -55,7 +55,23 @@ SunXi family
|
|||||||
+ User Manual
|
+ User Manual
|
||||||
http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf
|
http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf
|
||||||
|
|
||||||
|
- Allwinner A33 (sun8i)
|
||||||
|
+ Datasheet
|
||||||
|
http://dl.linux-sunxi.org/A33/A33%20Datasheet%20release%201.1.pdf
|
||||||
|
+ User Manual
|
||||||
|
http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf
|
||||||
|
|
||||||
|
- Allwinner H3 (sun8i)
|
||||||
|
+ Datasheet
|
||||||
|
http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf
|
||||||
|
|
||||||
* Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
|
* Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
|
||||||
- Allwinner A80
|
- Allwinner A80
|
||||||
+ Datasheet
|
+ Datasheet
|
||||||
http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf
|
http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf
|
||||||
|
|
||||||
|
* Octa ARM Cortex-A7 based SoCs
|
||||||
|
- Allwinner A83T
|
||||||
|
+ Not Supported
|
||||||
|
+ Datasheet
|
||||||
|
http://dl.linux-sunxi.org/A83T/A83T_datasheet_Revision_1.1.pdf
|
||||||
|
@ -258,6 +258,12 @@ cache metadata mode : ro if read-only, rw if read-write
|
|||||||
no further I/O will be permitted and the status will just
|
no further I/O will be permitted and the status will just
|
||||||
contain the string 'Fail'. The userspace recovery tools
|
contain the string 'Fail'. The userspace recovery tools
|
||||||
should then be used.
|
should then be used.
|
||||||
|
needs_check : 'needs_check' if set, '-' if not set
|
||||||
|
A metadata operation has failed, resulting in the needs_check
|
||||||
|
flag being set in the metadata's superblock. The metadata
|
||||||
|
device must be deactivated and checked/repaired before the
|
||||||
|
cache can be made fully operational again. '-' indicates
|
||||||
|
needs_check is not set.
|
||||||
|
|
||||||
Messages
|
Messages
|
||||||
--------
|
--------
|
||||||
|
@ -296,7 +296,7 @@ ii) Status
|
|||||||
underlying device. When this is enabled when loading the table,
|
underlying device. When this is enabled when loading the table,
|
||||||
it can get disabled if the underlying device doesn't support it.
|
it can get disabled if the underlying device doesn't support it.
|
||||||
|
|
||||||
ro|rw
|
ro|rw|out_of_data_space
|
||||||
If the pool encounters certain types of device failures it will
|
If the pool encounters certain types of device failures it will
|
||||||
drop into a read-only metadata mode in which no changes to
|
drop into a read-only metadata mode in which no changes to
|
||||||
the pool metadata (like allocating new blocks) are permitted.
|
the pool metadata (like allocating new blocks) are permitted.
|
||||||
@ -314,6 +314,13 @@ ii) Status
|
|||||||
module parameter can be used to change this timeout -- it
|
module parameter can be used to change this timeout -- it
|
||||||
defaults to 60 seconds but may be disabled using a value of 0.
|
defaults to 60 seconds but may be disabled using a value of 0.
|
||||||
|
|
||||||
|
needs_check
|
||||||
|
A metadata operation has failed, resulting in the needs_check
|
||||||
|
flag being set in the metadata's superblock. The metadata
|
||||||
|
device must be deactivated and checked/repaired before the
|
||||||
|
thin-pool can be made fully operational again. '-' indicates
|
||||||
|
needs_check is not set.
|
||||||
|
|
||||||
iii) Messages
|
iii) Messages
|
||||||
|
|
||||||
create_thin <dev id>
|
create_thin <dev id>
|
||||||
|
@ -9,4 +9,6 @@ using one of the following compatible strings:
|
|||||||
allwinner,sun6i-a31
|
allwinner,sun6i-a31
|
||||||
allwinner,sun7i-a20
|
allwinner,sun7i-a20
|
||||||
allwinner,sun8i-a23
|
allwinner,sun8i-a23
|
||||||
|
allwinner,sun8i-a33
|
||||||
|
allwinner,sun8i-h3
|
||||||
allwinner,sun9i-a80
|
allwinner,sun9i-a80
|
||||||
|
@ -65,8 +65,10 @@ Optional properties:
|
|||||||
- edid: verbatim EDID data block describing attached display.
|
- edid: verbatim EDID data block describing attached display.
|
||||||
- ddc: phandle describing the i2c bus handling the display data
|
- ddc: phandle describing the i2c bus handling the display data
|
||||||
channel
|
channel
|
||||||
- port: A port node with endpoint definitions as defined in
|
- port@[0-1]: Port nodes with endpoint definitions as defined in
|
||||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||||
|
Port 0 is the input port connected to the IPU display interface,
|
||||||
|
port 1 is the output port connected to a panel.
|
||||||
|
|
||||||
example:
|
example:
|
||||||
|
|
||||||
@ -75,9 +77,29 @@ display@di0 {
|
|||||||
edid = [edid-data];
|
edid = [edid-data];
|
||||||
interface-pix-fmt = "rgb24";
|
interface-pix-fmt = "rgb24";
|
||||||
|
|
||||||
port {
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
display_in: endpoint {
|
display_in: endpoint {
|
||||||
remote-endpoint = <&ipu_di0_disp0>;
|
remote-endpoint = <&ipu_di0_disp0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
display_out: endpoint {
|
||||||
|
remote-endpoint = <&panel_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
panel {
|
||||||
|
...
|
||||||
|
|
||||||
|
port {
|
||||||
|
panel_in: endpoint {
|
||||||
|
remote-endpoint = <&display_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,6 +8,7 @@ of the EMIF IP and memory parts attached to it.
|
|||||||
Required properties:
|
Required properties:
|
||||||
- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
|
- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
|
||||||
is the IP revision of the specific EMIF instance.
|
is the IP revision of the specific EMIF instance.
|
||||||
|
For am437x should be ti,emif-am4372.
|
||||||
|
|
||||||
- phy-type : <u32> indicating the DDR phy type. Following are the
|
- phy-type : <u32> indicating the DDR phy type. Following are the
|
||||||
allowed values
|
allowed values
|
||||||
|
@ -952,6 +952,14 @@ When kbuild executes, the following steps are followed (roughly):
|
|||||||
$(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
|
$(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
|
||||||
mode) if this option is supported by $(AR).
|
mode) if this option is supported by $(AR).
|
||||||
|
|
||||||
|
ARCH_CPPFLAGS, ARCH_AFLAGS, ARCH_CFLAGS Overrides the kbuild defaults
|
||||||
|
|
||||||
|
These variables are appended to the KBUILD_CPPFLAGS,
|
||||||
|
KBUILD_AFLAGS, and KBUILD_CFLAGS, respectively, after the
|
||||||
|
top-level Makefile has set any other flags. This provides a
|
||||||
|
means for an architecture to override the defaults.
|
||||||
|
|
||||||
|
|
||||||
--- 6.2 Add prerequisites to archheaders:
|
--- 6.2 Add prerequisites to archheaders:
|
||||||
|
|
||||||
The archheaders: rule is used to generate header files that
|
The archheaders: rule is used to generate header files that
|
||||||
|
@ -410,8 +410,17 @@ Documentation/usb/persist.txt.
|
|||||||
|
|
||||||
Q: Can I suspend-to-disk using a swap partition under LVM?
|
Q: Can I suspend-to-disk using a swap partition under LVM?
|
||||||
|
|
||||||
A: No. You can suspend successfully, but you'll not be able to
|
A: Yes and No. You can suspend successfully, but the kernel will not be able
|
||||||
resume. uswsusp should be able to work with LVM. See suspend.sf.net.
|
to resume on its own. You need an initramfs that can recognize the resume
|
||||||
|
situation, activate the logical volume containing the swap volume (but not
|
||||||
|
touch any filesystems!), and eventually call
|
||||||
|
|
||||||
|
echo -n "$major:$minor" > /sys/power/resume
|
||||||
|
|
||||||
|
where $major and $minor are the respective major and minor device numbers of
|
||||||
|
the swap volume.
|
||||||
|
|
||||||
|
uswsusp works with LVM, too. See http://suspend.sourceforge.net/
|
||||||
|
|
||||||
Q: I upgraded the kernel from 2.6.15 to 2.6.16. Both kernels were
|
Q: I upgraded the kernel from 2.6.15 to 2.6.16. Both kernels were
|
||||||
compiled with the similar configuration files. Anyway I found that
|
compiled with the similar configuration files. Anyway I found that
|
||||||
|
136
MAINTAINERS
136
MAINTAINERS
@ -361,11 +361,11 @@ S: Supported
|
|||||||
F: drivers/input/touchscreen/ad7879.c
|
F: drivers/input/touchscreen/ad7879.c
|
||||||
|
|
||||||
ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
|
ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
ADM1025 HARDWARE MONITOR DRIVER
|
ADM1025 HARDWARE MONITOR DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/adm1025
|
F: Documentation/hwmon/adm1025
|
||||||
@ -430,7 +430,7 @@ S: Maintained
|
|||||||
F: drivers/macintosh/therm_adt746x.c
|
F: drivers/macintosh/therm_adt746x.c
|
||||||
|
|
||||||
ADT7475 HARDWARE MONITOR DRIVER
|
ADT7475 HARDWARE MONITOR DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/adt7475
|
F: Documentation/hwmon/adt7475
|
||||||
@ -445,7 +445,7 @@ F: drivers/input/misc/adxl34x.c
|
|||||||
|
|
||||||
ADVANSYS SCSI DRIVER
|
ADVANSYS SCSI DRIVER
|
||||||
M: Matthew Wilcox <matthew@wil.cx>
|
M: Matthew Wilcox <matthew@wil.cx>
|
||||||
M: Hannes Reinecke <hare@suse.de>
|
M: Hannes Reinecke <hare@suse.com>
|
||||||
L: linux-scsi@vger.kernel.org
|
L: linux-scsi@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/scsi/advansys.txt
|
F: Documentation/scsi/advansys.txt
|
||||||
@ -506,7 +506,7 @@ F: drivers/scsi/aha152x*
|
|||||||
F: drivers/scsi/pcmcia/aha152x*
|
F: drivers/scsi/pcmcia/aha152x*
|
||||||
|
|
||||||
AIC7XXX / AIC79XX SCSI DRIVER
|
AIC7XXX / AIC79XX SCSI DRIVER
|
||||||
M: Hannes Reinecke <hare@suse.de>
|
M: Hannes Reinecke <hare@suse.com>
|
||||||
L: linux-scsi@vger.kernel.org
|
L: linux-scsi@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/scsi/aic7xxx/
|
F: drivers/scsi/aic7xxx/
|
||||||
@ -746,7 +746,7 @@ S: Maintained
|
|||||||
F: sound/aoa/
|
F: sound/aoa/
|
||||||
|
|
||||||
APM DRIVER
|
APM DRIVER
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
S: Odd fixes
|
S: Odd fixes
|
||||||
F: arch/x86/kernel/apm_32.c
|
F: arch/x86/kernel/apm_32.c
|
||||||
F: include/linux/apm_bios.h
|
F: include/linux/apm_bios.h
|
||||||
@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
|
|||||||
M: Baruch Siach <baruch@tkos.co.il>
|
M: Baruch Siach <baruch@tkos.co.il>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
F: arch/arm/boot/dts/cx92755*
|
||||||
N: digicolor
|
N: digicolor
|
||||||
|
|
||||||
ARM/EBSA110 MACHINE SUPPORT
|
ARM/EBSA110 MACHINE SUPPORT
|
||||||
@ -1324,7 +1325,7 @@ F: arch/arm/mach-pxa/include/mach/palmtc.h
|
|||||||
F: arch/arm/mach-pxa/palmtc.c
|
F: arch/arm/mach-pxa/palmtc.c
|
||||||
|
|
||||||
ARM/PALM TREO SUPPORT
|
ARM/PALM TREO SUPPORT
|
||||||
M: Tomas Cech <sleep_walker@suse.cz>
|
M: Tomas Cech <sleep_walker@suse.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org
|
L: linux-arm-kernel@lists.infradead.org
|
||||||
W: http://hackndev.com
|
W: http://hackndev.com
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -1614,6 +1615,7 @@ M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: arch/arm/boot/dts/vexpress*
|
F: arch/arm/boot/dts/vexpress*
|
||||||
|
F: arch/arm64/boot/dts/arm/vexpress*
|
||||||
F: arch/arm/mach-vexpress/
|
F: arch/arm/mach-vexpress/
|
||||||
F: */*/vexpress*
|
F: */*/vexpress*
|
||||||
F: */*/*/vexpress*
|
F: */*/*/vexpress*
|
||||||
@ -2404,7 +2406,7 @@ F: drivers/gpio/gpio-bt8xx.c
|
|||||||
BTRFS FILE SYSTEM
|
BTRFS FILE SYSTEM
|
||||||
M: Chris Mason <clm@fb.com>
|
M: Chris Mason <clm@fb.com>
|
||||||
M: Josef Bacik <jbacik@fb.com>
|
M: Josef Bacik <jbacik@fb.com>
|
||||||
M: David Sterba <dsterba@suse.cz>
|
M: David Sterba <dsterba@suse.com>
|
||||||
L: linux-btrfs@vger.kernel.org
|
L: linux-btrfs@vger.kernel.org
|
||||||
W: http://btrfs.wiki.kernel.org/
|
W: http://btrfs.wiki.kernel.org/
|
||||||
Q: http://patchwork.kernel.org/project/linux-btrfs/list/
|
Q: http://patchwork.kernel.org/project/linux-btrfs/list/
|
||||||
@ -2562,19 +2564,31 @@ F: arch/powerpc/include/uapi/asm/spu*.h
|
|||||||
F: arch/powerpc/oprofile/*cell*
|
F: arch/powerpc/oprofile/*cell*
|
||||||
F: arch/powerpc/platforms/cell/
|
F: arch/powerpc/platforms/cell/
|
||||||
|
|
||||||
CEPH DISTRIBUTED FILE SYSTEM CLIENT
|
CEPH COMMON CODE (LIBCEPH)
|
||||||
|
M: Ilya Dryomov <idryomov@gmail.com>
|
||||||
M: "Yan, Zheng" <zyan@redhat.com>
|
M: "Yan, Zheng" <zyan@redhat.com>
|
||||||
M: Sage Weil <sage@redhat.com>
|
M: Sage Weil <sage@redhat.com>
|
||||||
L: ceph-devel@vger.kernel.org
|
L: ceph-devel@vger.kernel.org
|
||||||
W: http://ceph.com/
|
W: http://ceph.com/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
|
||||||
|
T: git git://github.com/ceph/ceph-client.git
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/filesystems/ceph.txt
|
|
||||||
F: fs/ceph/
|
|
||||||
F: net/ceph/
|
F: net/ceph/
|
||||||
F: include/linux/ceph/
|
F: include/linux/ceph/
|
||||||
F: include/linux/crush/
|
F: include/linux/crush/
|
||||||
|
|
||||||
|
CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH)
|
||||||
|
M: "Yan, Zheng" <zyan@redhat.com>
|
||||||
|
M: Sage Weil <sage@redhat.com>
|
||||||
|
M: Ilya Dryomov <idryomov@gmail.com>
|
||||||
|
L: ceph-devel@vger.kernel.org
|
||||||
|
W: http://ceph.com/
|
||||||
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
|
||||||
|
T: git git://github.com/ceph/ceph-client.git
|
||||||
|
S: Supported
|
||||||
|
F: Documentation/filesystems/ceph.txt
|
||||||
|
F: fs/ceph/
|
||||||
|
|
||||||
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
|
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
|
||||||
L: linux-usb@vger.kernel.org
|
L: linux-usb@vger.kernel.org
|
||||||
S: Orphan
|
S: Orphan
|
||||||
@ -2735,7 +2749,7 @@ COCCINELLE/Semantic Patches (SmPL)
|
|||||||
M: Julia Lawall <Julia.Lawall@lip6.fr>
|
M: Julia Lawall <Julia.Lawall@lip6.fr>
|
||||||
M: Gilles Muller <Gilles.Muller@lip6.fr>
|
M: Gilles Muller <Gilles.Muller@lip6.fr>
|
||||||
M: Nicolas Palix <nicolas.palix@imag.fr>
|
M: Nicolas Palix <nicolas.palix@imag.fr>
|
||||||
M: Michal Marek <mmarek@suse.cz>
|
M: Michal Marek <mmarek@suse.com>
|
||||||
L: cocci@systeme.lip6.fr (moderated for non-subscribers)
|
L: cocci@systeme.lip6.fr (moderated for non-subscribers)
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
|
||||||
W: http://coccinelle.lip6.fr/
|
W: http://coccinelle.lip6.fr/
|
||||||
@ -2851,7 +2865,7 @@ F: kernel/cpuset.c
|
|||||||
|
|
||||||
CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
|
CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
|
||||||
M: Johannes Weiner <hannes@cmpxchg.org>
|
M: Johannes Weiner <hannes@cmpxchg.org>
|
||||||
M: Michal Hocko <mhocko@suse.cz>
|
M: Michal Hocko <mhocko@kernel.org>
|
||||||
L: cgroups@vger.kernel.org
|
L: cgroups@vger.kernel.org
|
||||||
L: linux-mm@kvack.org
|
L: linux-mm@kvack.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -2932,7 +2946,7 @@ F: arch/x86/kernel/cpuid.c
|
|||||||
F: arch/x86/kernel/msr.c
|
F: arch/x86/kernel/msr.c
|
||||||
|
|
||||||
CPU POWER MONITORING SUBSYSTEM
|
CPU POWER MONITORING SUBSYSTEM
|
||||||
M: Thomas Renninger <trenn@suse.de>
|
M: Thomas Renninger <trenn@suse.com>
|
||||||
L: linux-pm@vger.kernel.org
|
L: linux-pm@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: tools/power/cpupower/
|
F: tools/power/cpupower/
|
||||||
@ -3162,7 +3176,7 @@ F: Documentation/networking/dmfe.txt
|
|||||||
F: drivers/net/ethernet/dec/tulip/dmfe.c
|
F: drivers/net/ethernet/dec/tulip/dmfe.c
|
||||||
|
|
||||||
DC390/AM53C974 SCSI driver
|
DC390/AM53C974 SCSI driver
|
||||||
M: Hannes Reinecke <hare@suse.de>
|
M: Hannes Reinecke <hare@suse.com>
|
||||||
L: linux-scsi@vger.kernel.org
|
L: linux-scsi@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/scsi/am53c974.c
|
F: drivers/scsi/am53c974.c
|
||||||
@ -3366,7 +3380,7 @@ W: http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
DISKQUOTA
|
DISKQUOTA
|
||||||
M: Jan Kara <jack@suse.cz>
|
M: Jan Kara <jack@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/filesystems/quota.txt
|
F: Documentation/filesystems/quota.txt
|
||||||
F: fs/quota/
|
F: fs/quota/
|
||||||
@ -3422,7 +3436,7 @@ F: Documentation/hwmon/dme1737
|
|||||||
F: drivers/hwmon/dme1737.c
|
F: drivers/hwmon/dme1737.c
|
||||||
|
|
||||||
DMI/SMBIOS SUPPORT
|
DMI/SMBIOS SUPPORT
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
|
T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
|
||||||
F: Documentation/ABI/testing/sysfs-firmware-dmi-tables
|
F: Documentation/ABI/testing/sysfs-firmware-dmi-tables
|
||||||
@ -4038,7 +4052,7 @@ F: drivers/of/of_mdio.c
|
|||||||
F: drivers/of/of_net.c
|
F: drivers/of/of_net.c
|
||||||
|
|
||||||
EXT2 FILE SYSTEM
|
EXT2 FILE SYSTEM
|
||||||
M: Jan Kara <jack@suse.cz>
|
M: Jan Kara <jack@suse.com>
|
||||||
L: linux-ext4@vger.kernel.org
|
L: linux-ext4@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/filesystems/ext2.txt
|
F: Documentation/filesystems/ext2.txt
|
||||||
@ -4046,7 +4060,7 @@ F: fs/ext2/
|
|||||||
F: include/linux/ext2*
|
F: include/linux/ext2*
|
||||||
|
|
||||||
EXT3 FILE SYSTEM
|
EXT3 FILE SYSTEM
|
||||||
M: Jan Kara <jack@suse.cz>
|
M: Jan Kara <jack@suse.com>
|
||||||
M: Andrew Morton <akpm@linux-foundation.org>
|
M: Andrew Morton <akpm@linux-foundation.org>
|
||||||
M: Andreas Dilger <adilger.kernel@dilger.ca>
|
M: Andreas Dilger <adilger.kernel@dilger.ca>
|
||||||
L: linux-ext4@vger.kernel.org
|
L: linux-ext4@vger.kernel.org
|
||||||
@ -4096,7 +4110,7 @@ F: drivers/video/fbdev/exynos/exynos_mipi*
|
|||||||
F: include/video/exynos_mipi*
|
F: include/video/exynos_mipi*
|
||||||
|
|
||||||
F71805F HARDWARE MONITORING DRIVER
|
F71805F HARDWARE MONITORING DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/f71805f
|
F: Documentation/hwmon/f71805f
|
||||||
@ -4231,7 +4245,7 @@ S: Maintained
|
|||||||
F: drivers/block/rsxx/
|
F: drivers/block/rsxx/
|
||||||
|
|
||||||
FLOPPY DRIVER
|
FLOPPY DRIVER
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
|
||||||
S: Odd fixes
|
S: Odd fixes
|
||||||
F: drivers/block/floppy.c
|
F: drivers/block/floppy.c
|
||||||
@ -4652,7 +4666,7 @@ F: drivers/media/usb/stk1160/
|
|||||||
|
|
||||||
H8/300 ARCHITECTURE
|
H8/300 ARCHITECTURE
|
||||||
M: Yoshinori Sato <ysato@users.sourceforge.jp>
|
M: Yoshinori Sato <ysato@users.sourceforge.jp>
|
||||||
L: uclinux-h8-devel@lists.sourceforge.jp
|
L: uclinux-h8-devel@lists.sourceforge.jp (moderated for non-subscribers)
|
||||||
W: http://uclinux-h8.sourceforge.jp
|
W: http://uclinux-h8.sourceforge.jp
|
||||||
T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
|
T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -4699,7 +4713,7 @@ S: Maintained
|
|||||||
F: drivers/media/usb/hackrf/
|
F: drivers/media/usb/hackrf/
|
||||||
|
|
||||||
HARDWARE MONITORING
|
HARDWARE MONITORING
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
M: Guenter Roeck <linux@roeck-us.net>
|
M: Guenter Roeck <linux@roeck-us.net>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
W: http://www.lm-sensors.org/
|
W: http://www.lm-sensors.org/
|
||||||
@ -4802,7 +4816,7 @@ F: include/linux/pm.h
|
|||||||
F: arch/*/include/asm/suspend*.h
|
F: arch/*/include/asm/suspend*.h
|
||||||
|
|
||||||
HID CORE LAYER
|
HID CORE LAYER
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
L: linux-input@vger.kernel.org
|
L: linux-input@vger.kernel.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -4811,7 +4825,7 @@ F: include/linux/hid*
|
|||||||
F: include/uapi/linux/hid*
|
F: include/uapi/linux/hid*
|
||||||
|
|
||||||
HID SENSOR HUB DRIVERS
|
HID SENSOR HUB DRIVERS
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
M: Jonathan Cameron <jic23@kernel.org>
|
M: Jonathan Cameron <jic23@kernel.org>
|
||||||
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||||
L: linux-input@vger.kernel.org
|
L: linux-input@vger.kernel.org
|
||||||
@ -4945,7 +4959,7 @@ F: include/linux/hyperv.h
|
|||||||
F: tools/hv/
|
F: tools/hv/
|
||||||
|
|
||||||
I2C OVER PARALLEL PORT
|
I2C OVER PARALLEL PORT
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: linux-i2c@vger.kernel.org
|
L: linux-i2c@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/i2c/busses/i2c-parport
|
F: Documentation/i2c/busses/i2c-parport
|
||||||
@ -4954,7 +4968,7 @@ F: drivers/i2c/busses/i2c-parport.c
|
|||||||
F: drivers/i2c/busses/i2c-parport-light.c
|
F: drivers/i2c/busses/i2c-parport-light.c
|
||||||
|
|
||||||
I2C/SMBUS CONTROLLER DRIVERS FOR PC
|
I2C/SMBUS CONTROLLER DRIVERS FOR PC
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: linux-i2c@vger.kernel.org
|
L: linux-i2c@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/i2c/busses/i2c-ali1535
|
F: Documentation/i2c/busses/i2c-ali1535
|
||||||
@ -4995,7 +5009,7 @@ F: drivers/i2c/busses/i2c-ismt.c
|
|||||||
F: Documentation/i2c/busses/i2c-ismt
|
F: Documentation/i2c/busses/i2c-ismt
|
||||||
|
|
||||||
I2C/SMBUS STUB DRIVER
|
I2C/SMBUS STUB DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: linux-i2c@vger.kernel.org
|
L: linux-i2c@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/i2c/i2c-stub.c
|
F: drivers/i2c/i2c-stub.c
|
||||||
@ -5022,7 +5036,7 @@ L: linux-acpi@vger.kernel.org
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
I2C-TAOS-EVM DRIVER
|
I2C-TAOS-EVM DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: linux-i2c@vger.kernel.org
|
L: linux-i2c@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/i2c/busses/i2c-taos-evm
|
F: Documentation/i2c/busses/i2c-taos-evm
|
||||||
@ -5551,8 +5565,8 @@ F: include/uapi/linux/ip_vs.h
|
|||||||
F: net/netfilter/ipvs/
|
F: net/netfilter/ipvs/
|
||||||
|
|
||||||
IPWIRELESS DRIVER
|
IPWIRELESS DRIVER
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
M: David Sterba <dsterba@suse.cz>
|
M: David Sterba <dsterba@suse.com>
|
||||||
S: Odd Fixes
|
S: Odd Fixes
|
||||||
F: drivers/tty/ipwireless/
|
F: drivers/tty/ipwireless/
|
||||||
|
|
||||||
@ -5672,7 +5686,7 @@ S: Maintained
|
|||||||
F: drivers/isdn/hardware/eicon/
|
F: drivers/isdn/hardware/eicon/
|
||||||
|
|
||||||
IT87 HARDWARE MONITORING DRIVER
|
IT87 HARDWARE MONITORING DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/it87
|
F: Documentation/hwmon/it87
|
||||||
@ -5739,7 +5753,7 @@ F: include/uapi/linux/jffs2.h
|
|||||||
|
|
||||||
JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
|
JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
|
||||||
M: Andrew Morton <akpm@linux-foundation.org>
|
M: Andrew Morton <akpm@linux-foundation.org>
|
||||||
M: Jan Kara <jack@suse.cz>
|
M: Jan Kara <jack@suse.com>
|
||||||
L: linux-ext4@vger.kernel.org
|
L: linux-ext4@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: fs/jbd/
|
F: fs/jbd/
|
||||||
@ -5803,7 +5817,7 @@ S: Maintained
|
|||||||
F: fs/autofs4/
|
F: fs/autofs4/
|
||||||
|
|
||||||
KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
|
KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
|
||||||
M: Michal Marek <mmarek@suse.cz>
|
M: Michal Marek <mmarek@suse.com>
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
|
||||||
L: linux-kbuild@vger.kernel.org
|
L: linux-kbuild@vger.kernel.org
|
||||||
@ -5867,7 +5881,7 @@ F: arch/x86/include/asm/svm.h
|
|||||||
F: arch/x86/kvm/svm.c
|
F: arch/x86/kvm/svm.c
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
||||||
M: Alexander Graf <agraf@suse.de>
|
M: Alexander Graf <agraf@suse.com>
|
||||||
L: kvm-ppc@vger.kernel.org
|
L: kvm-ppc@vger.kernel.org
|
||||||
W: http://kvm.qumranet.com
|
W: http://kvm.qumranet.com
|
||||||
T: git git://github.com/agraf/linux-2.6.git
|
T: git git://github.com/agraf/linux-2.6.git
|
||||||
@ -6024,7 +6038,7 @@ F: drivers/leds/
|
|||||||
F: include/linux/leds.h
|
F: include/linux/leds.h
|
||||||
|
|
||||||
LEGACY EEPROM DRIVER
|
LEGACY EEPROM DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/misc-devices/eeprom
|
F: Documentation/misc-devices/eeprom
|
||||||
F: drivers/misc/eeprom/eeprom.c
|
F: drivers/misc/eeprom/eeprom.c
|
||||||
@ -6077,7 +6091,7 @@ F: include/linux/ata.h
|
|||||||
F: include/linux/libata.h
|
F: include/linux/libata.h
|
||||||
|
|
||||||
LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
|
LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
L: linux-ide@vger.kernel.org
|
L: linux-ide@vger.kernel.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -6147,6 +6161,7 @@ L: linux-nvdimm@lists.01.org
|
|||||||
Q: https://patchwork.kernel.org/project/linux-nvdimm/list/
|
Q: https://patchwork.kernel.org/project/linux-nvdimm/list/
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/nvdimm/pmem.c
|
F: drivers/nvdimm/pmem.c
|
||||||
|
F: include/linux/pmem.h
|
||||||
|
|
||||||
LINUX FOR IBM pSERIES (RS/6000)
|
LINUX FOR IBM pSERIES (RS/6000)
|
||||||
M: Paul Mackerras <paulus@au.ibm.com>
|
M: Paul Mackerras <paulus@au.ibm.com>
|
||||||
@ -6161,7 +6176,7 @@ M: Michael Ellerman <mpe@ellerman.id.au>
|
|||||||
W: http://www.penguinppc.org/
|
W: http://www.penguinppc.org/
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/
|
Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/powerpc/
|
F: Documentation/powerpc/
|
||||||
F: arch/powerpc/
|
F: arch/powerpc/
|
||||||
@ -6237,8 +6252,8 @@ F: drivers/platform/x86/hp_accel.c
|
|||||||
LIVE PATCHING
|
LIVE PATCHING
|
||||||
M: Josh Poimboeuf <jpoimboe@redhat.com>
|
M: Josh Poimboeuf <jpoimboe@redhat.com>
|
||||||
M: Seth Jennings <sjenning@redhat.com>
|
M: Seth Jennings <sjenning@redhat.com>
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
M: Vojtech Pavlik <vojtech@suse.cz>
|
M: Vojtech Pavlik <vojtech@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: kernel/livepatch/
|
F: kernel/livepatch/
|
||||||
F: include/linux/livepatch.h
|
F: include/linux/livepatch.h
|
||||||
@ -6264,21 +6279,21 @@ S: Maintained
|
|||||||
F: drivers/hwmon/lm73.c
|
F: drivers/hwmon/lm73.c
|
||||||
|
|
||||||
LM78 HARDWARE MONITOR DRIVER
|
LM78 HARDWARE MONITOR DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/lm78
|
F: Documentation/hwmon/lm78
|
||||||
F: drivers/hwmon/lm78.c
|
F: drivers/hwmon/lm78.c
|
||||||
|
|
||||||
LM83 HARDWARE MONITOR DRIVER
|
LM83 HARDWARE MONITOR DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/lm83
|
F: Documentation/hwmon/lm83
|
||||||
F: drivers/hwmon/lm83.c
|
F: drivers/hwmon/lm83.c
|
||||||
|
|
||||||
LM90 HARDWARE MONITOR DRIVER
|
LM90 HARDWARE MONITOR DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/lm90
|
F: Documentation/hwmon/lm90
|
||||||
@ -7005,6 +7020,7 @@ F: include/uapi/linux/netfilter/
|
|||||||
F: net/*/netfilter.c
|
F: net/*/netfilter.c
|
||||||
F: net/*/netfilter/
|
F: net/*/netfilter/
|
||||||
F: net/netfilter/
|
F: net/netfilter/
|
||||||
|
F: net/bridge/br_netfilter*.c
|
||||||
|
|
||||||
NETLABEL
|
NETLABEL
|
||||||
M: Paul Moore <paul@paul-moore.com>
|
M: Paul Moore <paul@paul-moore.com>
|
||||||
@ -7704,7 +7720,7 @@ S: Maintained
|
|||||||
F: drivers/char/pc8736x_gpio.c
|
F: drivers/char/pc8736x_gpio.c
|
||||||
|
|
||||||
PC87427 HARDWARE MONITORING DRIVER
|
PC87427 HARDWARE MONITORING DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/pc87427
|
F: Documentation/hwmon/pc87427
|
||||||
@ -7981,7 +7997,7 @@ S: Maintained
|
|||||||
F: drivers/pinctrl/samsung/
|
F: drivers/pinctrl/samsung/
|
||||||
|
|
||||||
PIN CONTROLLER - ST SPEAR
|
PIN CONTROLLER - ST SPEAR
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
L: spear-devel@list.st.com
|
L: spear-devel@list.st.com
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
W: http://www.st.com/spear
|
W: http://www.st.com/spear
|
||||||
@ -7989,7 +8005,7 @@ S: Maintained
|
|||||||
F: drivers/pinctrl/spear/
|
F: drivers/pinctrl/spear/
|
||||||
|
|
||||||
PKTCDVD DRIVER
|
PKTCDVD DRIVER
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/block/pktcdvd.c
|
F: drivers/block/pktcdvd.c
|
||||||
F: include/linux/pktcdvd.h
|
F: include/linux/pktcdvd.h
|
||||||
@ -8366,10 +8382,12 @@ RADOS BLOCK DEVICE (RBD)
|
|||||||
M: Ilya Dryomov <idryomov@gmail.com>
|
M: Ilya Dryomov <idryomov@gmail.com>
|
||||||
M: Sage Weil <sage@redhat.com>
|
M: Sage Weil <sage@redhat.com>
|
||||||
M: Alex Elder <elder@kernel.org>
|
M: Alex Elder <elder@kernel.org>
|
||||||
M: ceph-devel@vger.kernel.org
|
L: ceph-devel@vger.kernel.org
|
||||||
W: http://ceph.com/
|
W: http://ceph.com/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
|
||||||
|
T: git git://github.com/ceph/ceph-client.git
|
||||||
S: Supported
|
S: Supported
|
||||||
|
F: Documentation/ABI/testing/sysfs-bus-rbd
|
||||||
F: drivers/block/rbd.c
|
F: drivers/block/rbd.c
|
||||||
F: drivers/block/rbd_types.h
|
F: drivers/block/rbd_types.h
|
||||||
|
|
||||||
@ -8878,7 +8896,7 @@ S: Maintained
|
|||||||
F: drivers/tty/serial/
|
F: drivers/tty/serial/
|
||||||
|
|
||||||
SYNOPSYS DESIGNWARE DMAC DRIVER
|
SYNOPSYS DESIGNWARE DMAC DRIVER
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: include/linux/dma/dw.h
|
F: include/linux/dma/dw.h
|
||||||
@ -9045,7 +9063,7 @@ S: Maintained
|
|||||||
F: drivers/mmc/host/sdhci-s3c*
|
F: drivers/mmc/host/sdhci-s3c*
|
||||||
|
|
||||||
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
|
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
L: spear-devel@list.st.com
|
L: spear-devel@list.st.com
|
||||||
L: linux-mmc@vger.kernel.org
|
L: linux-mmc@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -9407,7 +9425,7 @@ F: Documentation/hwmon/sch5627
|
|||||||
F: drivers/hwmon/sch5627.c
|
F: drivers/hwmon/sch5627.c
|
||||||
|
|
||||||
SMSC47B397 HARDWARE MONITOR DRIVER
|
SMSC47B397 HARDWARE MONITOR DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/hwmon/smsc47b397
|
F: Documentation/hwmon/smsc47b397
|
||||||
@ -9456,7 +9474,7 @@ S: Supported
|
|||||||
F: drivers/media/pci/solo6x10/
|
F: drivers/media/pci/solo6x10/
|
||||||
|
|
||||||
SOFTWARE RAID (Multiple Disks) SUPPORT
|
SOFTWARE RAID (Multiple Disks) SUPPORT
|
||||||
M: Neil Brown <neilb@suse.de>
|
M: Neil Brown <neilb@suse.com>
|
||||||
L: linux-raid@vger.kernel.org
|
L: linux-raid@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/md/
|
F: drivers/md/
|
||||||
@ -9499,7 +9517,7 @@ F: drivers/memstick/core/ms_block.*
|
|||||||
|
|
||||||
SOUND
|
SOUND
|
||||||
M: Jaroslav Kysela <perex@perex.cz>
|
M: Jaroslav Kysela <perex@perex.cz>
|
||||||
M: Takashi Iwai <tiwai@suse.de>
|
M: Takashi Iwai <tiwai@suse.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
||||||
W: http://www.alsa-project.org/
|
W: http://www.alsa-project.org/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||||
@ -9583,7 +9601,7 @@ S: Maintained
|
|||||||
F: include/linux/compiler.h
|
F: include/linux/compiler.h
|
||||||
|
|
||||||
SPEAR PLATFORM SUPPORT
|
SPEAR PLATFORM SUPPORT
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
M: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
|
M: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
|
||||||
L: spear-devel@list.st.com
|
L: spear-devel@list.st.com
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
@ -9592,7 +9610,7 @@ S: Maintained
|
|||||||
F: arch/arm/mach-spear/
|
F: arch/arm/mach-spear/
|
||||||
|
|
||||||
SPEAR CLOCK FRAMEWORK SUPPORT
|
SPEAR CLOCK FRAMEWORK SUPPORT
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <vireshk@kernel.org>
|
||||||
L: spear-devel@list.st.com
|
L: spear-devel@list.st.com
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
W: http://www.st.com/spear
|
W: http://www.st.com/spear
|
||||||
@ -10382,7 +10400,7 @@ K: ^Subject:.*(?i)trivial
|
|||||||
|
|
||||||
TTY LAYER
|
TTY LAYER
|
||||||
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
M: Jiri Slaby <jslaby@suse.cz>
|
M: Jiri Slaby <jslaby@suse.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
|
||||||
F: Documentation/serial/
|
F: Documentation/serial/
|
||||||
@ -10456,7 +10474,7 @@ F: arch/m68k/*/*_no.*
|
|||||||
F: arch/m68k/include/asm/*_no.*
|
F: arch/m68k/include/asm/*_no.*
|
||||||
|
|
||||||
UDF FILESYSTEM
|
UDF FILESYSTEM
|
||||||
M: Jan Kara <jack@suse.cz>
|
M: Jan Kara <jack@suse.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/filesystems/udf.txt
|
F: Documentation/filesystems/udf.txt
|
||||||
F: fs/udf/
|
F: fs/udf/
|
||||||
@ -10599,7 +10617,7 @@ F: drivers/usb/gadget/
|
|||||||
F: include/linux/usb/gadget*
|
F: include/linux/usb/gadget*
|
||||||
|
|
||||||
USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
|
USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
|
||||||
M: Jiri Kosina <jkosina@suse.cz>
|
M: Jiri Kosina <jkosina@suse.com>
|
||||||
L: linux-usb@vger.kernel.org
|
L: linux-usb@vger.kernel.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -10724,7 +10742,7 @@ S: Maintained
|
|||||||
F: drivers/usb/host/uhci*
|
F: drivers/usb/host/uhci*
|
||||||
|
|
||||||
USB "USBNET" DRIVER FRAMEWORK
|
USB "USBNET" DRIVER FRAMEWORK
|
||||||
M: Oliver Neukum <oneukum@suse.de>
|
M: Oliver Neukum <oneukum@suse.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
W: http://www.linux-usb.org/usbnet
|
W: http://www.linux-usb.org/usbnet
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@ -11051,7 +11069,7 @@ F: Documentation/hwmon/w83793
|
|||||||
F: drivers/hwmon/w83793.c
|
F: drivers/hwmon/w83793.c
|
||||||
|
|
||||||
W83795 HARDWARE MONITORING DRIVER
|
W83795 HARDWARE MONITORING DRIVER
|
||||||
M: Jean Delvare <jdelvare@suse.de>
|
M: Jean Delvare <jdelvare@suse.com>
|
||||||
L: lm-sensors@lm-sensors.org
|
L: lm-sensors@lm-sensors.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/hwmon/w83795.c
|
F: drivers/hwmon/w83795.c
|
||||||
|
11
Makefile
11
Makefile
@ -1,7 +1,7 @@
|
|||||||
VERSION = 4
|
VERSION = 4
|
||||||
PATCHLEVEL = 2
|
PATCHLEVEL = 2
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc3
|
||||||
NAME = Hurr durr I'ma sheep
|
NAME = Hurr durr I'ma sheep
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
@ -780,10 +780,11 @@ endif
|
|||||||
include scripts/Makefile.kasan
|
include scripts/Makefile.kasan
|
||||||
include scripts/Makefile.extrawarn
|
include scripts/Makefile.extrawarn
|
||||||
|
|
||||||
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
|
# Add any arch overrides and user supplied CPPFLAGS, AFLAGS and CFLAGS as the
|
||||||
KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
# last assignments
|
||||||
KBUILD_AFLAGS += $(KAFLAGS)
|
KBUILD_CPPFLAGS += $(ARCH_CPPFLAGS) $(KCPPFLAGS)
|
||||||
KBUILD_CFLAGS += $(KCFLAGS)
|
KBUILD_AFLAGS += $(ARCH_AFLAGS) $(KAFLAGS)
|
||||||
|
KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS)
|
||||||
|
|
||||||
# Use --build-id when available.
|
# Use --build-id when available.
|
||||||
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
|
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
|
||||||
|
@ -221,6 +221,10 @@ config ARCH_TASK_STRUCT_ALLOCATOR
|
|||||||
config ARCH_THREAD_INFO_ALLOCATOR
|
config ARCH_THREAD_INFO_ALLOCATOR
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
# Select if arch wants to size task_struct dynamically via arch_task_struct_size:
|
||||||
|
config ARCH_WANTS_DYNAMIC_TASK_STRUCT
|
||||||
|
bool
|
||||||
|
|
||||||
config HAVE_REGS_AND_STACK_ACCESS_API
|
config HAVE_REGS_AND_STACK_ACCESS_API
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
|
@ -5,6 +5,7 @@ generic-y += cputime.h
|
|||||||
generic-y += exec.h
|
generic-y += exec.h
|
||||||
generic-y += irq_work.h
|
generic-y += irq_work.h
|
||||||
generic-y += mcs_spinlock.h
|
generic-y += mcs_spinlock.h
|
||||||
|
generic-y += mm-arch-hooks.h
|
||||||
generic-y += preempt.h
|
generic-y += preempt.h
|
||||||
generic-y += sections.h
|
generic-y += sections.h
|
||||||
generic-y += trace_clock.h
|
generic-y += trace_clock.h
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Architecture specific mm hooks
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015, IBM Corporation
|
|
||||||
* Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ASM_ALPHA_MM_ARCH_HOOKS_H
|
|
||||||
#define _ASM_ALPHA_MM_ARCH_HOOKS_H
|
|
||||||
|
|
||||||
#endif /* _ASM_ALPHA_MM_ARCH_HOOKS_H */
|
|
@ -115,6 +115,7 @@ if ISA_ARCOMPACT
|
|||||||
|
|
||||||
config ARC_CPU_750D
|
config ARC_CPU_750D
|
||||||
bool "ARC750D"
|
bool "ARC750D"
|
||||||
|
select ARC_CANT_LLSC
|
||||||
help
|
help
|
||||||
Support for ARC750 core
|
Support for ARC750 core
|
||||||
|
|
||||||
@ -362,7 +363,7 @@ config ARC_CANT_LLSC
|
|||||||
config ARC_HAS_LLSC
|
config ARC_HAS_LLSC
|
||||||
bool "Insn: LLOCK/SCOND (efficient atomic ops)"
|
bool "Insn: LLOCK/SCOND (efficient atomic ops)"
|
||||||
default y
|
default y
|
||||||
depends on !ARC_CPU_750D && !ARC_CANT_LLSC
|
depends on !ARC_CANT_LLSC
|
||||||
|
|
||||||
config ARC_HAS_SWAPE
|
config ARC_HAS_SWAPE
|
||||||
bool "Insn: SWAPE (endian-swap)"
|
bool "Insn: SWAPE (endian-swap)"
|
||||||
|
@ -49,7 +49,8 @@ endif
|
|||||||
|
|
||||||
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||||
# Generic build system uses -O2, we want -O3
|
# Generic build system uses -O2, we want -O3
|
||||||
cflags-y += -O3
|
# Note: No need to add to cflags-y as that happens anyways
|
||||||
|
ARCH_CFLAGS += -O3
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# small data is default for elf32 tool-chain. If not usable, disable it
|
# small data is default for elf32 tool-chain. If not usable, disable it
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "snps,arc";
|
compatible = "snps,arc";
|
||||||
clock-frequency = <75000000>;
|
clock-frequency = <90000000>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "snps,arc";
|
compatible = "snps,arc";
|
||||||
clock-frequency = <75000000>;
|
clock-frequency = <90000000>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ generic-y += kvm_para.h
|
|||||||
generic-y += local.h
|
generic-y += local.h
|
||||||
generic-y += local64.h
|
generic-y += local64.h
|
||||||
generic-y += mcs_spinlock.h
|
generic-y += mcs_spinlock.h
|
||||||
|
generic-y += mm-arch-hooks.h
|
||||||
generic-y += mman.h
|
generic-y += mman.h
|
||||||
generic-y += msgbuf.h
|
generic-y += msgbuf.h
|
||||||
generic-y += param.h
|
generic-y += param.h
|
||||||
|
@ -50,8 +50,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
|
|||||||
* done for const @nr, but no code is generated due to gcc \
|
* done for const @nr, but no code is generated due to gcc \
|
||||||
* const prop. \
|
* const prop. \
|
||||||
*/ \
|
*/ \
|
||||||
if (__builtin_constant_p(nr)) \
|
nr &= 0x1f; \
|
||||||
nr &= 0x1f; \
|
|
||||||
\
|
\
|
||||||
__asm__ __volatile__( \
|
__asm__ __volatile__( \
|
||||||
"1: llock %0, [%1] \n" \
|
"1: llock %0, [%1] \n" \
|
||||||
@ -82,8 +81,7 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
|
|||||||
\
|
\
|
||||||
m += nr >> 5; \
|
m += nr >> 5; \
|
||||||
\
|
\
|
||||||
if (__builtin_constant_p(nr)) \
|
nr &= 0x1f; \
|
||||||
nr &= 0x1f; \
|
|
||||||
\
|
\
|
||||||
/* \
|
/* \
|
||||||
* Explicit full memory barrier needed before/after as \
|
* Explicit full memory barrier needed before/after as \
|
||||||
@ -129,16 +127,13 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
|
|||||||
unsigned long temp, flags; \
|
unsigned long temp, flags; \
|
||||||
m += nr >> 5; \
|
m += nr >> 5; \
|
||||||
\
|
\
|
||||||
if (__builtin_constant_p(nr)) \
|
|
||||||
nr &= 0x1f; \
|
|
||||||
\
|
|
||||||
/* \
|
/* \
|
||||||
* spin lock/unlock provide the needed smp_mb() before/after \
|
* spin lock/unlock provide the needed smp_mb() before/after \
|
||||||
*/ \
|
*/ \
|
||||||
bitops_lock(flags); \
|
bitops_lock(flags); \
|
||||||
\
|
\
|
||||||
temp = *m; \
|
temp = *m; \
|
||||||
*m = temp c_op (1UL << nr); \
|
*m = temp c_op (1UL << (nr & 0x1f)); \
|
||||||
\
|
\
|
||||||
bitops_unlock(flags); \
|
bitops_unlock(flags); \
|
||||||
}
|
}
|
||||||
@ -149,17 +144,14 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
|
|||||||
unsigned long old, flags; \
|
unsigned long old, flags; \
|
||||||
m += nr >> 5; \
|
m += nr >> 5; \
|
||||||
\
|
\
|
||||||
if (__builtin_constant_p(nr)) \
|
|
||||||
nr &= 0x1f; \
|
|
||||||
\
|
|
||||||
bitops_lock(flags); \
|
bitops_lock(flags); \
|
||||||
\
|
\
|
||||||
old = *m; \
|
old = *m; \
|
||||||
*m = old c_op (1 << nr); \
|
*m = old c_op (1UL << (nr & 0x1f)); \
|
||||||
\
|
\
|
||||||
bitops_unlock(flags); \
|
bitops_unlock(flags); \
|
||||||
\
|
\
|
||||||
return (old & (1 << nr)) != 0; \
|
return (old & (1UL << (nr & 0x1f))) != 0; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_ARC_HAS_LLSC */
|
#endif /* CONFIG_ARC_HAS_LLSC */
|
||||||
@ -174,11 +166,8 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m) \
|
|||||||
unsigned long temp; \
|
unsigned long temp; \
|
||||||
m += nr >> 5; \
|
m += nr >> 5; \
|
||||||
\
|
\
|
||||||
if (__builtin_constant_p(nr)) \
|
|
||||||
nr &= 0x1f; \
|
|
||||||
\
|
|
||||||
temp = *m; \
|
temp = *m; \
|
||||||
*m = temp c_op (1UL << nr); \
|
*m = temp c_op (1UL << (nr & 0x1f)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define __TEST_N_BIT_OP(op, c_op, asm_op) \
|
#define __TEST_N_BIT_OP(op, c_op, asm_op) \
|
||||||
@ -187,13 +176,10 @@ static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long
|
|||||||
unsigned long old; \
|
unsigned long old; \
|
||||||
m += nr >> 5; \
|
m += nr >> 5; \
|
||||||
\
|
\
|
||||||
if (__builtin_constant_p(nr)) \
|
|
||||||
nr &= 0x1f; \
|
|
||||||
\
|
|
||||||
old = *m; \
|
old = *m; \
|
||||||
*m = old c_op (1 << nr); \
|
*m = old c_op (1UL << (nr & 0x1f)); \
|
||||||
\
|
\
|
||||||
return (old & (1 << nr)) != 0; \
|
return (old & (1UL << (nr & 0x1f))) != 0; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BIT_OPS(op, c_op, asm_op) \
|
#define BIT_OPS(op, c_op, asm_op) \
|
||||||
@ -224,10 +210,7 @@ test_bit(unsigned int nr, const volatile unsigned long *addr)
|
|||||||
|
|
||||||
addr += nr >> 5;
|
addr += nr >> 5;
|
||||||
|
|
||||||
if (__builtin_constant_p(nr))
|
mask = 1UL << (nr & 0x1f);
|
||||||
nr &= 0x1f;
|
|
||||||
|
|
||||||
mask = 1 << nr;
|
|
||||||
|
|
||||||
return ((mask & *addr) != 0);
|
return ((mask & *addr) != 0);
|
||||||
}
|
}
|
||||||
|
@ -16,12 +16,15 @@
|
|||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARC_HAS_LLSC
|
||||||
|
|
||||||
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
|
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
|
||||||
\
|
\
|
||||||
__asm__ __volatile__( \
|
__asm__ __volatile__( \
|
||||||
"1: ld %1, [%2] \n" \
|
"1: llock %1, [%2] \n" \
|
||||||
insn "\n" \
|
insn "\n" \
|
||||||
"2: st %0, [%2] \n" \
|
"2: scond %0, [%2] \n" \
|
||||||
|
" bnz 1b \n" \
|
||||||
" mov %0, 0 \n" \
|
" mov %0, 0 \n" \
|
||||||
"3: \n" \
|
"3: \n" \
|
||||||
" .section .fixup,\"ax\" \n" \
|
" .section .fixup,\"ax\" \n" \
|
||||||
@ -39,6 +42,33 @@
|
|||||||
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
|
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
|
||||||
: "cc", "memory")
|
: "cc", "memory")
|
||||||
|
|
||||||
|
#else /* !CONFIG_ARC_HAS_LLSC */
|
||||||
|
|
||||||
|
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
|
||||||
|
\
|
||||||
|
__asm__ __volatile__( \
|
||||||
|
"1: ld %1, [%2] \n" \
|
||||||
|
insn "\n" \
|
||||||
|
"2: st %0, [%2] \n" \
|
||||||
|
" mov %0, 0 \n" \
|
||||||
|
"3: \n" \
|
||||||
|
" .section .fixup,\"ax\" \n" \
|
||||||
|
" .align 4 \n" \
|
||||||
|
"4: mov %0, %4 \n" \
|
||||||
|
" b 3b \n" \
|
||||||
|
" .previous \n" \
|
||||||
|
" .section __ex_table,\"a\" \n" \
|
||||||
|
" .align 4 \n" \
|
||||||
|
" .word 1b, 4b \n" \
|
||||||
|
" .word 2b, 4b \n" \
|
||||||
|
" .previous \n" \
|
||||||
|
\
|
||||||
|
: "=&r" (ret), "=&r" (oldval) \
|
||||||
|
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
|
||||||
|
: "cc", "memory")
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
|
static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
|
||||||
{
|
{
|
||||||
int op = (encoded_op >> 28) & 7;
|
int op = (encoded_op >> 28) & 7;
|
||||||
@ -123,11 +153,17 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval,
|
|||||||
|
|
||||||
pagefault_disable();
|
pagefault_disable();
|
||||||
|
|
||||||
/* TBD : can use llock/scond */
|
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__(
|
||||||
"1: ld %0, [%3] \n"
|
#ifdef CONFIG_ARC_HAS_LLSC
|
||||||
" brne %0, %1, 3f \n"
|
"1: llock %0, [%3] \n"
|
||||||
"2: st %2, [%3] \n"
|
" brne %0, %1, 3f \n"
|
||||||
|
"2: scond %2, [%3] \n"
|
||||||
|
" bnz 1b \n"
|
||||||
|
#else
|
||||||
|
"1: ld %0, [%3] \n"
|
||||||
|
" brne %0, %1, 3f \n"
|
||||||
|
"2: st %2, [%3] \n"
|
||||||
|
#endif
|
||||||
"3: \n"
|
"3: \n"
|
||||||
" .section .fixup,\"ax\" \n"
|
" .section .fixup,\"ax\" \n"
|
||||||
"4: mov %0, %4 \n"
|
"4: mov %0, %4 \n"
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Architecture specific mm hooks
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015, IBM Corporation
|
|
||||||
* Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ASM_ARC_MM_ARCH_HOOKS_H
|
|
||||||
#define _ASM_ARC_MM_ARCH_HOOKS_H
|
|
||||||
|
|
||||||
#endif /* _ASM_ARC_MM_ARCH_HOOKS_H */
|
|
@ -106,7 +106,7 @@ struct callee_regs {
|
|||||||
long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
|
long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define instruction_pointer(regs) ((regs)->ret)
|
#define instruction_pointer(regs) (unsigned long)((regs)->ret)
|
||||||
#define profile_pc(regs) instruction_pointer(regs)
|
#define profile_pc(regs) instruction_pointer(regs)
|
||||||
|
|
||||||
/* return 1 if user mode or 0 if kernel mode */
|
/* return 1 if user mode or 0 if kernel mode */
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/irqdomain.h>
|
#include <linux/irqdomain.h>
|
||||||
#include <linux/irqchip.h>
|
#include <linux/irqchip.h>
|
||||||
#include "../../drivers/irqchip/irqchip.h"
|
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/irqdomain.h>
|
#include <linux/irqdomain.h>
|
||||||
#include <linux/irqchip.h>
|
#include <linux/irqchip.h>
|
||||||
#include "../../drivers/irqchip/irqchip.h"
|
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -175,7 +175,6 @@ void mcip_init_early_smp(void)
|
|||||||
#include <linux/irqchip.h>
|
#include <linux/irqchip.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_irq.h>
|
#include <linux/of_irq.h>
|
||||||
#include "../../drivers/irqchip/irqchip.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the DEST for @cmn_irq to @cpu_mask (1 bit per core)
|
* Set the DEST for @cmn_irq to @cpu_mask (1 bit per core)
|
||||||
@ -218,11 +217,28 @@ static void idu_irq_unmask(struct irq_data *data)
|
|||||||
raw_spin_unlock_irqrestore(&mcip_lock, flags);
|
raw_spin_unlock_irqrestore(&mcip_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_SMP
|
||||||
static int
|
static int
|
||||||
idu_irq_set_affinity(struct irq_data *d, const struct cpumask *cpumask, bool f)
|
idu_irq_set_affinity(struct irq_data *data, const struct cpumask *cpumask,
|
||||||
|
bool force)
|
||||||
{
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
cpumask_t online;
|
||||||
|
|
||||||
|
/* errout if no online cpu per @cpumask */
|
||||||
|
if (!cpumask_and(&online, cpumask, cpu_online_mask))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
raw_spin_lock_irqsave(&mcip_lock, flags);
|
||||||
|
|
||||||
|
idu_set_dest(data->hwirq, cpumask_bits(&online)[0]);
|
||||||
|
idu_set_mode(data->hwirq, IDU_M_TRIG_LEVEL, IDU_M_DISTRI_RR);
|
||||||
|
|
||||||
|
raw_spin_unlock_irqrestore(&mcip_lock, flags);
|
||||||
|
|
||||||
return IRQ_SET_MASK_OK;
|
return IRQ_SET_MASK_OK;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct irq_chip idu_irq_chip = {
|
static struct irq_chip idu_irq_chip = {
|
||||||
.name = "MCIP IDU Intc",
|
.name = "MCIP IDU Intc",
|
||||||
@ -330,8 +346,7 @@ idu_of_init(struct device_node *intc, struct device_node *parent)
|
|||||||
if (!i)
|
if (!i)
|
||||||
idu_first_irq = irq;
|
idu_first_irq = irq;
|
||||||
|
|
||||||
irq_set_handler_data(irq, domain);
|
irq_set_chained_handler_and_data(irq, idu_cascade_isr, domain);
|
||||||
irq_set_chained_handler(irq, idu_cascade_isr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__mcip_cmd(CMD_IDU_ENABLE, 0);
|
__mcip_cmd(CMD_IDU_ENABLE, 0);
|
||||||
|
@ -142,17 +142,22 @@ static void read_arc_build_cfg_regs(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct cpuinfo_data arc_cpu_tbl[] = {
|
static const struct cpuinfo_data arc_cpu_tbl[] = {
|
||||||
|
#ifdef CONFIG_ISA_ARCOMPACT
|
||||||
{ {0x20, "ARC 600" }, 0x2F},
|
{ {0x20, "ARC 600" }, 0x2F},
|
||||||
{ {0x30, "ARC 700" }, 0x33},
|
{ {0x30, "ARC 700" }, 0x33},
|
||||||
{ {0x34, "ARC 700 R4.10"}, 0x34},
|
{ {0x34, "ARC 700 R4.10"}, 0x34},
|
||||||
{ {0x35, "ARC 700 R4.11"}, 0x35},
|
{ {0x35, "ARC 700 R4.11"}, 0x35},
|
||||||
{ {0x50, "ARC HS38" }, 0x51},
|
#else
|
||||||
|
{ {0x50, "ARC HS38 R2.0"}, 0x51},
|
||||||
|
{ {0x52, "ARC HS38 R2.1"}, 0x52},
|
||||||
|
#endif
|
||||||
{ {0x00, NULL } }
|
{ {0x00, NULL } }
|
||||||
};
|
};
|
||||||
|
|
||||||
#define IS_AVAIL1(v, str) ((v) ? str : "")
|
#define IS_AVAIL1(v, s) ((v) ? s : "")
|
||||||
#define IS_USED(cfg) (IS_ENABLED(cfg) ? "" : "(not used) ")
|
#define IS_USED_RUN(v) ((v) ? "" : "(not used) ")
|
||||||
#define IS_AVAIL2(v, str, cfg) IS_AVAIL1(v, str), IS_AVAIL1(v, IS_USED(cfg))
|
#define IS_USED_CFG(cfg) IS_USED_RUN(IS_ENABLED(cfg))
|
||||||
|
#define IS_AVAIL2(v, s, cfg) IS_AVAIL1(v, s), IS_AVAIL1(v, IS_USED_CFG(cfg))
|
||||||
|
|
||||||
static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
|
static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
|
||||||
{
|
{
|
||||||
@ -226,7 +231,7 @@ static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
|
|||||||
n += scnprintf(buf + n, len - n, "mpy[opt %d] ", opt);
|
n += scnprintf(buf + n, len - n, "mpy[opt %d] ", opt);
|
||||||
}
|
}
|
||||||
n += scnprintf(buf + n, len - n, "%s",
|
n += scnprintf(buf + n, len - n, "%s",
|
||||||
IS_USED(CONFIG_ARC_HAS_HW_MPY));
|
IS_USED_CFG(CONFIG_ARC_HAS_HW_MPY));
|
||||||
}
|
}
|
||||||
|
|
||||||
n += scnprintf(buf + n, len - n, "%s%s%s%s%s%s%s%s\n",
|
n += scnprintf(buf + n, len - n, "%s%s%s%s%s%s%s%s\n",
|
||||||
|
@ -58,7 +58,6 @@ static void show_callee_regs(struct callee_regs *cregs)
|
|||||||
|
|
||||||
static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
|
static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
|
||||||
{
|
{
|
||||||
struct path path;
|
|
||||||
char *path_nm = NULL;
|
char *path_nm = NULL;
|
||||||
struct mm_struct *mm;
|
struct mm_struct *mm;
|
||||||
struct file *exe_file;
|
struct file *exe_file;
|
||||||
|
@ -468,10 +468,18 @@ static void __ic_line_inv_vaddr(unsigned long paddr, unsigned long vaddr,
|
|||||||
noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
|
noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ISA_ARCV2
|
#ifdef CONFIG_ISA_ARCV2
|
||||||
|
/*
|
||||||
|
* SLC is shared between all cores and concurrent aux operations from
|
||||||
|
* multiple cores need to be serialized using a spinlock
|
||||||
|
* A concurrent operation can be silently ignored and/or the old/new
|
||||||
|
* operation can remain incomplete forever (lockup in SLC_CTRL_BUSY loop
|
||||||
|
* below)
|
||||||
|
*/
|
||||||
|
static DEFINE_SPINLOCK(lock);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned int ctrl;
|
unsigned int ctrl;
|
||||||
|
|
||||||
local_irq_save(flags);
|
spin_lock_irqsave(&lock, flags);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Region Flush operation is specified by CTRL.RGN_OP[11..9]
|
* The Region Flush operation is specified by CTRL.RGN_OP[11..9]
|
||||||
@ -504,7 +512,7 @@ noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
|
|||||||
|
|
||||||
while (read_aux_reg(ARC_REG_SLC_CTRL) & SLC_CTRL_BUSY);
|
while (read_aux_reg(ARC_REG_SLC_CTRL) & SLC_CTRL_BUSY);
|
||||||
|
|
||||||
local_irq_restore(flags);
|
spin_unlock_irqrestore(&lock, flags);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,8 +60,8 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
|
|||||||
|
|
||||||
/* This is kernel Virtual address (0x7000_0000 based) */
|
/* This is kernel Virtual address (0x7000_0000 based) */
|
||||||
kvaddr = ioremap_nocache((unsigned long)paddr, size);
|
kvaddr = ioremap_nocache((unsigned long)paddr, size);
|
||||||
if (kvaddr != NULL)
|
if (kvaddr == NULL)
|
||||||
memset(kvaddr, 0, size);
|
return NULL;
|
||||||
|
|
||||||
/* This is bus address, platform dependent */
|
/* This is bus address, platform dependent */
|
||||||
*dma_handle = (dma_addr_t)paddr;
|
*dma_handle = (dma_addr_t)paddr;
|
||||||
|
@ -1693,6 +1693,12 @@ config HIGHMEM
|
|||||||
config HIGHPTE
|
config HIGHPTE
|
||||||
bool "Allocate 2nd-level pagetables from highmem"
|
bool "Allocate 2nd-level pagetables from highmem"
|
||||||
depends on HIGHMEM
|
depends on HIGHMEM
|
||||||
|
help
|
||||||
|
The VM uses one page of physical memory for each page table.
|
||||||
|
For systems with a lot of processes, this can use a lot of
|
||||||
|
precious low memory, eventually leading to low memory being
|
||||||
|
consumed by page tables. Setting this option will allow
|
||||||
|
user-space 2nd level page tables to reside in high memory.
|
||||||
|
|
||||||
config HW_PERF_EVENTS
|
config HW_PERF_EVENTS
|
||||||
bool "Enable hardware performance counter support for perf events"
|
bool "Enable hardware performance counter support for perf events"
|
||||||
|
@ -1635,7 +1635,7 @@ config PID_IN_CONTEXTIDR
|
|||||||
|
|
||||||
config DEBUG_SET_MODULE_RONX
|
config DEBUG_SET_MODULE_RONX
|
||||||
bool "Set loadable kernel module data as NX and text as RO"
|
bool "Set loadable kernel module data as NX and text as RO"
|
||||||
depends on MODULES
|
depends on MODULES && MMU
|
||||||
---help---
|
---help---
|
||||||
This option helps catch unintended modifications to loadable
|
This option helps catch unintended modifications to loadable
|
||||||
kernel module's text and read-only data. It also prevents execution
|
kernel module's text and read-only data. It also prevents execution
|
||||||
|
@ -80,3 +80,7 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
system-power-controller;
|
||||||
|
};
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
audio_codec: tlv320aic3106@1b {
|
audio_codec: tlv320aic3106@1b {
|
||||||
compatible = "ti,tlv320aic3106";
|
compatible = "ti,tlv320aic3106";
|
||||||
reg = <0x1b>;
|
reg = <0x1b>;
|
||||||
|
ai3x-micbias-vg = <0x2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
accel: lis331dlh@1d {
|
accel: lis331dlh@1d {
|
||||||
@ -153,7 +154,7 @@
|
|||||||
ti,audio-routing =
|
ti,audio-routing =
|
||||||
"Headphone Jack", "HPLOUT",
|
"Headphone Jack", "HPLOUT",
|
||||||
"Headphone Jack", "HPROUT",
|
"Headphone Jack", "HPROUT",
|
||||||
"LINE1L", "Line In";
|
"MIC3L", "Mic3L Switch";
|
||||||
};
|
};
|
||||||
|
|
||||||
&mcasp0 {
|
&mcasp0 {
|
||||||
@ -438,41 +439,50 @@
|
|||||||
regulators {
|
regulators {
|
||||||
dcdc1_reg: regulator@0 {
|
dcdc1_reg: regulator@0 {
|
||||||
/* VDD_1V8 system supply */
|
/* VDD_1V8 system supply */
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
dcdc2_reg: regulator@1 {
|
dcdc2_reg: regulator@1 {
|
||||||
/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
|
/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
|
||||||
regulator-name = "vdd_core";
|
regulator-name = "vdd_core";
|
||||||
regulator-min-microvolt = <925000>;
|
regulator-min-microvolt = <925000>;
|
||||||
regulator-max-microvolt = <1325000>;
|
regulator-max-microvolt = <1150000>;
|
||||||
regulator-boot-on;
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
dcdc3_reg: regulator@2 {
|
dcdc3_reg: regulator@2 {
|
||||||
/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
|
/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
|
||||||
regulator-name = "vdd_mpu";
|
regulator-name = "vdd_mpu";
|
||||||
regulator-min-microvolt = <925000>;
|
regulator-min-microvolt = <925000>;
|
||||||
regulator-max-microvolt = <1150000>;
|
regulator-max-microvolt = <1325000>;
|
||||||
regulator-boot-on;
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
ldo1_reg: regulator@3 {
|
ldo1_reg: regulator@3 {
|
||||||
/* VRTC 1.8V always-on supply */
|
/* VRTC 1.8V always-on supply */
|
||||||
|
regulator-name = "vrtc,vdds";
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
ldo2_reg: regulator@4 {
|
ldo2_reg: regulator@4 {
|
||||||
/* 3.3V rail */
|
/* 3.3V rail */
|
||||||
|
regulator-name = "vdd_3v3aux";
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
ldo3_reg: regulator@5 {
|
ldo3_reg: regulator@5 {
|
||||||
/* VDD_3V3A 3.3V rail */
|
/* VDD_3V3A 3.3V rail */
|
||||||
|
regulator-name = "vdd_3v3a";
|
||||||
regulator-min-microvolt = <3300000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ldo4_reg: regulator@6 {
|
ldo4_reg: regulator@6 {
|
||||||
/* VDD_3V3B 3.3V rail */
|
/* VDD_3V3B 3.3V rail */
|
||||||
|
regulator-name = "vdd_3v3b";
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -132,6 +132,12 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
emif: emif@4c000000 {
|
||||||
|
compatible = "ti,emif-am4372";
|
||||||
|
reg = <0x4c000000 0x1000000>;
|
||||||
|
ti,hwmods = "emif";
|
||||||
|
};
|
||||||
|
|
||||||
edma: edma@49000000 {
|
edma: edma@49000000 {
|
||||||
compatible = "ti,edma3";
|
compatible = "ti,edma3";
|
||||||
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
|
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
|
||||||
@ -941,6 +947,7 @@
|
|||||||
ti,hwmods = "dss_rfbi";
|
ti,hwmods = "dss_rfbi";
|
||||||
clocks = <&disp_clk>;
|
clocks = <&disp_clk>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -605,6 +605,10 @@
|
|||||||
phy-supply = <&ldousb_reg>;
|
phy-supply = <&ldousb_reg>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&usb2_phy2 {
|
||||||
|
phy-supply = <&ldousb_reg>;
|
||||||
|
};
|
||||||
|
|
||||||
&usb1 {
|
&usb1 {
|
||||||
dr_mode = "host";
|
dr_mode = "host";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -22,6 +22,7 @@
|
|||||||
MATRIX_KEY(0x00, 0x02, KEY_F1)
|
MATRIX_KEY(0x00, 0x02, KEY_F1)
|
||||||
MATRIX_KEY(0x00, 0x03, KEY_B)
|
MATRIX_KEY(0x00, 0x03, KEY_B)
|
||||||
MATRIX_KEY(0x00, 0x04, KEY_F10)
|
MATRIX_KEY(0x00, 0x04, KEY_F10)
|
||||||
|
MATRIX_KEY(0x00, 0x05, KEY_RO)
|
||||||
MATRIX_KEY(0x00, 0x06, KEY_N)
|
MATRIX_KEY(0x00, 0x06, KEY_N)
|
||||||
MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
|
MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
|
||||||
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
|
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
|
||||||
@ -34,6 +35,7 @@
|
|||||||
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
|
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
|
||||||
MATRIX_KEY(0x01, 0x09, KEY_F9)
|
MATRIX_KEY(0x01, 0x09, KEY_F9)
|
||||||
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
|
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
|
||||||
|
MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
|
||||||
|
|
||||||
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
|
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
|
||||||
MATRIX_KEY(0x02, 0x01, KEY_TAB)
|
MATRIX_KEY(0x02, 0x01, KEY_TAB)
|
||||||
@ -45,6 +47,7 @@
|
|||||||
MATRIX_KEY(0x02, 0x07, KEY_102ND)
|
MATRIX_KEY(0x02, 0x07, KEY_102ND)
|
||||||
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
|
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
|
||||||
MATRIX_KEY(0x02, 0x09, KEY_F8)
|
MATRIX_KEY(0x02, 0x09, KEY_F8)
|
||||||
|
MATRIX_KEY(0x02, 0x0a, KEY_YEN)
|
||||||
|
|
||||||
MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
|
MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
|
||||||
MATRIX_KEY(0x03, 0x02, KEY_F2)
|
MATRIX_KEY(0x03, 0x02, KEY_F2)
|
||||||
@ -53,6 +56,7 @@
|
|||||||
MATRIX_KEY(0x03, 0x06, KEY_6)
|
MATRIX_KEY(0x03, 0x06, KEY_6)
|
||||||
MATRIX_KEY(0x03, 0x08, KEY_MINUS)
|
MATRIX_KEY(0x03, 0x08, KEY_MINUS)
|
||||||
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
|
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
|
||||||
|
MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
|
||||||
|
|
||||||
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
|
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
|
||||||
MATRIX_KEY(0x04, 0x01, KEY_A)
|
MATRIX_KEY(0x04, 0x01, KEY_A)
|
||||||
|
@ -686,7 +686,8 @@
|
|||||||
|
|
||||||
&dcan1 {
|
&dcan1 {
|
||||||
status = "ok";
|
status = "ok";
|
||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep", "active";
|
||||||
pinctrl-0 = <&dcan1_pins_default>;
|
pinctrl-0 = <&dcan1_pins_sleep>;
|
||||||
pinctrl-1 = <&dcan1_pins_sleep>;
|
pinctrl-1 = <&dcan1_pins_sleep>;
|
||||||
|
pinctrl-2 = <&dcan1_pins_default>;
|
||||||
};
|
};
|
||||||
|
@ -587,9 +587,10 @@
|
|||||||
|
|
||||||
&dcan1 {
|
&dcan1 {
|
||||||
status = "ok";
|
status = "ok";
|
||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep", "active";
|
||||||
pinctrl-0 = <&dcan1_pins_default>;
|
pinctrl-0 = <&dcan1_pins_sleep>;
|
||||||
pinctrl-1 = <&dcan1_pins_sleep>;
|
pinctrl-1 = <&dcan1_pins_sleep>;
|
||||||
|
pinctrl-2 = <&dcan1_pins_default>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
|
@ -468,6 +468,7 @@
|
|||||||
interrupts = <36 37 38 39 40 41 42 43 44>;
|
interrupts = <36 37 38 39 40 41 42 43 44>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
clocks = <&clks 26>;
|
clocks = <&clks 26>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spdif@80054000 {
|
spdif@80054000 {
|
||||||
|
@ -108,7 +108,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
gpt1: timer@10003000 {
|
gpt1: timer@10003000 {
|
||||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||||
reg = <0x10003000 0x1000>;
|
reg = <0x10003000 0x1000>;
|
||||||
interrupts = <26>;
|
interrupts = <26>;
|
||||||
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
|
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
|
||||||
@ -117,7 +117,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
gpt2: timer@10004000 {
|
gpt2: timer@10004000 {
|
||||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||||
reg = <0x10004000 0x1000>;
|
reg = <0x10004000 0x1000>;
|
||||||
interrupts = <25>;
|
interrupts = <25>;
|
||||||
clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
|
clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
|
||||||
@ -126,7 +126,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
gpt3: timer@10005000 {
|
gpt3: timer@10005000 {
|
||||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||||
reg = <0x10005000 0x1000>;
|
reg = <0x10005000 0x1000>;
|
||||||
interrupts = <24>;
|
interrupts = <24>;
|
||||||
clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
|
clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
|
||||||
@ -376,7 +376,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
gpt4: timer@10019000 {
|
gpt4: timer@10019000 {
|
||||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||||
reg = <0x10019000 0x1000>;
|
reg = <0x10019000 0x1000>;
|
||||||
interrupts = <4>;
|
interrupts = <4>;
|
||||||
clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
|
clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
|
||||||
@ -385,7 +385,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
gpt5: timer@1001a000 {
|
gpt5: timer@1001a000 {
|
||||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||||
reg = <0x1001a000 0x1000>;
|
reg = <0x1001a000 0x1000>;
|
||||||
interrupts = <3>;
|
interrupts = <3>;
|
||||||
clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
|
clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
|
||||||
@ -436,7 +436,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
gpt6: timer@1001f000 {
|
gpt6: timer@1001f000 {
|
||||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||||
reg = <0x1001f000 0x1000>;
|
reg = <0x1001f000 0x1000>;
|
||||||
interrupts = <2>;
|
interrupts = <2>;
|
||||||
clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
|
clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
|
||||||
|
@ -295,9 +295,10 @@
|
|||||||
&tve {
|
&tve {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_vga_sync>;
|
pinctrl-0 = <&pinctrl_vga_sync>;
|
||||||
|
ddc-i2c-bus = <&i2c2>;
|
||||||
fsl,tve-mode = "vga";
|
fsl,tve-mode = "vga";
|
||||||
fsl,hsync-pin = <4>;
|
fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
|
||||||
fsl,vsync-pin = <6>;
|
fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
gpio,syscon-dev = <&devctrl 0x240>;
|
gpio,syscon-dev = <&devctrl 0x240>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pcie@21020000 {
|
pcie1: pcie@21020000 {
|
||||||
compatible = "ti,keystone-pcie","snps,dw-pcie";
|
compatible = "ti,keystone-pcie","snps,dw-pcie";
|
||||||
clocks = <&clkpcie1>;
|
clocks = <&clkpcie1>;
|
||||||
clock-names = "pcie";
|
clock-names = "pcie";
|
||||||
@ -96,6 +96,7 @@
|
|||||||
ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
|
ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
|
||||||
0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
|
0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
device_type = "pci";
|
device_type = "pci";
|
||||||
num-lanes = <2>;
|
num-lanes = <2>;
|
||||||
|
|
||||||
|
@ -286,7 +286,7 @@
|
|||||||
ti,syscon-dev = <&devctrl 0x2a0>;
|
ti,syscon-dev = <&devctrl 0x2a0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pcie@21800000 {
|
pcie0: pcie@21800000 {
|
||||||
compatible = "ti,keystone-pcie", "snps,dw-pcie";
|
compatible = "ti,keystone-pcie", "snps,dw-pcie";
|
||||||
clocks = <&clkpcie>;
|
clocks = <&clkpcie>;
|
||||||
clock-names = "pcie";
|
clock-names = "pcie";
|
||||||
@ -296,6 +296,7 @@
|
|||||||
ranges = <0x81000000 0 0 0x23250000 0 0x4000
|
ranges = <0x81000000 0 0 0x23250000 0 0x4000
|
||||||
0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
|
0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
device_type = "pci";
|
device_type = "pci";
|
||||||
num-lanes = <2>;
|
num-lanes = <2>;
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@
|
|||||||
|
|
||||||
lcd0: display@0 {
|
lcd0: display@0 {
|
||||||
compatible = "lgphilips,lb035q02";
|
compatible = "lgphilips,lb035q02";
|
||||||
label = "lcd";
|
label = "lcd35";
|
||||||
|
|
||||||
reg = <1>; /* CS1 */
|
reg = <1>; /* CS1 */
|
||||||
spi-max-frequency = <10000000>;
|
spi-max-frequency = <10000000>;
|
||||||
|
@ -98,7 +98,7 @@
|
|||||||
|
|
||||||
lcd0: display@0 {
|
lcd0: display@0 {
|
||||||
compatible = "samsung,lte430wq-f0c", "panel-dpi";
|
compatible = "samsung,lte430wq-f0c", "panel-dpi";
|
||||||
label = "lcd";
|
label = "lcd43";
|
||||||
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <<e430_pins>;
|
pinctrl-0 = <<e430_pins>;
|
||||||
|
@ -551,6 +551,7 @@
|
|||||||
reg = <0x4a066000 0x100>;
|
reg = <0x4a066000 0x100>;
|
||||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,hwmods = "mmu_dsp";
|
ti,hwmods = "mmu_dsp";
|
||||||
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu_ipu: mmu@55082000 {
|
mmu_ipu: mmu@55082000 {
|
||||||
@ -558,6 +559,7 @@
|
|||||||
reg = <0x55082000 0x100>;
|
reg = <0x55082000 0x100>;
|
||||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,hwmods = "mmu_ipu";
|
ti,hwmods = "mmu_ipu";
|
||||||
|
#iommu-cells = <0>;
|
||||||
ti,iommu-bus-err-back;
|
ti,iommu-bus-err-back;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -612,6 +612,7 @@
|
|||||||
reg = <0x4a066000 0x100>;
|
reg = <0x4a066000 0x100>;
|
||||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,hwmods = "mmu_dsp";
|
ti,hwmods = "mmu_dsp";
|
||||||
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu_ipu: mmu@55082000 {
|
mmu_ipu: mmu@55082000 {
|
||||||
@ -619,6 +620,7 @@
|
|||||||
reg = <0x55082000 0x100>;
|
reg = <0x55082000 0x100>;
|
||||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,hwmods = "mmu_ipu";
|
ti,hwmods = "mmu_ipu";
|
||||||
|
#iommu-cells = <0>;
|
||||||
ti,iommu-bus-err-back;
|
ti,iommu-bus-err-back;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -60,6 +60,22 @@
|
|||||||
rxc-skew-ps = <2000>;
|
rxc-skew-ps = <2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&gpio2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
accel1: accelerometer@53 {
|
||||||
|
compatible = "adi,adxl345";
|
||||||
|
reg = <0x53>;
|
||||||
|
|
||||||
|
interrupt-parent = <&portc>;
|
||||||
|
interrupts = <3 2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
vmmc-supply = <®ulator_3_3v>;
|
vmmc-supply = <®ulator_3_3v>;
|
||||||
vqmmc-supply = <®ulator_3_3v>;
|
vqmmc-supply = <®ulator_3_3v>;
|
||||||
@ -68,19 +84,3 @@
|
|||||||
&usb1 {
|
&usb1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio2 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2c1{
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
accel1: accel1@53{
|
|
||||||
compatible = "adxl34x";
|
|
||||||
reg = <0x53>;
|
|
||||||
|
|
||||||
interrupt-parent = < &portc >;
|
|
||||||
interrupts = <3 2>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr1310 Evaluation Baord
|
* DTS file for SPEAr1310 Evaluation Baord
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for all SPEAr1310 SoCs
|
* DTS file for all SPEAr1310 SoCs
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr1340 Evaluation Baord
|
* DTS file for SPEAr1340 Evaluation Baord
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for all SPEAr1340 SoCs
|
* DTS file for all SPEAr1340 SoCs
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for all SPEAr13xx SoCs
|
* DTS file for all SPEAr13xx SoCs
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr300 Evaluation Baord
|
* DTS file for SPEAr300 Evaluation Baord
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr300 SoC
|
* DTS file for SPEAr300 SoC
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr310 Evaluation Baord
|
* DTS file for SPEAr310 Evaluation Baord
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr310 SoC
|
* DTS file for SPEAr310 SoC
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr320 Evaluation Baord
|
* DTS file for SPEAr320 Evaluation Baord
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for SPEAr320 SoC
|
* DTS file for SPEAr320 SoC
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* DTS file for all SPEAr3xx SoCs
|
* DTS file for all SPEAr3xx SoCs
|
||||||
*
|
*
|
||||||
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
|
* Copyright 2012 Viresh Kumar <vireshk@kernel.org>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
@ -17,6 +17,13 @@
|
|||||||
model = "ST-Ericsson U8540 platform with Device Tree";
|
model = "ST-Ericsson U8540 platform with Device Tree";
|
||||||
compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
|
compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
|
|
||||||
memory@0 {
|
memory@0 {
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
|
reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
|
||||||
|
@ -16,6 +16,13 @@
|
|||||||
model = "ST-Ericsson CCU9540 platform with Device Tree";
|
model = "ST-Ericsson CCU9540 platform with Device Tree";
|
||||||
compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
|
compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
reg = <0x00000000 0x20000000>;
|
reg = <0x00000000 0x20000000>;
|
||||||
};
|
};
|
||||||
|
@ -971,7 +971,7 @@
|
|||||||
power-domains = <&pm_domains DOMAIN_VAPE>;
|
power-domains = <&pm_domains DOMAIN_VAPE>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80120000 {
|
ux500_serial0: uart@80120000 {
|
||||||
compatible = "arm,pl011", "arm,primecell";
|
compatible = "arm,pl011", "arm,primecell";
|
||||||
reg = <0x80120000 0x1000>;
|
reg = <0x80120000 0x1000>;
|
||||||
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@ -986,7 +986,7 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80121000 {
|
ux500_serial1: uart@80121000 {
|
||||||
compatible = "arm,pl011", "arm,primecell";
|
compatible = "arm,pl011", "arm,primecell";
|
||||||
reg = <0x80121000 0x1000>;
|
reg = <0x80121000 0x1000>;
|
||||||
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@ -1001,7 +1001,7 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80007000 {
|
ux500_serial2: uart@80007000 {
|
||||||
compatible = "arm,pl011", "arm,primecell";
|
compatible = "arm,pl011", "arm,primecell";
|
||||||
reg = <0x80007000 0x1000>;
|
reg = <0x80007000 0x1000>;
|
||||||
interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
@ -32,11 +32,11 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This UART is unused and thus left disabled */
|
||||||
uart@80121000 {
|
uart@80121000 {
|
||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep";
|
||||||
pinctrl-0 = <&uart1_default_mode>;
|
pinctrl-0 = <&uart1_default_mode>;
|
||||||
pinctrl-1 = <&uart1_sleep_mode>;
|
pinctrl-1 = <&uart1_sleep_mode>;
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80007000 {
|
uart@80007000 {
|
||||||
|
@ -17,6 +17,13 @@
|
|||||||
model = "ST-Ericsson HREF (pre-v60) and ST UIB";
|
model = "ST-Ericsson HREF (pre-v60) and ST UIB";
|
||||||
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
/* Reset line for the BU21013 touchscreen */
|
/* Reset line for the BU21013 touchscreen */
|
||||||
i2c@80110000 {
|
i2c@80110000 {
|
||||||
|
@ -16,4 +16,11 @@
|
|||||||
/ {
|
/ {
|
||||||
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
|
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
|
||||||
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -23,6 +23,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
|
/* Enable UART1 on this board */
|
||||||
|
uart@80121000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
i2c@80004000 {
|
i2c@80004000 {
|
||||||
tps61052@33 {
|
tps61052@33 {
|
||||||
compatible = "tps61052";
|
compatible = "tps61052";
|
||||||
|
@ -19,6 +19,13 @@
|
|||||||
model = "ST-Ericsson HREF (v60+) and ST UIB";
|
model = "ST-Ericsson HREF (v60+) and ST UIB";
|
||||||
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
/* Reset line for the BU21013 touchscreen */
|
/* Reset line for the BU21013 touchscreen */
|
||||||
i2c@80110000 {
|
i2c@80110000 {
|
||||||
|
@ -18,4 +18,11 @@
|
|||||||
/ {
|
/ {
|
||||||
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
|
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
|
||||||
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -43,15 +43,26 @@
|
|||||||
<&vaudio_hf_hrefv60_mode>,
|
<&vaudio_hf_hrefv60_mode>,
|
||||||
<&gbf_hrefv60_mode>,
|
<&gbf_hrefv60_mode>,
|
||||||
<&hdtv_hrefv60_mode>,
|
<&hdtv_hrefv60_mode>,
|
||||||
<&touch_hrefv60_mode>;
|
<&touch_hrefv60_mode>,
|
||||||
|
<&gpios_hrefv60_mode>;
|
||||||
|
|
||||||
sdi0 {
|
sdi0 {
|
||||||
/* SD card detect GPIO pin, extend default state */
|
|
||||||
sdi0_default_mode: sdi0_default {
|
sdi0_default_mode: sdi0_default {
|
||||||
|
/* SD card detect GPIO pin, extend default state */
|
||||||
default_hrefv60_cfg1 {
|
default_hrefv60_cfg1 {
|
||||||
pins = "GPIO95_E8";
|
pins = "GPIO95_E8";
|
||||||
ste,config = <&gpio_in_pu>;
|
ste,config = <&gpio_in_pu>;
|
||||||
};
|
};
|
||||||
|
/* VMMCI level-shifter enable */
|
||||||
|
default_hrefv60_cfg2 {
|
||||||
|
pins = "GPIO169_D22";
|
||||||
|
ste,config = <&gpio_out_lo>;
|
||||||
|
};
|
||||||
|
/* VMMCI level-shifter voltage select */
|
||||||
|
default_hrefv60_cfg3 {
|
||||||
|
pins = "GPIO5_AG6";
|
||||||
|
ste,config = <&gpio_out_hi>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
ipgpio {
|
ipgpio {
|
||||||
@ -213,6 +224,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
gpios {
|
||||||
|
/* Dangling GPIO pins */
|
||||||
|
gpios_hrefv60_mode: gpios_hrefv60 {
|
||||||
|
default_cfg1 {
|
||||||
|
/* Normally UART1 RXD, now dangling */
|
||||||
|
pins = "GPIO4_AH6";
|
||||||
|
ste,config = <&in_pu>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -18,6 +18,13 @@
|
|||||||
model = "Calao Systems Snowball platform with device tree";
|
model = "Calao Systems Snowball platform with device tree";
|
||||||
compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
|
compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
|
||||||
|
|
||||||
|
/* This stablilizes the serial port enumeration */
|
||||||
|
aliases {
|
||||||
|
serial0 = &ux500_serial0;
|
||||||
|
serial1 = &ux500_serial1;
|
||||||
|
serial2 = &ux500_serial2;
|
||||||
|
};
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
reg = <0x00000000 0x20000000>;
|
reg = <0x00000000 0x20000000>;
|
||||||
};
|
};
|
||||||
@ -223,11 +230,11 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* This UART is unused and thus left disabled */
|
||||||
uart@80121000 {
|
uart@80121000 {
|
||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep";
|
||||||
pinctrl-0 = <&uart1_default_mode>;
|
pinctrl-0 = <&uart1_default_mode>;
|
||||||
pinctrl-1 = <&uart1_sleep_mode>;
|
pinctrl-1 = <&uart1_sleep_mode>;
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80007000 {
|
uart@80007000 {
|
||||||
@ -452,7 +459,21 @@
|
|||||||
pins = "GPIO21_AB3"; /* DAT31DIR */
|
pins = "GPIO21_AB3"; /* DAT31DIR */
|
||||||
ste,config = <&out_hi>;
|
ste,config = <&out_hi>;
|
||||||
};
|
};
|
||||||
|
/* SD card detect GPIO pin, extend default state */
|
||||||
|
snowball_cfg2 {
|
||||||
|
pins = "GPIO218_AH11";
|
||||||
|
ste,config = <&gpio_in_pu>;
|
||||||
|
};
|
||||||
|
/* VMMCI level-shifter enable */
|
||||||
|
snowball_cfg3 {
|
||||||
|
pins = "GPIO217_AH12";
|
||||||
|
ste,config = <&gpio_out_lo>;
|
||||||
|
};
|
||||||
|
/* VMMCI level-shifter voltage select */
|
||||||
|
snowball_cfg4 {
|
||||||
|
pins = "GPIO228_AJ6";
|
||||||
|
ste,config = <&gpio_out_hi>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
ssp0 {
|
ssp0 {
|
||||||
|
@ -150,6 +150,16 @@
|
|||||||
interface-type = "ace";
|
interface-type = "ace";
|
||||||
reg = <0x5000 0x1000>;
|
reg = <0x5000 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pmu@9000 {
|
||||||
|
compatible = "arm,cci-400-pmu,r0";
|
||||||
|
reg = <0x9000 0x5000>;
|
||||||
|
interrupts = <0 105 4>,
|
||||||
|
<0 101 4>,
|
||||||
|
<0 102 4>,
|
||||||
|
<0 103 4>,
|
||||||
|
<0 104 4>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
memory-controller@7ffd0000 {
|
memory-controller@7ffd0000 {
|
||||||
@ -187,11 +197,22 @@
|
|||||||
<1 10 0xf08>;
|
<1 10 0xf08>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pmu {
|
pmu_a15 {
|
||||||
compatible = "arm,cortex-a15-pmu";
|
compatible = "arm,cortex-a15-pmu";
|
||||||
interrupts = <0 68 4>,
|
interrupts = <0 68 4>,
|
||||||
<0 69 4>;
|
<0 69 4>;
|
||||||
interrupt-affinity = <&cpu0>, <&cpu1>;
|
interrupt-affinity = <&cpu0>,
|
||||||
|
<&cpu1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pmu_a7 {
|
||||||
|
compatible = "arm,cortex-a7-pmu";
|
||||||
|
interrupts = <0 128 4>,
|
||||||
|
<0 129 4>,
|
||||||
|
<0 130 4>;
|
||||||
|
interrupt-affinity = <&cpu2>,
|
||||||
|
<&cpu3>,
|
||||||
|
<&cpu4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
oscclk6a: oscclk6a {
|
oscclk6a: oscclk6a {
|
||||||
|
@ -353,7 +353,6 @@ CONFIG_POWER_RESET_AS3722=y
|
|||||||
CONFIG_POWER_RESET_GPIO=y
|
CONFIG_POWER_RESET_GPIO=y
|
||||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||||
CONFIG_POWER_RESET_KEYSTONE=y
|
CONFIG_POWER_RESET_KEYSTONE=y
|
||||||
CONFIG_POWER_RESET_SUN6I=y
|
|
||||||
CONFIG_POWER_RESET_RMOBILE=y
|
CONFIG_POWER_RESET_RMOBILE=y
|
||||||
CONFIG_SENSORS_LM90=y
|
CONFIG_SENSORS_LM90=y
|
||||||
CONFIG_SENSORS_LM95245=y
|
CONFIG_SENSORS_LM95245=y
|
||||||
|
@ -2,6 +2,7 @@ CONFIG_NO_HZ=y
|
|||||||
CONFIG_HIGH_RES_TIMERS=y
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_PERF_EVENTS=y
|
CONFIG_PERF_EVENTS=y
|
||||||
|
CONFIG_MODULES=y
|
||||||
CONFIG_ARCH_SUNXI=y
|
CONFIG_ARCH_SUNXI=y
|
||||||
CONFIG_SMP=y
|
CONFIG_SMP=y
|
||||||
CONFIG_NR_CPUS=8
|
CONFIG_NR_CPUS=8
|
||||||
@ -77,7 +78,6 @@ CONFIG_SPI_SUN6I=y
|
|||||||
CONFIG_GPIO_SYSFS=y
|
CONFIG_GPIO_SYSFS=y
|
||||||
CONFIG_POWER_SUPPLY=y
|
CONFIG_POWER_SUPPLY=y
|
||||||
CONFIG_POWER_RESET=y
|
CONFIG_POWER_RESET=y
|
||||||
CONFIG_POWER_RESET_SUN6I=y
|
|
||||||
CONFIG_THERMAL=y
|
CONFIG_THERMAL=y
|
||||||
CONFIG_CPU_THERMAL=y
|
CONFIG_CPU_THERMAL=y
|
||||||
CONFIG_WATCHDOG=y
|
CONFIG_WATCHDOG=y
|
||||||
@ -87,6 +87,10 @@ CONFIG_REGULATOR=y
|
|||||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||||
CONFIG_REGULATOR_AXP20X=y
|
CONFIG_REGULATOR_AXP20X=y
|
||||||
CONFIG_REGULATOR_GPIO=y
|
CONFIG_REGULATOR_GPIO=y
|
||||||
|
CONFIG_FB=y
|
||||||
|
CONFIG_FB_SIMPLE=y
|
||||||
|
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||||
|
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
CONFIG_USB_EHCI_HCD=y
|
CONFIG_USB_EHCI_HCD=y
|
||||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||||
|
@ -13,6 +13,7 @@ generic-y += kdebug.h
|
|||||||
generic-y += local.h
|
generic-y += local.h
|
||||||
generic-y += local64.h
|
generic-y += local64.h
|
||||||
generic-y += mcs_spinlock.h
|
generic-y += mcs_spinlock.h
|
||||||
|
generic-y += mm-arch-hooks.h
|
||||||
generic-y += msgbuf.h
|
generic-y += msgbuf.h
|
||||||
generic-y += param.h
|
generic-y += param.h
|
||||||
generic-y += parport.h
|
generic-y += parport.h
|
||||||
|
@ -140,16 +140,11 @@ static inline u32 __raw_readl(const volatile void __iomem *addr)
|
|||||||
* The _caller variety takes a __builtin_return_address(0) value for
|
* The _caller variety takes a __builtin_return_address(0) value for
|
||||||
* /proc/vmalloc to use - and should only be used in non-inline functions.
|
* /proc/vmalloc to use - and should only be used in non-inline functions.
|
||||||
*/
|
*/
|
||||||
extern void __iomem *__arm_ioremap_pfn_caller(unsigned long, unsigned long,
|
|
||||||
size_t, unsigned int, void *);
|
|
||||||
extern void __iomem *__arm_ioremap_caller(phys_addr_t, size_t, unsigned int,
|
extern void __iomem *__arm_ioremap_caller(phys_addr_t, size_t, unsigned int,
|
||||||
void *);
|
void *);
|
||||||
|
|
||||||
extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int);
|
extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int);
|
||||||
extern void __iomem *__arm_ioremap(phys_addr_t, size_t, unsigned int);
|
|
||||||
extern void __iomem *__arm_ioremap_exec(phys_addr_t, size_t, bool cached);
|
extern void __iomem *__arm_ioremap_exec(phys_addr_t, size_t, bool cached);
|
||||||
extern void __iounmap(volatile void __iomem *addr);
|
extern void __iounmap(volatile void __iomem *addr);
|
||||||
extern void __arm_iounmap(volatile void __iomem *addr);
|
|
||||||
|
|
||||||
extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t,
|
extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t,
|
||||||
unsigned int, void *);
|
unsigned int, void *);
|
||||||
@ -321,21 +316,24 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
|
|||||||
static inline void memset_io(volatile void __iomem *dst, unsigned c,
|
static inline void memset_io(volatile void __iomem *dst, unsigned c,
|
||||||
size_t count)
|
size_t count)
|
||||||
{
|
{
|
||||||
memset((void __force *)dst, c, count);
|
extern void mmioset(void *, unsigned int, size_t);
|
||||||
|
mmioset((void __force *)dst, c, count);
|
||||||
}
|
}
|
||||||
#define memset_io(dst,c,count) memset_io(dst,c,count)
|
#define memset_io(dst,c,count) memset_io(dst,c,count)
|
||||||
|
|
||||||
static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
|
static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
|
||||||
size_t count)
|
size_t count)
|
||||||
{
|
{
|
||||||
memcpy(to, (const void __force *)from, count);
|
extern void mmiocpy(void *, const void *, size_t);
|
||||||
|
mmiocpy(to, (const void __force *)from, count);
|
||||||
}
|
}
|
||||||
#define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count)
|
#define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count)
|
||||||
|
|
||||||
static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
||||||
size_t count)
|
size_t count)
|
||||||
{
|
{
|
||||||
memcpy((void __force *)to, from, count);
|
extern void mmiocpy(void *, const void *, size_t);
|
||||||
|
mmiocpy((void __force *)to, from, count);
|
||||||
}
|
}
|
||||||
#define memcpy_toio(to,from,count) memcpy_toio(to,from,count)
|
#define memcpy_toio(to,from,count) memcpy_toio(to,from,count)
|
||||||
|
|
||||||
@ -348,18 +346,61 @@ static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
|||||||
#endif /* readl */
|
#endif /* readl */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ioremap and friends.
|
* ioremap() and friends.
|
||||||
*
|
*
|
||||||
* ioremap takes a PCI memory address, as specified in
|
* ioremap() takes a resource address, and size. Due to the ARM memory
|
||||||
* Documentation/io-mapping.txt.
|
* types, it is important to use the correct ioremap() function as each
|
||||||
|
* mapping has specific properties.
|
||||||
*
|
*
|
||||||
|
* Function Memory type Cacheability Cache hint
|
||||||
|
* ioremap() Device n/a n/a
|
||||||
|
* ioremap_nocache() Device n/a n/a
|
||||||
|
* ioremap_cache() Normal Writeback Read allocate
|
||||||
|
* ioremap_wc() Normal Non-cacheable n/a
|
||||||
|
* ioremap_wt() Normal Non-cacheable n/a
|
||||||
|
*
|
||||||
|
* All device mappings have the following properties:
|
||||||
|
* - no access speculation
|
||||||
|
* - no repetition (eg, on return from an exception)
|
||||||
|
* - number, order and size of accesses are maintained
|
||||||
|
* - unaligned accesses are "unpredictable"
|
||||||
|
* - writes may be delayed before they hit the endpoint device
|
||||||
|
*
|
||||||
|
* ioremap_nocache() is the same as ioremap() as there are too many device
|
||||||
|
* drivers using this for device registers, and documentation which tells
|
||||||
|
* people to use it for such for this to be any different. This is not a
|
||||||
|
* safe fallback for memory-like mappings, or memory regions where the
|
||||||
|
* compiler may generate unaligned accesses - eg, via inlining its own
|
||||||
|
* memcpy.
|
||||||
|
*
|
||||||
|
* All normal memory mappings have the following properties:
|
||||||
|
* - reads can be repeated with no side effects
|
||||||
|
* - repeated reads return the last value written
|
||||||
|
* - reads can fetch additional locations without side effects
|
||||||
|
* - writes can be repeated (in certain cases) with no side effects
|
||||||
|
* - writes can be merged before accessing the target
|
||||||
|
* - unaligned accesses can be supported
|
||||||
|
* - ordering is not guaranteed without explicit dependencies or barrier
|
||||||
|
* instructions
|
||||||
|
* - writes may be delayed before they hit the endpoint memory
|
||||||
|
*
|
||||||
|
* The cache hint is only a performance hint: CPUs may alias these hints.
|
||||||
|
* Eg, a CPU not implementing read allocate but implementing write allocate
|
||||||
|
* will provide a write allocate mapping instead.
|
||||||
*/
|
*/
|
||||||
#define ioremap(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE)
|
void __iomem *ioremap(resource_size_t res_cookie, size_t size);
|
||||||
#define ioremap_nocache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE)
|
#define ioremap ioremap
|
||||||
#define ioremap_cache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED)
|
#define ioremap_nocache ioremap
|
||||||
#define ioremap_wc(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_WC)
|
|
||||||
#define ioremap_wt(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE)
|
void __iomem *ioremap_cache(resource_size_t res_cookie, size_t size);
|
||||||
#define iounmap __arm_iounmap
|
#define ioremap_cache ioremap_cache
|
||||||
|
|
||||||
|
void __iomem *ioremap_wc(resource_size_t res_cookie, size_t size);
|
||||||
|
#define ioremap_wc ioremap_wc
|
||||||
|
#define ioremap_wt ioremap_wc
|
||||||
|
|
||||||
|
void iounmap(volatile void __iomem *iomem_cookie);
|
||||||
|
#define iounmap iounmap
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* io{read,write}{16,32}be() macros
|
* io{read,write}{16,32}be() macros
|
||||||
|
@ -275,7 +275,7 @@ static inline void *phys_to_virt(phys_addr_t x)
|
|||||||
*/
|
*/
|
||||||
#define __pa(x) __virt_to_phys((unsigned long)(x))
|
#define __pa(x) __virt_to_phys((unsigned long)(x))
|
||||||
#define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x)))
|
#define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x)))
|
||||||
#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
|
#define pfn_to_kaddr(pfn) __va((phys_addr_t)(pfn) << PAGE_SHIFT)
|
||||||
|
|
||||||
extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
|
extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
|
|||||||
*/
|
*/
|
||||||
static inline phys_addr_t __virt_to_idmap(unsigned long x)
|
static inline phys_addr_t __virt_to_idmap(unsigned long x)
|
||||||
{
|
{
|
||||||
if (arch_virt_to_idmap)
|
if (IS_ENABLED(CONFIG_MMU) && arch_virt_to_idmap)
|
||||||
return arch_virt_to_idmap(x);
|
return arch_virt_to_idmap(x);
|
||||||
else
|
else
|
||||||
return __virt_to_phys(x);
|
return __virt_to_phys(x);
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Architecture specific mm hooks
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015, IBM Corporation
|
|
||||||
* Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ASM_ARM_MM_ARCH_HOOKS_H
|
|
||||||
#define _ASM_ARM_MM_ARCH_HOOKS_H
|
|
||||||
|
|
||||||
#endif /* _ASM_ARM_MM_ARCH_HOOKS_H */
|
|
@ -129,7 +129,36 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* These are the memory types, defined to be compatible with
|
* These are the memory types, defined to be compatible with
|
||||||
* pre-ARMv6 CPUs cacheable and bufferable bits: XXCB
|
* pre-ARMv6 CPUs cacheable and bufferable bits: n/a,n/a,C,B
|
||||||
|
* ARMv6+ without TEX remapping, they are a table index.
|
||||||
|
* ARMv6+ with TEX remapping, they correspond to n/a,TEX(0),C,B
|
||||||
|
*
|
||||||
|
* MT type Pre-ARMv6 ARMv6+ type / cacheable status
|
||||||
|
* UNCACHED Uncached Strongly ordered
|
||||||
|
* BUFFERABLE Bufferable Normal memory / non-cacheable
|
||||||
|
* WRITETHROUGH Writethrough Normal memory / write through
|
||||||
|
* WRITEBACK Writeback Normal memory / write back, read alloc
|
||||||
|
* MINICACHE Minicache N/A
|
||||||
|
* WRITEALLOC Writeback Normal memory / write back, write alloc
|
||||||
|
* DEV_SHARED Uncached Device memory (shared)
|
||||||
|
* DEV_NONSHARED Uncached Device memory (non-shared)
|
||||||
|
* DEV_WC Bufferable Normal memory / non-cacheable
|
||||||
|
* DEV_CACHED Writeback Normal memory / write back, read alloc
|
||||||
|
* VECTORS Variable Normal memory / variable
|
||||||
|
*
|
||||||
|
* All normal memory mappings have the following properties:
|
||||||
|
* - reads can be repeated with no side effects
|
||||||
|
* - repeated reads return the last value written
|
||||||
|
* - reads can fetch additional locations without side effects
|
||||||
|
* - writes can be repeated (in certain cases) with no side effects
|
||||||
|
* - writes can be merged before accessing the target
|
||||||
|
* - unaligned accesses can be supported
|
||||||
|
*
|
||||||
|
* All device mappings have the following properties:
|
||||||
|
* - no access speculation
|
||||||
|
* - no repetition (eg, on return from an exception)
|
||||||
|
* - number, order and size of accesses are maintained
|
||||||
|
* - unaligned accesses are "unpredictable"
|
||||||
*/
|
*/
|
||||||
#define L_PTE_MT_UNCACHED (_AT(pteval_t, 0x00) << 2) /* 0000 */
|
#define L_PTE_MT_UNCACHED (_AT(pteval_t, 0x00) << 2) /* 0000 */
|
||||||
#define L_PTE_MT_BUFFERABLE (_AT(pteval_t, 0x01) << 2) /* 0001 */
|
#define L_PTE_MT_BUFFERABLE (_AT(pteval_t, 0x01) << 2) /* 0001 */
|
||||||
|
@ -50,6 +50,9 @@ extern void __aeabi_ulcmp(void);
|
|||||||
|
|
||||||
extern void fpundefinstr(void);
|
extern void fpundefinstr(void);
|
||||||
|
|
||||||
|
void mmioset(void *, unsigned int, size_t);
|
||||||
|
void mmiocpy(void *, const void *, size_t);
|
||||||
|
|
||||||
/* platform dependent support */
|
/* platform dependent support */
|
||||||
EXPORT_SYMBOL(arm_delay_ops);
|
EXPORT_SYMBOL(arm_delay_ops);
|
||||||
|
|
||||||
@ -88,6 +91,9 @@ EXPORT_SYMBOL(memmove);
|
|||||||
EXPORT_SYMBOL(memchr);
|
EXPORT_SYMBOL(memchr);
|
||||||
EXPORT_SYMBOL(__memzero);
|
EXPORT_SYMBOL(__memzero);
|
||||||
|
|
||||||
|
EXPORT_SYMBOL(mmioset);
|
||||||
|
EXPORT_SYMBOL(mmiocpy);
|
||||||
|
|
||||||
#ifdef CONFIG_MMU
|
#ifdef CONFIG_MMU
|
||||||
EXPORT_SYMBOL(copy_page);
|
EXPORT_SYMBOL(copy_page);
|
||||||
|
|
||||||
|
@ -410,7 +410,7 @@ ENDPROC(__fiq_abt)
|
|||||||
zero_fp
|
zero_fp
|
||||||
|
|
||||||
.if \trace
|
.if \trace
|
||||||
#ifdef CONFIG_IRQSOFF_TRACER
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||||
bl trace_hardirqs_off
|
bl trace_hardirqs_off
|
||||||
#endif
|
#endif
|
||||||
ct_user_exit save = 0
|
ct_user_exit save = 0
|
||||||
|
@ -818,12 +818,13 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
|
|||||||
if (arch_find_n_match_cpu_physical_id(dn, cpu, NULL))
|
if (arch_find_n_match_cpu_physical_id(dn, cpu, NULL))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
of_node_put(dn);
|
|
||||||
if (cpu >= nr_cpu_ids) {
|
if (cpu >= nr_cpu_ids) {
|
||||||
pr_warn("Failed to find logical CPU for %s\n",
|
pr_warn("Failed to find logical CPU for %s\n",
|
||||||
dn->name);
|
dn->name);
|
||||||
|
of_node_put(dn);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
of_node_put(dn);
|
||||||
|
|
||||||
irqs[i] = cpu;
|
irqs[i] = cpu;
|
||||||
cpumask_set_cpu(cpu, &pmu->supported_cpus);
|
cpumask_set_cpu(cpu, &pmu->supported_cpus);
|
||||||
|
@ -50,7 +50,7 @@ static void __soft_restart(void *addr)
|
|||||||
flush_cache_all();
|
flush_cache_all();
|
||||||
|
|
||||||
/* Switch to the identity mapping. */
|
/* Switch to the identity mapping. */
|
||||||
phys_reset = (phys_reset_t)(unsigned long)virt_to_phys(cpu_reset);
|
phys_reset = (phys_reset_t)(unsigned long)virt_to_idmap(cpu_reset);
|
||||||
phys_reset((unsigned long)addr);
|
phys_reset((unsigned long)addr);
|
||||||
|
|
||||||
/* Should never get here. */
|
/* Should never get here. */
|
||||||
|
@ -578,7 +578,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
|
|||||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||||
|
|
||||||
if ((unsigned)ipinr < NR_IPI) {
|
if ((unsigned)ipinr < NR_IPI) {
|
||||||
trace_ipi_entry(ipi_types[ipinr]);
|
trace_ipi_entry_rcuidle(ipi_types[ipinr]);
|
||||||
__inc_irq_stat(cpu, ipi_irqs[ipinr]);
|
__inc_irq_stat(cpu, ipi_irqs[ipinr]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -637,7 +637,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((unsigned)ipinr < NR_IPI)
|
if ((unsigned)ipinr < NR_IPI)
|
||||||
trace_ipi_exit(ipi_types[ipinr]);
|
trace_ipi_exit_rcuidle(ipi_types[ipinr]);
|
||||||
set_irq_regs(old_regs);
|
set_irq_regs(old_regs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,8 +61,10 @@
|
|||||||
|
|
||||||
/* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
|
/* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
|
||||||
|
|
||||||
|
ENTRY(mmiocpy)
|
||||||
ENTRY(memcpy)
|
ENTRY(memcpy)
|
||||||
|
|
||||||
#include "copy_template.S"
|
#include "copy_template.S"
|
||||||
|
|
||||||
ENDPROC(memcpy)
|
ENDPROC(memcpy)
|
||||||
|
ENDPROC(mmiocpy)
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
.text
|
.text
|
||||||
.align 5
|
.align 5
|
||||||
|
|
||||||
|
ENTRY(mmioset)
|
||||||
ENTRY(memset)
|
ENTRY(memset)
|
||||||
UNWIND( .fnstart )
|
UNWIND( .fnstart )
|
||||||
ands r3, r0, #3 @ 1 unaligned?
|
ands r3, r0, #3 @ 1 unaligned?
|
||||||
@ -133,3 +134,4 @@ UNWIND( .fnstart )
|
|||||||
b 1b
|
b 1b
|
||||||
UNWIND( .fnend )
|
UNWIND( .fnend )
|
||||||
ENDPROC(memset)
|
ENDPROC(memset)
|
||||||
|
ENDPROC(mmioset)
|
||||||
|
@ -291,8 +291,6 @@ void __init imx_gpc_check_dt(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM_GENERIC_DOMAINS
|
|
||||||
|
|
||||||
static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
|
static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
|
||||||
{
|
{
|
||||||
int iso, iso2sw;
|
int iso, iso2sw;
|
||||||
@ -399,7 +397,6 @@ static struct genpd_onecell_data imx_gpc_onecell_data = {
|
|||||||
static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
|
static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
|
||||||
{
|
{
|
||||||
struct clk *clk;
|
struct clk *clk;
|
||||||
bool is_off;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
imx6q_pu_domain.reg = pu_reg;
|
imx6q_pu_domain.reg = pu_reg;
|
||||||
@ -416,18 +413,13 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
|
|||||||
}
|
}
|
||||||
imx6q_pu_domain.num_clks = i;
|
imx6q_pu_domain.num_clks = i;
|
||||||
|
|
||||||
is_off = IS_ENABLED(CONFIG_PM);
|
/* Enable power always in case bootloader disabled it. */
|
||||||
if (is_off) {
|
imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
|
||||||
_imx6q_pm_pu_power_off(&imx6q_pu_domain.base);
|
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
* Enable power if compiled without CONFIG_PM in case the
|
|
||||||
* bootloader disabled it.
|
|
||||||
*/
|
|
||||||
imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
|
|
||||||
}
|
|
||||||
|
|
||||||
pm_genpd_init(&imx6q_pu_domain.base, NULL, is_off);
|
if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
pm_genpd_init(&imx6q_pu_domain.base, NULL, false);
|
||||||
return of_genpd_add_provider_onecell(dev->of_node,
|
return of_genpd_add_provider_onecell(dev->of_node,
|
||||||
&imx_gpc_onecell_data);
|
&imx_gpc_onecell_data);
|
||||||
|
|
||||||
@ -437,13 +429,6 @@ clk_err:
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
static inline int imx_gpc_genpd_init(struct device *dev, struct regulator *reg)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_PM_GENERIC_DOMAINS */
|
|
||||||
|
|
||||||
static int imx_gpc_probe(struct platform_device *pdev)
|
static int imx_gpc_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct regulator *pu_reg;
|
struct regulator *pu_reg;
|
||||||
|
@ -60,6 +60,7 @@ config SOC_AM43XX
|
|||||||
select ARM_GIC
|
select ARM_GIC
|
||||||
select MACH_OMAP_GENERIC
|
select MACH_OMAP_GENERIC
|
||||||
select MIGHT_HAVE_CACHE_L2X0
|
select MIGHT_HAVE_CACHE_L2X0
|
||||||
|
select HAVE_ARM_SCU
|
||||||
|
|
||||||
config SOC_DRA7XX
|
config SOC_DRA7XX
|
||||||
bool "TI DRA7XX"
|
bool "TI DRA7XX"
|
||||||
|
@ -117,7 +117,6 @@ static void omap2_show_dma_caps(void)
|
|||||||
u8 revision = dma_read(REVISION, 0) & 0xff;
|
u8 revision = dma_read(REVISION, 0) & 0xff;
|
||||||
printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
|
printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
|
||||||
revision >> 4, revision & 0xf);
|
revision >> 4, revision & 0xf);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned configure_dma_errata(void)
|
static unsigned configure_dma_errata(void)
|
||||||
|
@ -4,6 +4,7 @@ menuconfig ARCH_SIRF
|
|||||||
select ARCH_REQUIRE_GPIOLIB
|
select ARCH_REQUIRE_GPIOLIB
|
||||||
select GENERIC_IRQ_CHIP
|
select GENERIC_IRQ_CHIP
|
||||||
select NO_IOPORT_MAP
|
select NO_IOPORT_MAP
|
||||||
|
select REGMAP
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select PINCTRL_SIRF
|
select PINCTRL_SIRF
|
||||||
help
|
help
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* RTC I/O Bridge interfaces for CSR SiRFprimaII
|
* RTC I/O Bridge interfaces for CSR SiRFprimaII/atlas7
|
||||||
* ARM access the registers of SYSRTC, GPSRTC and PWRC through this module
|
* ARM access the registers of SYSRTC, GPSRTC and PWRC through this module
|
||||||
*
|
*
|
||||||
* Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
|
* Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
|
||||||
@ -10,6 +10,7 @@
|
|||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
#include <linux/regmap.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_address.h>
|
#include <linux/of_address.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
@ -66,6 +67,7 @@ u32 sirfsoc_rtc_iobrg_readl(u32 addr)
|
|||||||
{
|
{
|
||||||
unsigned long flags, val;
|
unsigned long flags, val;
|
||||||
|
|
||||||
|
/* TODO: add hwspinlock to sync with M3 */
|
||||||
spin_lock_irqsave(&rtciobrg_lock, flags);
|
spin_lock_irqsave(&rtciobrg_lock, flags);
|
||||||
|
|
||||||
val = __sirfsoc_rtc_iobrg_readl(addr);
|
val = __sirfsoc_rtc_iobrg_readl(addr);
|
||||||
@ -90,6 +92,7 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
|
|||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
/* TODO: add hwspinlock to sync with M3 */
|
||||||
spin_lock_irqsave(&rtciobrg_lock, flags);
|
spin_lock_irqsave(&rtciobrg_lock, flags);
|
||||||
|
|
||||||
sirfsoc_rtc_iobrg_pre_writel(val, addr);
|
sirfsoc_rtc_iobrg_pre_writel(val, addr);
|
||||||
@ -102,6 +105,45 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(sirfsoc_rtc_iobrg_writel);
|
EXPORT_SYMBOL_GPL(sirfsoc_rtc_iobrg_writel);
|
||||||
|
|
||||||
|
|
||||||
|
static int regmap_iobg_regwrite(void *context, unsigned int reg,
|
||||||
|
unsigned int val)
|
||||||
|
{
|
||||||
|
sirfsoc_rtc_iobrg_writel(val, reg);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int regmap_iobg_regread(void *context, unsigned int reg,
|
||||||
|
unsigned int *val)
|
||||||
|
{
|
||||||
|
*val = (u32)sirfsoc_rtc_iobrg_readl(reg);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct regmap_bus regmap_iobg = {
|
||||||
|
.reg_write = regmap_iobg_regwrite,
|
||||||
|
.reg_read = regmap_iobg_regread,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* devm_regmap_init_iobg(): Initialise managed register map
|
||||||
|
*
|
||||||
|
* @iobg: Device that will be interacted with
|
||||||
|
* @config: Configuration for register map
|
||||||
|
*
|
||||||
|
* The return value will be an ERR_PTR() on error or a valid pointer
|
||||||
|
* to a struct regmap. The regmap will be automatically freed by the
|
||||||
|
* device management code.
|
||||||
|
*/
|
||||||
|
struct regmap *devm_regmap_init_iobg(struct device *dev,
|
||||||
|
const struct regmap_config *config)
|
||||||
|
{
|
||||||
|
const struct regmap_bus *bus = ®map_iobg;
|
||||||
|
|
||||||
|
return devm_regmap_init(dev, bus, dev, config);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(devm_regmap_init_iobg);
|
||||||
|
|
||||||
static const struct of_device_id rtciobrg_ids[] = {
|
static const struct of_device_id rtciobrg_ids[] = {
|
||||||
{ .compatible = "sirf,prima2-rtciobg" },
|
{ .compatible = "sirf,prima2-rtciobg" },
|
||||||
{}
|
{}
|
||||||
@ -132,7 +174,7 @@ static int __init sirfsoc_rtciobrg_init(void)
|
|||||||
}
|
}
|
||||||
postcore_initcall(sirfsoc_rtciobrg_init);
|
postcore_initcall(sirfsoc_rtciobrg_init);
|
||||||
|
|
||||||
MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>, "
|
MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>");
|
||||||
"Barry Song <baohua.song@csr.com>");
|
MODULE_AUTHOR("Barry Song <baohua.song@csr.com>");
|
||||||
MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge");
|
MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include <linux/ata_platform.h>
|
#include <linux/ata_platform.h>
|
||||||
#include <linux/serial_8250.h>
|
#include <linux/serial_8250.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/regulator/machine.h>
|
||||||
|
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
@ -144,6 +145,8 @@ static void __init capc7117_init(void)
|
|||||||
|
|
||||||
capc7117_uarts_init();
|
capc7117_uarts_init();
|
||||||
capc7117_ide_init();
|
capc7117_ide_init();
|
||||||
|
|
||||||
|
regulator_has_full_constraints();
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(CAPC7117,
|
MACHINE_START(CAPC7117,
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <linux/syscore_ops.h>
|
#include <linux/syscore_ops.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/regulator/machine.h>
|
||||||
|
|
||||||
#include <linux/dm9000.h>
|
#include <linux/dm9000.h>
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
|
|||||||
cmx2xx_init_ac97();
|
cmx2xx_init_ac97();
|
||||||
cmx2xx_init_touchscreen();
|
cmx2xx_init_touchscreen();
|
||||||
cmx2xx_init_leds();
|
cmx2xx_init_leds();
|
||||||
|
|
||||||
|
regulator_has_full_constraints();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init cmx2xx_init_irq(void)
|
static void __init cmx2xx_init_irq(void)
|
||||||
|
@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
|
|||||||
cm_x300_init_ac97();
|
cm_x300_init_ac97();
|
||||||
cm_x300_init_wi2wi();
|
cm_x300_init_wi2wi();
|
||||||
cm_x300_init_bl();
|
cm_x300_init_bl();
|
||||||
|
|
||||||
|
regulator_has_full_constraints();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
|
static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include <linux/mtd/partitions.h>
|
#include <linux/mtd/partitions.h>
|
||||||
#include <linux/mtd/physmap.h>
|
#include <linux/mtd/physmap.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/regulator/machine.h>
|
||||||
#include <linux/ucb1400.h>
|
#include <linux/ucb1400.h>
|
||||||
|
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void)
|
|||||||
printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
|
printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
|
||||||
colibri_pxa270_baseboard);
|
colibri_pxa270_baseboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
regulator_has_full_constraints();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
|
/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user