mirror of https://gitee.com/openkylin/linux.git
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>
|
||||
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
||||
Stephen Hemminger <shemminger@osdl.org>
|
||||
Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
|
||||
Sumit Semwal <sumit.semwal@ti.com>
|
||||
Tejun Heo <htejun@gmail.com>
|
||||
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 <Uwe.Kleine-Koenig@digi.com>
|
||||
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>
|
||||
Yusuke Goda <goda.yusuke@renesas.com>
|
||||
Gustavo Padovan <gustavo@las.ic.unicamp.br>
|
||||
|
|
|
@ -1234,10 +1234,8 @@ Description:
|
|||
object is near the sensor, usually be observing
|
||||
reflectivity of infrared or ultrasound emitted.
|
||||
Often these sensors are unit less and as such conversion
|
||||
to SI units is not possible. Where it is, the units should
|
||||
be meters. If such a conversion is not possible, the reported
|
||||
values should behave in the same way as a distance, i.e. lower
|
||||
values indicate something is closer to the sensor.
|
||||
to SI units is not possible. Higher proximity measurements
|
||||
indicate closer objects, and vice versa.
|
||||
|
||||
What: /sys/.../iio:deviceX/in_illuminance_input
|
||||
What: /sys/.../iio:deviceX/in_illuminance_raw
|
||||
|
|
|
@ -3383,7 +3383,7 @@ void intel_crt_init(struct drm_device *dev)
|
|||
<td valign="top" >TBD</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="2" valign="top" >omap</td>
|
||||
<td valign="top" >omap</td>
|
||||
<td valign="top" >Generic</td>
|
||||
<td valign="top" >“zorder”</td>
|
||||
<td valign="top" >RANGE</td>
|
||||
|
|
|
@ -60,4 +60,4 @@ Introduction
|
|||
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
|
||||
http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
|
||||
|
||||
- Allwinner A23
|
||||
- Allwinner A23 (sun8i)
|
||||
+ Datasheet
|
||||
http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
|
||||
+ User Manual
|
||||
|
@ -55,7 +55,23 @@ SunXi family
|
|||
+ User Manual
|
||||
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
|
||||
- Allwinner A80
|
||||
+ Datasheet
|
||||
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
|
||||
contain the string 'Fail'. The userspace recovery tools
|
||||
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
|
||||
--------
|
||||
|
|
|
@ -296,7 +296,7 @@ ii) Status
|
|||
underlying device. When this is enabled when loading the table,
|
||||
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
|
||||
drop into a read-only metadata mode in which no changes to
|
||||
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
|
||||
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
|
||||
|
||||
create_thin <dev id>
|
||||
|
|
|
@ -9,4 +9,6 @@ using one of the following compatible strings:
|
|||
allwinner,sun6i-a31
|
||||
allwinner,sun7i-a20
|
||||
allwinner,sun8i-a23
|
||||
allwinner,sun8i-a33
|
||||
allwinner,sun8i-h3
|
||||
allwinner,sun9i-a80
|
||||
|
|
|
@ -65,8 +65,10 @@ Optional properties:
|
|||
- edid: verbatim EDID data block describing attached display.
|
||||
- ddc: phandle describing the i2c bus handling the display data
|
||||
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.
|
||||
Port 0 is the input port connected to the IPU display interface,
|
||||
port 1 is the output port connected to a panel.
|
||||
|
||||
example:
|
||||
|
||||
|
@ -75,9 +77,29 @@ display@di0 {
|
|||
edid = [edid-data];
|
||||
interface-pix-fmt = "rgb24";
|
||||
|
||||
port {
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
display_in: endpoint {
|
||||
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:
|
||||
- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
|
||||
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
|
||||
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
|
||||
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:
|
||||
|
||||
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?
|
||||
|
||||
A: No. You can suspend successfully, but you'll not be able to
|
||||
resume. uswsusp should be able to work with LVM. See suspend.sf.net.
|
||||
A: Yes and No. You can suspend successfully, but the kernel will not be able
|
||||
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
|
||||
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
|
||||
|
||||
ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
S: Maintained
|
||||
|
||||
ADM1025 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/adm1025
|
||||
|
@ -430,7 +430,7 @@ S: Maintained
|
|||
F: drivers/macintosh/therm_adt746x.c
|
||||
|
||||
ADT7475 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/adt7475
|
||||
|
@ -445,7 +445,7 @@ F: drivers/input/misc/adxl34x.c
|
|||
|
||||
ADVANSYS SCSI DRIVER
|
||||
M: Matthew Wilcox <matthew@wil.cx>
|
||||
M: Hannes Reinecke <hare@suse.de>
|
||||
M: Hannes Reinecke <hare@suse.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/scsi/advansys.txt
|
||||
|
@ -506,7 +506,7 @@ F: drivers/scsi/aha152x*
|
|||
F: drivers/scsi/pcmcia/aha152x*
|
||||
|
||||
AIC7XXX / AIC79XX SCSI DRIVER
|
||||
M: Hannes Reinecke <hare@suse.de>
|
||||
M: Hannes Reinecke <hare@suse.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/scsi/aic7xxx/
|
||||
|
@ -746,7 +746,7 @@ S: Maintained
|
|||
F: sound/aoa/
|
||||
|
||||
APM DRIVER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
S: Odd fixes
|
||||
F: arch/x86/kernel/apm_32.c
|
||||
F: include/linux/apm_bios.h
|
||||
|
@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
|
|||
M: Baruch Siach <baruch@tkos.co.il>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: arch/arm/boot/dts/cx92755*
|
||||
N: digicolor
|
||||
|
||||
ARM/EBSA110 MACHINE SUPPORT
|
||||
|
@ -1324,7 +1325,7 @@ F: arch/arm/mach-pxa/include/mach/palmtc.h
|
|||
F: arch/arm/mach-pxa/palmtc.c
|
||||
|
||||
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
|
||||
W: http://hackndev.com
|
||||
S: Maintained
|
||||
|
@ -1614,6 +1615,7 @@ M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: arch/arm/boot/dts/vexpress*
|
||||
F: arch/arm64/boot/dts/arm/vexpress*
|
||||
F: arch/arm/mach-vexpress/
|
||||
F: */*/vexpress*
|
||||
F: */*/*/vexpress*
|
||||
|
@ -2404,7 +2406,7 @@ F: drivers/gpio/gpio-bt8xx.c
|
|||
BTRFS FILE SYSTEM
|
||||
M: Chris Mason <clm@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
|
||||
W: http://btrfs.wiki.kernel.org/
|
||||
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/platforms/cell/
|
||||
|
||||
CEPH DISTRIBUTED FILE SYSTEM CLIENT
|
||||
CEPH COMMON CODE (LIBCEPH)
|
||||
M: Ilya Dryomov <idryomov@gmail.com>
|
||||
M: "Yan, Zheng" <zyan@redhat.com>
|
||||
M: Sage Weil <sage@redhat.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/
|
||||
F: net/ceph/
|
||||
F: include/linux/ceph/
|
||||
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:
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Orphan
|
||||
|
@ -2735,7 +2749,7 @@ COCCINELLE/Semantic Patches (SmPL)
|
|||
M: Julia Lawall <Julia.Lawall@lip6.fr>
|
||||
M: Gilles Muller <Gilles.Muller@lip6.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)
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
|
||||
W: http://coccinelle.lip6.fr/
|
||||
|
@ -2851,7 +2865,7 @@ F: kernel/cpuset.c
|
|||
|
||||
CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
|
||||
M: Johannes Weiner <hannes@cmpxchg.org>
|
||||
M: Michal Hocko <mhocko@suse.cz>
|
||||
M: Michal Hocko <mhocko@kernel.org>
|
||||
L: cgroups@vger.kernel.org
|
||||
L: linux-mm@kvack.org
|
||||
S: Maintained
|
||||
|
@ -2932,7 +2946,7 @@ F: arch/x86/kernel/cpuid.c
|
|||
F: arch/x86/kernel/msr.c
|
||||
|
||||
CPU POWER MONITORING SUBSYSTEM
|
||||
M: Thomas Renninger <trenn@suse.de>
|
||||
M: Thomas Renninger <trenn@suse.com>
|
||||
L: linux-pm@vger.kernel.org
|
||||
S: Maintained
|
||||
F: tools/power/cpupower/
|
||||
|
@ -3162,7 +3176,7 @@ F: Documentation/networking/dmfe.txt
|
|||
F: drivers/net/ethernet/dec/tulip/dmfe.c
|
||||
|
||||
DC390/AM53C974 SCSI driver
|
||||
M: Hannes Reinecke <hare@suse.de>
|
||||
M: Hannes Reinecke <hare@suse.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/scsi/am53c974.c
|
||||
|
@ -3366,7 +3380,7 @@ W: http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
|
|||
S: Maintained
|
||||
|
||||
DISKQUOTA
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/quota.txt
|
||||
F: fs/quota/
|
||||
|
@ -3422,7 +3436,7 @@ F: Documentation/hwmon/dme1737
|
|||
F: drivers/hwmon/dme1737.c
|
||||
|
||||
DMI/SMBIOS SUPPORT
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
S: Maintained
|
||||
T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
|
||||
F: Documentation/ABI/testing/sysfs-firmware-dmi-tables
|
||||
|
@ -4038,7 +4052,7 @@ F: drivers/of/of_mdio.c
|
|||
F: drivers/of/of_net.c
|
||||
|
||||
EXT2 FILE SYSTEM
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
L: linux-ext4@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/ext2.txt
|
||||
|
@ -4046,7 +4060,7 @@ F: fs/ext2/
|
|||
F: include/linux/ext2*
|
||||
|
||||
EXT3 FILE SYSTEM
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
M: Andrew Morton <akpm@linux-foundation.org>
|
||||
M: Andreas Dilger <adilger.kernel@dilger.ca>
|
||||
L: linux-ext4@vger.kernel.org
|
||||
|
@ -4096,7 +4110,7 @@ F: drivers/video/fbdev/exynos/exynos_mipi*
|
|||
F: include/video/exynos_mipi*
|
||||
|
||||
F71805F HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/f71805f
|
||||
|
@ -4231,7 +4245,7 @@ S: Maintained
|
|||
F: drivers/block/rsxx/
|
||||
|
||||
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
|
||||
S: Odd fixes
|
||||
F: drivers/block/floppy.c
|
||||
|
@ -4652,7 +4666,7 @@ F: drivers/media/usb/stk1160/
|
|||
|
||||
H8/300 ARCHITECTURE
|
||||
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
|
||||
T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
|
||||
S: Maintained
|
||||
|
@ -4699,7 +4713,7 @@ S: Maintained
|
|||
F: drivers/media/usb/hackrf/
|
||||
|
||||
HARDWARE MONITORING
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
M: Guenter Roeck <linux@roeck-us.net>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
W: http://www.lm-sensors.org/
|
||||
|
@ -4802,7 +4816,7 @@ F: include/linux/pm.h
|
|||
F: arch/*/include/asm/suspend*.h
|
||||
|
||||
HID CORE LAYER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
||||
S: Maintained
|
||||
|
@ -4811,7 +4825,7 @@ F: include/linux/hid*
|
|||
F: include/uapi/linux/hid*
|
||||
|
||||
HID SENSOR HUB DRIVERS
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
M: Jonathan Cameron <jic23@kernel.org>
|
||||
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
|
@ -4945,7 +4959,7 @@ F: include/linux/hyperv.h
|
|||
F: tools/hv/
|
||||
|
||||
I2C OVER PARALLEL PORT
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
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
|
||||
|
||||
I2C/SMBUS CONTROLLER DRIVERS FOR PC
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/i2c/busses/i2c-ali1535
|
||||
|
@ -4995,7 +5009,7 @@ F: drivers/i2c/busses/i2c-ismt.c
|
|||
F: Documentation/i2c/busses/i2c-ismt
|
||||
|
||||
I2C/SMBUS STUB DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/i2c/i2c-stub.c
|
||||
|
@ -5022,7 +5036,7 @@ L: linux-acpi@vger.kernel.org
|
|||
S: Maintained
|
||||
|
||||
I2C-TAOS-EVM DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/i2c/busses/i2c-taos-evm
|
||||
|
@ -5551,8 +5565,8 @@ F: include/uapi/linux/ip_vs.h
|
|||
F: net/netfilter/ipvs/
|
||||
|
||||
IPWIRELESS DRIVER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: David Sterba <dsterba@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
M: David Sterba <dsterba@suse.com>
|
||||
S: Odd Fixes
|
||||
F: drivers/tty/ipwireless/
|
||||
|
||||
|
@ -5672,7 +5686,7 @@ S: Maintained
|
|||
F: drivers/isdn/hardware/eicon/
|
||||
|
||||
IT87 HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/it87
|
||||
|
@ -5739,7 +5753,7 @@ F: include/uapi/linux/jffs2.h
|
|||
|
||||
JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
|
||||
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
|
||||
S: Maintained
|
||||
F: fs/jbd/
|
||||
|
@ -5803,7 +5817,7 @@ S: Maintained
|
|||
F: fs/autofs4/
|
||||
|
||||
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 rc-fixes
|
||||
L: linux-kbuild@vger.kernel.org
|
||||
|
@ -5867,7 +5881,7 @@ F: arch/x86/include/asm/svm.h
|
|||
F: arch/x86/kvm/svm.c
|
||||
|
||||
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
||||
M: Alexander Graf <agraf@suse.de>
|
||||
M: Alexander Graf <agraf@suse.com>
|
||||
L: kvm-ppc@vger.kernel.org
|
||||
W: http://kvm.qumranet.com
|
||||
T: git git://github.com/agraf/linux-2.6.git
|
||||
|
@ -6024,7 +6038,7 @@ F: drivers/leds/
|
|||
F: include/linux/leds.h
|
||||
|
||||
LEGACY EEPROM DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
S: Maintained
|
||||
F: Documentation/misc-devices/eeprom
|
||||
F: drivers/misc/eeprom/eeprom.c
|
||||
|
@ -6077,7 +6091,7 @@ F: include/linux/ata.h
|
|||
F: include/linux/libata.h
|
||||
|
||||
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
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
|
||||
S: Maintained
|
||||
|
@ -6147,6 +6161,7 @@ L: linux-nvdimm@lists.01.org
|
|||
Q: https://patchwork.kernel.org/project/linux-nvdimm/list/
|
||||
S: Supported
|
||||
F: drivers/nvdimm/pmem.c
|
||||
F: include/linux/pmem.h
|
||||
|
||||
LINUX FOR IBM pSERIES (RS/6000)
|
||||
M: Paul Mackerras <paulus@au.ibm.com>
|
||||
|
@ -6161,7 +6176,7 @@ M: Michael Ellerman <mpe@ellerman.id.au>
|
|||
W: http://www.penguinppc.org/
|
||||
L: linuxppc-dev@lists.ozlabs.org
|
||||
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
|
||||
F: Documentation/powerpc/
|
||||
F: arch/powerpc/
|
||||
|
@ -6237,8 +6252,8 @@ F: drivers/platform/x86/hp_accel.c
|
|||
LIVE PATCHING
|
||||
M: Josh Poimboeuf <jpoimboe@redhat.com>
|
||||
M: Seth Jennings <sjenning@redhat.com>
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Vojtech Pavlik <vojtech@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
M: Vojtech Pavlik <vojtech@suse.com>
|
||||
S: Maintained
|
||||
F: kernel/livepatch/
|
||||
F: include/linux/livepatch.h
|
||||
|
@ -6264,21 +6279,21 @@ S: Maintained
|
|||
F: drivers/hwmon/lm73.c
|
||||
|
||||
LM78 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/lm78
|
||||
F: drivers/hwmon/lm78.c
|
||||
|
||||
LM83 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/lm83
|
||||
F: drivers/hwmon/lm83.c
|
||||
|
||||
LM90 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/lm90
|
||||
|
@ -7005,6 +7020,7 @@ F: include/uapi/linux/netfilter/
|
|||
F: net/*/netfilter.c
|
||||
F: net/*/netfilter/
|
||||
F: net/netfilter/
|
||||
F: net/bridge/br_netfilter*.c
|
||||
|
||||
NETLABEL
|
||||
M: Paul Moore <paul@paul-moore.com>
|
||||
|
@ -7704,7 +7720,7 @@ S: Maintained
|
|||
F: drivers/char/pc8736x_gpio.c
|
||||
|
||||
PC87427 HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/pc87427
|
||||
|
@ -7981,7 +7997,7 @@ S: Maintained
|
|||
F: drivers/pinctrl/samsung/
|
||||
|
||||
PIN CONTROLLER - ST SPEAR
|
||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||
M: Viresh Kumar <vireshk@kernel.org>
|
||||
L: spear-devel@list.st.com
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
W: http://www.st.com/spear
|
||||
|
@ -7989,7 +8005,7 @@ S: Maintained
|
|||
F: drivers/pinctrl/spear/
|
||||
|
||||
PKTCDVD DRIVER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
S: Maintained
|
||||
F: drivers/block/pktcdvd.c
|
||||
F: include/linux/pktcdvd.h
|
||||
|
@ -8366,10 +8382,12 @@ RADOS BLOCK DEVICE (RBD)
|
|||
M: Ilya Dryomov <idryomov@gmail.com>
|
||||
M: Sage Weil <sage@redhat.com>
|
||||
M: Alex Elder <elder@kernel.org>
|
||||
M: ceph-devel@vger.kernel.org
|
||||
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/ABI/testing/sysfs-bus-rbd
|
||||
F: drivers/block/rbd.c
|
||||
F: drivers/block/rbd_types.h
|
||||
|
||||
|
@ -8878,7 +8896,7 @@ S: Maintained
|
|||
F: drivers/tty/serial/
|
||||
|
||||
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>
|
||||
S: Maintained
|
||||
F: include/linux/dma/dw.h
|
||||
|
@ -9045,7 +9063,7 @@ S: Maintained
|
|||
F: drivers/mmc/host/sdhci-s3c*
|
||||
|
||||
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: linux-mmc@vger.kernel.org
|
||||
S: Maintained
|
||||
|
@ -9407,7 +9425,7 @@ F: Documentation/hwmon/sch5627
|
|||
F: drivers/hwmon/sch5627.c
|
||||
|
||||
SMSC47B397 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/smsc47b397
|
||||
|
@ -9456,7 +9474,7 @@ S: Supported
|
|||
F: drivers/media/pci/solo6x10/
|
||||
|
||||
SOFTWARE RAID (Multiple Disks) SUPPORT
|
||||
M: Neil Brown <neilb@suse.de>
|
||||
M: Neil Brown <neilb@suse.com>
|
||||
L: linux-raid@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/md/
|
||||
|
@ -9499,7 +9517,7 @@ F: drivers/memstick/core/ms_block.*
|
|||
|
||||
SOUND
|
||||
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)
|
||||
W: http://www.alsa-project.org/
|
||||
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
|
||||
|
||||
SPEAR PLATFORM SUPPORT
|
||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||
M: Viresh Kumar <vireshk@kernel.org>
|
||||
M: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
|
||||
L: spear-devel@list.st.com
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
|
@ -9592,7 +9610,7 @@ S: Maintained
|
|||
F: arch/arm/mach-spear/
|
||||
|
||||
SPEAR CLOCK FRAMEWORK SUPPORT
|
||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||
M: Viresh Kumar <vireshk@kernel.org>
|
||||
L: spear-devel@list.st.com
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
W: http://www.st.com/spear
|
||||
|
@ -10382,7 +10400,7 @@ K: ^Subject:.*(?i)trivial
|
|||
|
||||
TTY LAYER
|
||||
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
M: Jiri Slaby <jslaby@suse.cz>
|
||||
M: Jiri Slaby <jslaby@suse.com>
|
||||
S: Supported
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
|
||||
F: Documentation/serial/
|
||||
|
@ -10456,7 +10474,7 @@ F: arch/m68k/*/*_no.*
|
|||
F: arch/m68k/include/asm/*_no.*
|
||||
|
||||
UDF FILESYSTEM
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/udf.txt
|
||||
F: fs/udf/
|
||||
|
@ -10599,7 +10617,7 @@ F: drivers/usb/gadget/
|
|||
F: include/linux/usb/gadget*
|
||||
|
||||
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
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
||||
S: Maintained
|
||||
|
@ -10724,7 +10742,7 @@ S: Maintained
|
|||
F: drivers/usb/host/uhci*
|
||||
|
||||
USB "USBNET" DRIVER FRAMEWORK
|
||||
M: Oliver Neukum <oneukum@suse.de>
|
||||
M: Oliver Neukum <oneukum@suse.com>
|
||||
L: netdev@vger.kernel.org
|
||||
W: http://www.linux-usb.org/usbnet
|
||||
S: Maintained
|
||||
|
@ -11051,7 +11069,7 @@ F: Documentation/hwmon/w83793
|
|||
F: drivers/hwmon/w83793.c
|
||||
|
||||
W83795 HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: drivers/hwmon/w83795.c
|
||||
|
|
11
Makefile
11
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 4
|
||||
PATCHLEVEL = 2
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION = -rc1
|
||||
EXTRAVERSION = -rc3
|
||||
NAME = Hurr durr I'ma sheep
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
@ -780,10 +780,11 @@ endif
|
|||
include scripts/Makefile.kasan
|
||||
include scripts/Makefile.extrawarn
|
||||
|
||||
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
|
||||
KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
||||
KBUILD_AFLAGS += $(KAFLAGS)
|
||||
KBUILD_CFLAGS += $(KCFLAGS)
|
||||
# Add any arch overrides and user supplied CPPFLAGS, AFLAGS and CFLAGS as the
|
||||
# last assignments
|
||||
KBUILD_CPPFLAGS += $(ARCH_CPPFLAGS) $(KCPPFLAGS)
|
||||
KBUILD_AFLAGS += $(ARCH_AFLAGS) $(KAFLAGS)
|
||||
KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS)
|
||||
|
||||
# Use --build-id when available.
|
||||
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
|
||||
|
|
|
@ -221,6 +221,10 @@ config ARCH_TASK_STRUCT_ALLOCATOR
|
|||
config ARCH_THREAD_INFO_ALLOCATOR
|
||||
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
|
||||
bool
|
||||
help
|
||||
|
|
|
@ -5,6 +5,7 @@ generic-y += cputime.h
|
|||
generic-y += exec.h
|
||||
generic-y += irq_work.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += preempt.h
|
||||
generic-y += sections.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
|
||||
bool "ARC750D"
|
||||
select ARC_CANT_LLSC
|
||||
help
|
||||
Support for ARC750 core
|
||||
|
||||
|
@ -362,7 +363,7 @@ config ARC_CANT_LLSC
|
|||
config ARC_HAS_LLSC
|
||||
bool "Insn: LLOCK/SCOND (efficient atomic ops)"
|
||||
default y
|
||||
depends on !ARC_CPU_750D && !ARC_CANT_LLSC
|
||||
depends on !ARC_CANT_LLSC
|
||||
|
||||
config ARC_HAS_SWAPE
|
||||
bool "Insn: SWAPE (endian-swap)"
|
||||
|
|
|
@ -49,7 +49,8 @@ endif
|
|||
|
||||
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
# 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
|
||||
|
||||
# small data is default for elf32 tool-chain. If not usable, disable it
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
/ {
|
||||
compatible = "snps,arc";
|
||||
clock-frequency = <75000000>;
|
||||
clock-frequency = <90000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
/ {
|
||||
compatible = "snps,arc";
|
||||
clock-frequency = <75000000>;
|
||||
clock-frequency = <90000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ generic-y += kvm_para.h
|
|||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += mman.h
|
||||
generic-y += msgbuf.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 \
|
||||
* const prop. \
|
||||
*/ \
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
__asm__ __volatile__( \
|
||||
"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; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
/* \
|
||||
* 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; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
/* \
|
||||
* spin lock/unlock provide the needed smp_mb() before/after \
|
||||
*/ \
|
||||
bitops_lock(flags); \
|
||||
\
|
||||
temp = *m; \
|
||||
*m = temp c_op (1UL << nr); \
|
||||
*m = temp c_op (1UL << (nr & 0x1f)); \
|
||||
\
|
||||
bitops_unlock(flags); \
|
||||
}
|
||||
|
@ -149,17 +144,14 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
|
|||
unsigned long old, flags; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
bitops_lock(flags); \
|
||||
\
|
||||
old = *m; \
|
||||
*m = old c_op (1 << nr); \
|
||||
*m = old c_op (1UL << (nr & 0x1f)); \
|
||||
\
|
||||
bitops_unlock(flags); \
|
||||
\
|
||||
return (old & (1 << nr)) != 0; \
|
||||
return (old & (1UL << (nr & 0x1f))) != 0; \
|
||||
}
|
||||
|
||||
#endif /* CONFIG_ARC_HAS_LLSC */
|
||||
|
@ -174,11 +166,8 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m) \
|
|||
unsigned long temp; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
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) \
|
||||
|
@ -187,13 +176,10 @@ static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long
|
|||
unsigned long old; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
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) \
|
||||
|
@ -224,10 +210,7 @@ test_bit(unsigned int nr, const volatile unsigned long *addr)
|
|||
|
||||
addr += nr >> 5;
|
||||
|
||||
if (__builtin_constant_p(nr))
|
||||
nr &= 0x1f;
|
||||
|
||||
mask = 1 << nr;
|
||||
mask = 1UL << (nr & 0x1f);
|
||||
|
||||
return ((mask & *addr) != 0);
|
||||
}
|
||||
|
|
|
@ -16,12 +16,15 @@
|
|||
#include <linux/uaccess.h>
|
||||
#include <asm/errno.h>
|
||||
|
||||
#ifdef CONFIG_ARC_HAS_LLSC
|
||||
|
||||
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
|
||||
\
|
||||
__asm__ __volatile__( \
|
||||
"1: ld %1, [%2] \n" \
|
||||
"1: llock %1, [%2] \n" \
|
||||
insn "\n" \
|
||||
"2: st %0, [%2] \n" \
|
||||
"2: scond %0, [%2] \n" \
|
||||
" bnz 1b \n" \
|
||||
" mov %0, 0 \n" \
|
||||
"3: \n" \
|
||||
" .section .fixup,\"ax\" \n" \
|
||||
|
@ -39,6 +42,33 @@
|
|||
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
|
||||
: "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)
|
||||
{
|
||||
int op = (encoded_op >> 28) & 7;
|
||||
|
@ -123,11 +153,17 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval,
|
|||
|
||||
pagefault_disable();
|
||||
|
||||
/* TBD : can use llock/scond */
|
||||
__asm__ __volatile__(
|
||||
"1: ld %0, [%3] \n"
|
||||
" brne %0, %1, 3f \n"
|
||||
"2: st %2, [%3] \n"
|
||||
#ifdef CONFIG_ARC_HAS_LLSC
|
||||
"1: llock %0, [%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"
|
||||
" .section .fixup,\"ax\" \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;
|
||||
};
|
||||
|
||||
#define instruction_pointer(regs) ((regs)->ret)
|
||||
#define instruction_pointer(regs) (unsigned long)((regs)->ret)
|
||||
#define profile_pc(regs) instruction_pointer(regs)
|
||||
|
||||
/* return 1 if user mode or 0 if kernel mode */
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include <linux/of.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include "../../drivers/irqchip/irqchip.h"
|
||||
#include <asm/irq.h>
|
||||
|
||||
/*
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include <linux/of.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include "../../drivers/irqchip/irqchip.h"
|
||||
#include <asm/irq.h>
|
||||
|
||||
/*
|
||||
|
|
|
@ -175,7 +175,6 @@ void mcip_init_early_smp(void)
|
|||
#include <linux/irqchip.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include "../../drivers/irqchip/irqchip.h"
|
||||
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct irq_chip idu_irq_chip = {
|
||||
.name = "MCIP IDU Intc",
|
||||
|
@ -330,8 +346,7 @@ idu_of_init(struct device_node *intc, struct device_node *parent)
|
|||
if (!i)
|
||||
idu_first_irq = irq;
|
||||
|
||||
irq_set_handler_data(irq, domain);
|
||||
irq_set_chained_handler(irq, idu_cascade_isr);
|
||||
irq_set_chained_handler_and_data(irq, idu_cascade_isr, domain);
|
||||
}
|
||||
|
||||
__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[] = {
|
||||
#ifdef CONFIG_ISA_ARCOMPACT
|
||||
{ {0x20, "ARC 600" }, 0x2F},
|
||||
{ {0x30, "ARC 700" }, 0x33},
|
||||
{ {0x34, "ARC 700 R4.10"}, 0x34},
|
||||
{ {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 } }
|
||||
};
|
||||
|
||||
#define IS_AVAIL1(v, str) ((v) ? str : "")
|
||||
#define IS_USED(cfg) (IS_ENABLED(cfg) ? "" : "(not used) ")
|
||||
#define IS_AVAIL2(v, str, cfg) IS_AVAIL1(v, str), IS_AVAIL1(v, IS_USED(cfg))
|
||||
#define IS_AVAIL1(v, s) ((v) ? s : "")
|
||||
#define IS_USED_RUN(v) ((v) ? "" : "(not used) ")
|
||||
#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)
|
||||
{
|
||||
|
@ -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, "%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",
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
struct path path;
|
||||
char *path_nm = NULL;
|
||||
struct mm_struct *mm;
|
||||
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)
|
||||
{
|
||||
#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 int ctrl;
|
||||
|
||||
local_irq_save(flags);
|
||||
spin_lock_irqsave(&lock, flags);
|
||||
|
||||
/*
|
||||
* 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);
|
||||
|
||||
local_irq_restore(flags);
|
||||
spin_unlock_irqrestore(&lock, flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -60,8 +60,8 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
|
|||
|
||||
/* This is kernel Virtual address (0x7000_0000 based) */
|
||||
kvaddr = ioremap_nocache((unsigned long)paddr, size);
|
||||
if (kvaddr != NULL)
|
||||
memset(kvaddr, 0, size);
|
||||
if (kvaddr == NULL)
|
||||
return NULL;
|
||||
|
||||
/* This is bus address, platform dependent */
|
||||
*dma_handle = (dma_addr_t)paddr;
|
||||
|
|
|
@ -1693,6 +1693,12 @@ config HIGHMEM
|
|||
config HIGHPTE
|
||||
bool "Allocate 2nd-level pagetables from 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
|
||||
bool "Enable hardware performance counter support for perf events"
|
||||
|
|
|
@ -1635,7 +1635,7 @@ config PID_IN_CONTEXTIDR
|
|||
|
||||
config DEBUG_SET_MODULE_RONX
|
||||
bool "Set loadable kernel module data as NX and text as RO"
|
||||
depends on MODULES
|
||||
depends on MODULES && MMU
|
||||
---help---
|
||||
This option helps catch unintended modifications to loadable
|
||||
kernel module's text and read-only data. It also prevents execution
|
||||
|
|
|
@ -80,3 +80,7 @@ hdmi {
|
|||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&rtc {
|
||||
system-power-controller;
|
||||
};
|
||||
|
|
|
@ -74,6 +74,7 @@ eeprom: eeprom@50 {
|
|||
audio_codec: tlv320aic3106@1b {
|
||||
compatible = "ti,tlv320aic3106";
|
||||
reg = <0x1b>;
|
||||
ai3x-micbias-vg = <0x2>;
|
||||
};
|
||||
|
||||
accel: lis331dlh@1d {
|
||||
|
@ -153,7 +154,7 @@ &sound {
|
|||
ti,audio-routing =
|
||||
"Headphone Jack", "HPLOUT",
|
||||
"Headphone Jack", "HPROUT",
|
||||
"LINE1L", "Line In";
|
||||
"MIC3L", "Mic3L Switch";
|
||||
};
|
||||
|
||||
&mcasp0 {
|
||||
|
@ -438,41 +439,50 @@ backlight {
|
|||
regulators {
|
||||
dcdc1_reg: regulator@0 {
|
||||
/* VDD_1V8 system supply */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc2_reg: regulator@1 {
|
||||
/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <1325000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc3_reg: regulator@2 {
|
||||
/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
|
||||
regulator-name = "vdd_mpu";
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1325000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: regulator@3 {
|
||||
/* VRTC 1.8V always-on supply */
|
||||
regulator-name = "vrtc,vdds";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2_reg: regulator@4 {
|
||||
/* 3.3V rail */
|
||||
regulator-name = "vdd_3v3aux";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: regulator@5 {
|
||||
/* VDD_3V3A 3.3V rail */
|
||||
regulator-name = "vdd_3v3a";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo4_reg: regulator@6 {
|
||||
/* VDD_3V3B 3.3V rail */
|
||||
regulator-name = "vdd_3v3b";
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -132,6 +132,12 @@ scm_clockdomains: clockdomains {
|
|||
};
|
||||
};
|
||||
|
||||
emif: emif@4c000000 {
|
||||
compatible = "ti,emif-am4372";
|
||||
reg = <0x4c000000 0x1000000>;
|
||||
ti,hwmods = "emif";
|
||||
};
|
||||
|
||||
edma: edma@49000000 {
|
||||
compatible = "ti,edma3";
|
||||
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
|
||||
|
@ -941,6 +947,7 @@ rfbi: rfbi@4832a800 {
|
|||
ti,hwmods = "dss_rfbi";
|
||||
clocks = <&disp_clk>;
|
||||
clock-names = "fck";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -605,6 +605,10 @@ &usb2_phy1 {
|
|||
phy-supply = <&ldousb_reg>;
|
||||
};
|
||||
|
||||
&usb2_phy2 {
|
||||
phy-supply = <&ldousb_reg>;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
dr_mode = "host";
|
||||
pinctrl-names = "default";
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -22,6 +22,7 @@ MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA)
|
|||
MATRIX_KEY(0x00, 0x02, KEY_F1)
|
||||
MATRIX_KEY(0x00, 0x03, KEY_B)
|
||||
MATRIX_KEY(0x00, 0x04, KEY_F10)
|
||||
MATRIX_KEY(0x00, 0x05, KEY_RO)
|
||||
MATRIX_KEY(0x00, 0x06, KEY_N)
|
||||
MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
|
||||
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
|
||||
|
@ -34,6 +35,7 @@ MATRIX_KEY(0x01, 0x06, KEY_H)
|
|||
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
|
||||
MATRIX_KEY(0x01, 0x09, KEY_F9)
|
||||
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
|
||||
MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
|
||||
|
||||
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
|
||||
MATRIX_KEY(0x02, 0x01, KEY_TAB)
|
||||
|
@ -45,6 +47,7 @@ MATRIX_KEY(0x02, 0x06, KEY_Y)
|
|||
MATRIX_KEY(0x02, 0x07, KEY_102ND)
|
||||
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
|
||||
MATRIX_KEY(0x02, 0x09, KEY_F8)
|
||||
MATRIX_KEY(0x02, 0x0a, KEY_YEN)
|
||||
|
||||
MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
|
||||
MATRIX_KEY(0x03, 0x02, KEY_F2)
|
||||
|
@ -53,6 +56,7 @@ MATRIX_KEY(0x03, 0x04, KEY_F5)
|
|||
MATRIX_KEY(0x03, 0x06, KEY_6)
|
||||
MATRIX_KEY(0x03, 0x08, KEY_MINUS)
|
||||
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
|
||||
MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
|
||||
|
||||
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
|
||||
MATRIX_KEY(0x04, 0x01, KEY_A)
|
||||
|
|
|
@ -686,7 +686,8 @@ &davinci_mdio {
|
|||
|
||||
&dcan1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&dcan1_pins_default>;
|
||||
pinctrl-names = "default", "sleep", "active";
|
||||
pinctrl-0 = <&dcan1_pins_sleep>;
|
||||
pinctrl-1 = <&dcan1_pins_sleep>;
|
||||
pinctrl-2 = <&dcan1_pins_default>;
|
||||
};
|
||||
|
|
|
@ -587,9 +587,10 @@ &davinci_mdio {
|
|||
|
||||
&dcan1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&dcan1_pins_default>;
|
||||
pinctrl-names = "default", "sleep", "active";
|
||||
pinctrl-0 = <&dcan1_pins_sleep>;
|
||||
pinctrl-1 = <&dcan1_pins_sleep>;
|
||||
pinctrl-2 = <&dcan1_pins_default>;
|
||||
};
|
||||
|
||||
&qspi {
|
||||
|
|
|
@ -468,6 +468,7 @@ lradc: lradc@80050000 {
|
|||
interrupts = <36 37 38 39 40 41 42 43 44>;
|
||||
status = "disabled";
|
||||
clocks = <&clks 26>;
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
spdif@80054000 {
|
||||
|
|
|
@ -108,7 +108,7 @@ wdog: wdog@10002000 {
|
|||
};
|
||||
|
||||
gpt1: timer@10003000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10003000 0x1000>;
|
||||
interrupts = <26>;
|
||||
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
|
||||
|
@ -117,7 +117,7 @@ gpt1: timer@10003000 {
|
|||
};
|
||||
|
||||
gpt2: timer@10004000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10004000 0x1000>;
|
||||
interrupts = <25>;
|
||||
clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
|
||||
|
@ -126,7 +126,7 @@ gpt2: timer@10004000 {
|
|||
};
|
||||
|
||||
gpt3: timer@10005000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10005000 0x1000>;
|
||||
interrupts = <24>;
|
||||
clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
|
||||
|
@ -376,7 +376,7 @@ cspi3: cspi@10017000 {
|
|||
};
|
||||
|
||||
gpt4: timer@10019000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10019000 0x1000>;
|
||||
interrupts = <4>;
|
||||
clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
|
||||
|
@ -385,7 +385,7 @@ gpt4: timer@10019000 {
|
|||
};
|
||||
|
||||
gpt5: timer@1001a000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x1001a000 0x1000>;
|
||||
interrupts = <3>;
|
||||
clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
|
||||
|
@ -436,7 +436,7 @@ sdhci3: sdhci@1001e000 {
|
|||
};
|
||||
|
||||
gpt6: timer@1001f000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x1001f000 0x1000>;
|
||||
interrupts = <2>;
|
||||
clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
|
||||
|
|
|
@ -295,9 +295,10 @@ MX53_PAD_CSI0_DAT11__UART1_RXD_MUX 0x1e4
|
|||
&tve {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_vga_sync>;
|
||||
ddc-i2c-bus = <&i2c2>;
|
||||
fsl,tve-mode = "vga";
|
||||
fsl,hsync-pin = <4>;
|
||||
fsl,vsync-pin = <6>;
|
||||
fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
|
||||
fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ dspgpio0: keystone_dsp_gpio@02620240 {
|
|||
gpio,syscon-dev = <&devctrl 0x240>;
|
||||
};
|
||||
|
||||
pcie@21020000 {
|
||||
pcie1: pcie@21020000 {
|
||||
compatible = "ti,keystone-pcie","snps,dw-pcie";
|
||||
clocks = <&clkpcie1>;
|
||||
clock-names = "pcie";
|
||||
|
@ -96,6 +96,7 @@ pcie@21020000 {
|
|||
ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
|
||||
0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
|
||||
|
||||
status = "disabled";
|
||||
device_type = "pci";
|
||||
num-lanes = <2>;
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ kirq0: keystone_irq@26202a0 {
|
|||
ti,syscon-dev = <&devctrl 0x2a0>;
|
||||
};
|
||||
|
||||
pcie@21800000 {
|
||||
pcie0: pcie@21800000 {
|
||||
compatible = "ti,keystone-pcie", "snps,dw-pcie";
|
||||
clocks = <&clkpcie>;
|
||||
clock-names = "pcie";
|
||||
|
@ -296,6 +296,7 @@ pcie@21800000 {
|
|||
ranges = <0x81000000 0 0 0x23250000 0 0x4000
|
||||
0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
|
||||
|
||||
status = "disabled";
|
||||
device_type = "pci";
|
||||
num-lanes = <2>;
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ &mcspi1 {
|
|||
|
||||
lcd0: display@0 {
|
||||
compatible = "lgphilips,lb035q02";
|
||||
label = "lcd";
|
||||
label = "lcd35";
|
||||
|
||||
reg = <1>; /* CS1 */
|
||||
spi-max-frequency = <10000000>;
|
||||
|
|
|
@ -98,7 +98,7 @@ aliases {
|
|||
|
||||
lcd0: display@0 {
|
||||
compatible = "samsung,lte430wq-f0c", "panel-dpi";
|
||||
label = "lcd";
|
||||
label = "lcd43";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <<e430_pins>;
|
||||
|
|
|
@ -551,6 +551,7 @@ mmu_dsp: mmu@4a066000 {
|
|||
reg = <0x4a066000 0x100>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_dsp";
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
mmu_ipu: mmu@55082000 {
|
||||
|
@ -558,6 +559,7 @@ mmu_ipu: mmu@55082000 {
|
|||
reg = <0x55082000 0x100>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_ipu";
|
||||
#iommu-cells = <0>;
|
||||
ti,iommu-bus-err-back;
|
||||
};
|
||||
|
||||
|
|
|
@ -612,6 +612,7 @@ mmu_dsp: mmu@4a066000 {
|
|||
reg = <0x4a066000 0x100>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_dsp";
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
mmu_ipu: mmu@55082000 {
|
||||
|
@ -619,6 +620,7 @@ mmu_ipu: mmu@55082000 {
|
|||
reg = <0x55082000 0x100>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_ipu";
|
||||
#iommu-cells = <0>;
|
||||
ti,iommu-bus-err-back;
|
||||
};
|
||||
|
||||
|
|
|
@ -60,6 +60,22 @@ &gmac1 {
|
|||
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 {
|
||||
vmmc-supply = <®ulator_3_3v>;
|
||||
vqmmc-supply = <®ulator_3_3v>;
|
||||
|
@ -68,19 +84,3 @@ &mmc0 {
|
|||
&usb1 {
|
||||
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
|
||||
*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
|
|
@ -17,6 +17,13 @@ / {
|
|||
model = "ST-Ericsson U8540 platform with Device Tree";
|
||||
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 {
|
||||
device_type = "memory";
|
||||
reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
|
||||
|
|
|
@ -16,6 +16,13 @@ / {
|
|||
model = "ST-Ericsson CCU9540 platform with Device Tree";
|
||||
compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x00000000 0x20000000>;
|
||||
};
|
||||
|
|
|
@ -971,7 +971,7 @@ spi@80129000 {
|
|||
power-domains = <&pm_domains DOMAIN_VAPE>;
|
||||
};
|
||||
|
||||
uart@80120000 {
|
||||
ux500_serial0: uart@80120000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x80120000 0x1000>;
|
||||
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -986,7 +986,7 @@ uart@80120000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
uart@80121000 {
|
||||
ux500_serial1: uart@80121000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x80121000 0x1000>;
|
||||
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -1001,7 +1001,7 @@ uart@80121000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
uart@80007000 {
|
||||
ux500_serial2: uart@80007000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x80007000 0x1000>;
|
||||
interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
|
@ -32,11 +32,11 @@ uart@80120000 {
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
/* This UART is unused and thus left disabled */
|
||||
uart@80121000 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&uart1_default_mode>;
|
||||
pinctrl-1 = <&uart1_sleep_mode>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart@80007000 {
|
||||
|
|
|
@ -17,6 +17,13 @@ / {
|
|||
model = "ST-Ericsson HREF (pre-v60) and ST UIB";
|
||||
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
soc {
|
||||
/* Reset line for the BU21013 touchscreen */
|
||||
i2c@80110000 {
|
||||
|
|
|
@ -16,4 +16,11 @@
|
|||
/ {
|
||||
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
|
||||
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 @@ button@1 {
|
|||
};
|
||||
|
||||
soc {
|
||||
/* Enable UART1 on this board */
|
||||
uart@80121000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@80004000 {
|
||||
tps61052@33 {
|
||||
compatible = "tps61052";
|
||||
|
|
|
@ -19,6 +19,13 @@ / {
|
|||
model = "ST-Ericsson HREF (v60+) and ST UIB";
|
||||
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
soc {
|
||||
/* Reset line for the BU21013 touchscreen */
|
||||
i2c@80110000 {
|
||||
|
|
|
@ -18,4 +18,11 @@
|
|||
/ {
|
||||
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
|
||||
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 @@ pinctrl {
|
|||
<&vaudio_hf_hrefv60_mode>,
|
||||
<&gbf_hrefv60_mode>,
|
||||
<&hdtv_hrefv60_mode>,
|
||||
<&touch_hrefv60_mode>;
|
||||
<&touch_hrefv60_mode>,
|
||||
<&gpios_hrefv60_mode>;
|
||||
|
||||
sdi0 {
|
||||
/* SD card detect GPIO pin, extend default state */
|
||||
sdi0_default_mode: sdi0_default {
|
||||
/* SD card detect GPIO pin, extend default state */
|
||||
default_hrefv60_cfg1 {
|
||||
pins = "GPIO95_E8";
|
||||
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 {
|
||||
|
@ -213,6 +224,16 @@ hrefv60_cfg2 {
|
|||
};
|
||||
};
|
||||
};
|
||||
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";
|
||||
compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x00000000 0x20000000>;
|
||||
};
|
||||
|
@ -223,11 +230,11 @@ uart@80120000 {
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
/* This UART is unused and thus left disabled */
|
||||
uart@80121000 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&uart1_default_mode>;
|
||||
pinctrl-1 = <&uart1_sleep_mode>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart@80007000 {
|
||||
|
@ -452,7 +459,21 @@ snowball_cfg1 {
|
|||
pins = "GPIO21_AB3"; /* DAT31DIR */
|
||||
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 {
|
||||
|
|
|
@ -150,6 +150,16 @@ cci_control2: slave-if@5000 {
|
|||
interface-type = "ace";
|
||||
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 {
|
||||
|
@ -187,11 +197,22 @@ timer {
|
|||
<1 10 0xf08>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
pmu_a15 {
|
||||
compatible = "arm,cortex-a15-pmu";
|
||||
interrupts = <0 68 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 {
|
||||
|
|
|
@ -353,7 +353,6 @@ CONFIG_POWER_RESET_AS3722=y
|
|||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_POWER_RESET_KEYSTONE=y
|
||||
CONFIG_POWER_RESET_SUN6I=y
|
||||
CONFIG_POWER_RESET_RMOBILE=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_SENSORS_LM95245=y
|
||||
|
|
|
@ -2,6 +2,7 @@ CONFIG_NO_HZ=y
|
|||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
|
@ -77,7 +78,6 @@ CONFIG_SPI_SUN6I=y
|
|||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_SUN6I=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_CPU_THERMAL=y
|
||||
CONFIG_WATCHDOG=y
|
||||
|
@ -87,6 +87,10 @@ CONFIG_REGULATOR=y
|
|||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_AXP20X=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_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||
|
|
|
@ -13,6 +13,7 @@ generic-y += kdebug.h
|
|||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += msgbuf.h
|
||||
generic-y += param.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
|
||||
* /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,
|
||||
void *);
|
||||
|
||||
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 __iounmap(volatile void __iomem *addr);
|
||||
extern void __arm_iounmap(volatile void __iomem *addr);
|
||||
|
||||
extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t,
|
||||
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,
|
||||
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)
|
||||
|
||||
static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
|
||||
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)
|
||||
|
||||
static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
||||
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)
|
||||
|
||||
|
@ -348,18 +346,61 @@ static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
|||
#endif /* readl */
|
||||
|
||||
/*
|
||||
* ioremap and friends.
|
||||
* ioremap() and friends.
|
||||
*
|
||||
* ioremap takes a PCI memory address, as specified in
|
||||
* Documentation/io-mapping.txt.
|
||||
* ioremap() takes a resource address, and size. Due to the ARM memory
|
||||
* 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)
|
||||
#define ioremap_nocache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE)
|
||||
#define ioremap_cache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED)
|
||||
#define ioremap_wc(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_WC)
|
||||
#define ioremap_wt(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE)
|
||||
#define iounmap __arm_iounmap
|
||||
void __iomem *ioremap(resource_size_t res_cookie, size_t size);
|
||||
#define ioremap ioremap
|
||||
#define ioremap_nocache ioremap
|
||||
|
||||
void __iomem *ioremap_cache(resource_size_t res_cookie, size_t size);
|
||||
#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
|
||||
|
|
|
@ -275,7 +275,7 @@ static inline void *phys_to_virt(phys_addr_t x)
|
|||
*/
|
||||
#define __pa(x) __virt_to_phys((unsigned long)(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);
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
if (arch_virt_to_idmap)
|
||||
if (IS_ENABLED(CONFIG_MMU) && arch_virt_to_idmap)
|
||||
return arch_virt_to_idmap(x);
|
||||
else
|
||||
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
|
||||
* 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_BUFFERABLE (_AT(pteval_t, 0x01) << 2) /* 0001 */
|
||||
|
|
|
@ -50,6 +50,9 @@ extern void __aeabi_ulcmp(void);
|
|||
|
||||
extern void fpundefinstr(void);
|
||||
|
||||
void mmioset(void *, unsigned int, size_t);
|
||||
void mmiocpy(void *, const void *, size_t);
|
||||
|
||||
/* platform dependent support */
|
||||
EXPORT_SYMBOL(arm_delay_ops);
|
||||
|
||||
|
@ -88,6 +91,9 @@ EXPORT_SYMBOL(memmove);
|
|||
EXPORT_SYMBOL(memchr);
|
||||
EXPORT_SYMBOL(__memzero);
|
||||
|
||||
EXPORT_SYMBOL(mmioset);
|
||||
EXPORT_SYMBOL(mmiocpy);
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
EXPORT_SYMBOL(copy_page);
|
||||
|
||||
|
|
|
@ -410,7 +410,7 @@ ENDPROC(__fiq_abt)
|
|||
zero_fp
|
||||
|
||||
.if \trace
|
||||
#ifdef CONFIG_IRQSOFF_TRACER
|
||||
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||
bl trace_hardirqs_off
|
||||
#endif
|
||||
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))
|
||||
break;
|
||||
|
||||
of_node_put(dn);
|
||||
if (cpu >= nr_cpu_ids) {
|
||||
pr_warn("Failed to find logical CPU for %s\n",
|
||||
dn->name);
|
||||
of_node_put(dn);
|
||||
break;
|
||||
}
|
||||
of_node_put(dn);
|
||||
|
||||
irqs[i] = cpu;
|
||||
cpumask_set_cpu(cpu, &pmu->supported_cpus);
|
||||
|
|
|
@ -50,7 +50,7 @@ static void __soft_restart(void *addr)
|
|||
flush_cache_all();
|
||||
|
||||
/* 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);
|
||||
|
||||
/* 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);
|
||||
|
||||
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]);
|
||||
}
|
||||
|
||||
|
@ -637,7 +637,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
|
|||
}
|
||||
|
||||
if ((unsigned)ipinr < NR_IPI)
|
||||
trace_ipi_exit(ipi_types[ipinr]);
|
||||
trace_ipi_exit_rcuidle(ipi_types[ipinr]);
|
||||
set_irq_regs(old_regs);
|
||||
}
|
||||
|
||||
|
|
|
@ -61,8 +61,10 @@
|
|||
|
||||
/* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
|
||||
|
||||
ENTRY(mmiocpy)
|
||||
ENTRY(memcpy)
|
||||
|
||||
#include "copy_template.S"
|
||||
|
||||
ENDPROC(memcpy)
|
||||
ENDPROC(mmiocpy)
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
.text
|
||||
.align 5
|
||||
|
||||
ENTRY(mmioset)
|
||||
ENTRY(memset)
|
||||
UNWIND( .fnstart )
|
||||
ands r3, r0, #3 @ 1 unaligned?
|
||||
|
@ -133,3 +134,4 @@ UNWIND( .fnstart )
|
|||
b 1b
|
||||
UNWIND( .fnend )
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
struct clk *clk;
|
||||
bool is_off;
|
||||
int i;
|
||||
|
||||
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;
|
||||
|
||||
is_off = IS_ENABLED(CONFIG_PM);
|
||||
if (is_off) {
|
||||
_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);
|
||||
}
|
||||
/* Enable power always in case 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,
|
||||
&imx_gpc_onecell_data);
|
||||
|
||||
|
@ -437,13 +429,6 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
|
|||
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)
|
||||
{
|
||||
struct regulator *pu_reg;
|
||||
|
|
|
@ -60,6 +60,7 @@ config SOC_AM43XX
|
|||
select ARM_GIC
|
||||
select MACH_OMAP_GENERIC
|
||||
select MIGHT_HAVE_CACHE_L2X0
|
||||
select HAVE_ARM_SCU
|
||||
|
||||
config SOC_DRA7XX
|
||||
bool "TI DRA7XX"
|
||||
|
|
|
@ -117,7 +117,6 @@ static void omap2_show_dma_caps(void)
|
|||
u8 revision = dma_read(REVISION, 0) & 0xff;
|
||||
printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
|
||||
revision >> 4, revision & 0xf);
|
||||
return;
|
||||
}
|
||||
|
||||
static unsigned configure_dma_errata(void)
|
||||
|
|
|
@ -4,6 +4,7 @@ menuconfig ARCH_SIRF
|
|||
select ARCH_REQUIRE_GPIOLIB
|
||||
select GENERIC_IRQ_CHIP
|
||||
select NO_IOPORT_MAP
|
||||
select REGMAP
|
||||
select PINCTRL
|
||||
select PINCTRL_SIRF
|
||||
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
|
||||
*
|
||||
* Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
|
||||
|
@ -10,6 +10,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_device.h>
|
||||
|
@ -66,6 +67,7 @@ u32 sirfsoc_rtc_iobrg_readl(u32 addr)
|
|||
{
|
||||
unsigned long flags, val;
|
||||
|
||||
/* TODO: add hwspinlock to sync with M3 */
|
||||
spin_lock_irqsave(&rtciobrg_lock, flags);
|
||||
|
||||
val = __sirfsoc_rtc_iobrg_readl(addr);
|
||||
|
@ -90,6 +92,7 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
|
|||
{
|
||||
unsigned long flags;
|
||||
|
||||
/* TODO: add hwspinlock to sync with M3 */
|
||||
spin_lock_irqsave(&rtciobrg_lock, flags);
|
||||
|
||||
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);
|
||||
|
||||
|
||||
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[] = {
|
||||
{ .compatible = "sirf,prima2-rtciobg" },
|
||||
{}
|
||||
|
@ -132,7 +174,7 @@ static int __init sirfsoc_rtciobrg_init(void)
|
|||
}
|
||||
postcore_initcall(sirfsoc_rtciobrg_init);
|
||||
|
||||
MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>, "
|
||||
"Barry Song <baohua.song@csr.com>");
|
||||
MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>");
|
||||
MODULE_AUTHOR("Barry Song <baohua.song@csr.com>");
|
||||
MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include <linux/ata_platform.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
@ -144,6 +145,8 @@ static void __init capc7117_init(void)
|
|||
|
||||
capc7117_uarts_init();
|
||||
capc7117_ide_init();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
MACHINE_START(CAPC7117,
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <linux/syscore_ops.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
#include <linux/dm9000.h>
|
||||
#include <linux/leds.h>
|
||||
|
@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
|
|||
cmx2xx_init_ac97();
|
||||
cmx2xx_init_touchscreen();
|
||||
cmx2xx_init_leds();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
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_wi2wi();
|
||||
cm_x300_init_bl();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/ucb1400.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",
|
||||
colibri_pxa270_baseboard);
|
||||
}
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
/* 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