Merge branch 'sched/urgent'
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -143,6 +143,9 @@ x509.genkey
|
|||||||
/allrandom.config
|
/allrandom.config
|
||||||
/allyes.config
|
/allyes.config
|
||||||
|
|
||||||
|
# Kconfig savedefconfig output
|
||||||
|
/defconfig
|
||||||
|
|
||||||
# Kdevelop4
|
# Kdevelop4
|
||||||
*.kdev4
|
*.kdev4
|
||||||
|
|
||||||
|
|||||||
@@ -56,11 +56,6 @@ Description: The /dev/kmsg character device node provides userspace access
|
|||||||
seek after the last record available at the time
|
seek after the last record available at the time
|
||||||
the last SYSLOG_ACTION_CLEAR was issued.
|
the last SYSLOG_ACTION_CLEAR was issued.
|
||||||
|
|
||||||
Due to the record nature of this interface with a "read all"
|
|
||||||
behavior and the specific positions each seek operation sets,
|
|
||||||
SEEK_CUR is not supported, returning -ESPIPE (invalid seek) to
|
|
||||||
errno whenever requested.
|
|
||||||
|
|
||||||
The output format consists of a prefix carrying the syslog
|
The output format consists of a prefix carrying the syslog
|
||||||
prefix including priority and facility, the 64 bit message
|
prefix including priority and facility, the 64 bit message
|
||||||
sequence number and the monotonic timestamp in microseconds,
|
sequence number and the monotonic timestamp in microseconds,
|
||||||
|
|||||||
27
Documentation/ABI/testing/sysfs-bus-papr-pmem
Normal file
27
Documentation/ABI/testing/sysfs-bus-papr-pmem
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
What: /sys/bus/nd/devices/nmemX/papr/flags
|
||||||
|
Date: Apr, 2020
|
||||||
|
KernelVersion: v5.8
|
||||||
|
Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, linux-nvdimm@lists.01.org,
|
||||||
|
Description:
|
||||||
|
(RO) Report flags indicating various states of a
|
||||||
|
papr-pmem NVDIMM device. Each flag maps to a one or
|
||||||
|
more bits set in the dimm-health-bitmap retrieved in
|
||||||
|
response to H_SCM_HEALTH hcall. The details of the bit
|
||||||
|
flags returned in response to this hcall is available
|
||||||
|
at 'Documentation/powerpc/papr_hcalls.rst' . Below are
|
||||||
|
the flags reported in this sysfs file:
|
||||||
|
|
||||||
|
* "not_armed" : Indicates that NVDIMM contents will not
|
||||||
|
survive a power cycle.
|
||||||
|
* "flush_fail" : Indicates that NVDIMM contents
|
||||||
|
couldn't be flushed during last
|
||||||
|
shut-down event.
|
||||||
|
* "restore_fail": Indicates that NVDIMM contents
|
||||||
|
couldn't be restored during NVDIMM
|
||||||
|
initialization.
|
||||||
|
* "encrypted" : NVDIMM contents are encrypted.
|
||||||
|
* "smart_notify": There is health event for the NVDIMM.
|
||||||
|
* "scrubbed" : Indicating that contents of the
|
||||||
|
NVDIMM have been scrubbed.
|
||||||
|
* "locked" : Indicating that NVDIMM contents cant
|
||||||
|
be modified until next power cycle.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req
|
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req
|
||||||
Date: Feb 2014
|
Date: Feb 2014
|
||||||
Contact: Li Jun <b47624@freescale.com>
|
Contact: Li Jun <jun.li@nxp.com>
|
||||||
Description:
|
Description:
|
||||||
Can be set and read.
|
Can be set and read.
|
||||||
Set a_bus_req(A-device bus request) input to be 1 if
|
Set a_bus_req(A-device bus request) input to be 1 if
|
||||||
@@ -17,7 +17,7 @@ Description:
|
|||||||
|
|
||||||
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop
|
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop
|
||||||
Date: Feb 2014
|
Date: Feb 2014
|
||||||
Contact: Li Jun <b47624@freescale.com>
|
Contact: Li Jun <jun.li@nxp.com>
|
||||||
Description:
|
Description:
|
||||||
Can be set and read
|
Can be set and read
|
||||||
The a_bus_drop(A-device bus drop) input is 1 when the
|
The a_bus_drop(A-device bus drop) input is 1 when the
|
||||||
@@ -32,7 +32,7 @@ Description:
|
|||||||
|
|
||||||
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req
|
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req
|
||||||
Date: Feb 2014
|
Date: Feb 2014
|
||||||
Contact: Li Jun <b47624@freescale.com>
|
Contact: Li Jun <jun.li@nxp.com>
|
||||||
Description:
|
Description:
|
||||||
Can be set and read.
|
Can be set and read.
|
||||||
The b_bus_req(B-device bus request) input is 1 during the time
|
The b_bus_req(B-device bus request) input is 1 during the time
|
||||||
@@ -47,7 +47,7 @@ Description:
|
|||||||
|
|
||||||
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/a_clr_err
|
What: /sys/bus/platform/devices/ci_hdrc.0/inputs/a_clr_err
|
||||||
Date: Feb 2014
|
Date: Feb 2014
|
||||||
Contact: Li Jun <b47624@freescale.com>
|
Contact: Li Jun <jun.li@nxp.com>
|
||||||
Description:
|
Description:
|
||||||
Only can be set.
|
Only can be set.
|
||||||
The a_clr_err(A-device Vbus error clear) input is used to clear
|
The a_clr_err(A-device Vbus error clear) input is used to clear
|
||||||
|
|||||||
@@ -1356,8 +1356,8 @@ PAGE_SIZE multiple when read back.
|
|||||||
|
|
||||||
thp_fault_alloc
|
thp_fault_alloc
|
||||||
Number of transparent hugepages which were allocated to satisfy
|
Number of transparent hugepages which were allocated to satisfy
|
||||||
a page fault, including COW faults. This counter is not present
|
a page fault. This counter is not present when CONFIG_TRANSPARENT_HUGEPAGE
|
||||||
when CONFIG_TRANSPARENT_HUGEPAGE is not set.
|
is not set.
|
||||||
|
|
||||||
thp_collapse_alloc
|
thp_collapse_alloc
|
||||||
Number of transparent hugepages which were allocated to allow
|
Number of transparent hugepages which were allocated to allow
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Device Mapper
|
|||||||
dm-clone
|
dm-clone
|
||||||
dm-crypt
|
dm-crypt
|
||||||
dm-dust
|
dm-dust
|
||||||
|
dm-ebs
|
||||||
dm-flakey
|
dm-flakey
|
||||||
dm-init
|
dm-init
|
||||||
dm-integrity
|
dm-integrity
|
||||||
|
|||||||
@@ -305,8 +305,7 @@ monitor how successfully the system is providing huge pages for use.
|
|||||||
|
|
||||||
thp_fault_alloc
|
thp_fault_alloc
|
||||||
is incremented every time a huge page is successfully
|
is incremented every time a huge page is successfully
|
||||||
allocated to handle a page fault. This applies to both the
|
allocated to handle a page fault.
|
||||||
first time a page is faulted and for COW faults.
|
|
||||||
|
|
||||||
thp_collapse_alloc
|
thp_collapse_alloc
|
||||||
is incremented by khugepaged when it has found
|
is incremented by khugepaged when it has found
|
||||||
|
|||||||
@@ -147,6 +147,14 @@ stable kernels.
|
|||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
|
| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1463225 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1418040 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1530923 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
|
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ prctl(PR_SVE_SET_VL, unsigned long arg)
|
|||||||
|
|
||||||
flags:
|
flags:
|
||||||
|
|
||||||
PR_SVE_SET_VL_INHERIT
|
PR_SVE_VL_INHERIT
|
||||||
|
|
||||||
Inherit the current vector length across execve(). Otherwise, the
|
Inherit the current vector length across execve(). Otherwise, the
|
||||||
vector length is reset to the system default at execve(). (See
|
vector length is reset to the system default at execve(). (See
|
||||||
@@ -247,7 +247,7 @@ prctl(PR_SVE_GET_VL)
|
|||||||
|
|
||||||
The following flag may be OR-ed into the result:
|
The following flag may be OR-ed into the result:
|
||||||
|
|
||||||
PR_SVE_SET_VL_INHERIT
|
PR_SVE_VL_INHERIT
|
||||||
|
|
||||||
Vector length will be inherited across execve().
|
Vector length will be inherited across execve().
|
||||||
|
|
||||||
@@ -393,7 +393,7 @@ The regset data starts with struct user_sve_header, containing:
|
|||||||
* At every execve() call, the new vector length of the new process is set to
|
* At every execve() call, the new vector length of the new process is set to
|
||||||
the system default vector length, unless
|
the system default vector length, unless
|
||||||
|
|
||||||
* PR_SVE_SET_VL_INHERIT (or equivalently SVE_PT_VL_INHERIT) is set for the
|
* PR_SVE_VL_INHERIT (or equivalently SVE_PT_VL_INHERIT) is set for the
|
||||||
calling thread, or
|
calling thread, or
|
||||||
|
|
||||||
* a deferred vector length change is pending, established via the
|
* a deferred vector length change is pending, established via the
|
||||||
|
|||||||
@@ -86,6 +86,20 @@ then the next program in the chain (A) will see those changes,
|
|||||||
*not* the original input ``setsockopt`` arguments. The potentially
|
*not* the original input ``setsockopt`` arguments. The potentially
|
||||||
modified values will be then passed down to the kernel.
|
modified values will be then passed down to the kernel.
|
||||||
|
|
||||||
|
Large optval
|
||||||
|
============
|
||||||
|
When the ``optval`` is greater than the ``PAGE_SIZE``, the BPF program
|
||||||
|
can access only the first ``PAGE_SIZE`` of that data. So it has to options:
|
||||||
|
|
||||||
|
* Set ``optlen`` to zero, which indicates that the kernel should
|
||||||
|
use the original buffer from the userspace. Any modifications
|
||||||
|
done by the BPF program to the ``optval`` are ignored.
|
||||||
|
* Set ``optlen`` to the value less than ``PAGE_SIZE``, which
|
||||||
|
indicates that the kernel should use BPF's trimmed ``optval``.
|
||||||
|
|
||||||
|
When the BPF program returns with the ``optlen`` greater than
|
||||||
|
``PAGE_SIZE``, the userspace will receive ``EFAULT`` errno.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ all combinations of get*(), pin*(), FOLL_LONGTERM, and more. Also, the
|
|||||||
pin_user_pages*() APIs are clearly distinct from the get_user_pages*() APIs, so
|
pin_user_pages*() APIs are clearly distinct from the get_user_pages*() APIs, so
|
||||||
that's a natural dividing line, and a good point to make separate wrapper calls.
|
that's a natural dividing line, and a good point to make separate wrapper calls.
|
||||||
In other words, use pin_user_pages*() for DMA-pinned pages, and
|
In other words, use pin_user_pages*() for DMA-pinned pages, and
|
||||||
get_user_pages*() for other cases. There are four cases described later on in
|
get_user_pages*() for other cases. There are five cases described later on in
|
||||||
this document, to further clarify that concept.
|
this document, to further clarify that concept.
|
||||||
|
|
||||||
FOLL_PIN and FOLL_GET are mutually exclusive for a given gup call. However,
|
FOLL_PIN and FOLL_GET are mutually exclusive for a given gup call. However,
|
||||||
|
|||||||
@@ -114,12 +114,6 @@ the below options are available:
|
|||||||
To dynamically limit for which functions to generate reports, see the
|
To dynamically limit for which functions to generate reports, see the
|
||||||
`DebugFS interface`_ blacklist/whitelist feature.
|
`DebugFS interface`_ blacklist/whitelist feature.
|
||||||
|
|
||||||
For ``__always_inline`` functions, replace ``__always_inline`` with
|
|
||||||
``__no_kcsan_or_inline`` (which implies ``__always_inline``)::
|
|
||||||
|
|
||||||
static __no_kcsan_or_inline void foo(void) {
|
|
||||||
...
|
|
||||||
|
|
||||||
* To disable data race detection for a particular compilation unit, add to the
|
* To disable data race detection for a particular compilation unit, add to the
|
||||||
``Makefile``::
|
``Makefile``::
|
||||||
|
|
||||||
|
|||||||
@@ -61,3 +61,43 @@ test, or an end-to-end test.
|
|||||||
kernel by installing a production configuration of the kernel on production
|
kernel by installing a production configuration of the kernel on production
|
||||||
hardware with a production userspace and then trying to exercise some behavior
|
hardware with a production userspace and then trying to exercise some behavior
|
||||||
that depends on interactions between the hardware, the kernel, and userspace.
|
that depends on interactions between the hardware, the kernel, and userspace.
|
||||||
|
|
||||||
|
KUnit isn't working, what should I do?
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Unfortunately, there are a number of things which can break, but here are some
|
||||||
|
things to try.
|
||||||
|
|
||||||
|
1. Try running ``./tools/testing/kunit/kunit.py run`` with the ``--raw_output``
|
||||||
|
parameter. This might show details or error messages hidden by the kunit_tool
|
||||||
|
parser.
|
||||||
|
2. Instead of running ``kunit.py run``, try running ``kunit.py config``,
|
||||||
|
``kunit.py build``, and ``kunit.py exec`` independently. This can help track
|
||||||
|
down where an issue is occurring. (If you think the parser is at fault, you
|
||||||
|
can run it manually against stdin or a file with ``kunit.py parse``.)
|
||||||
|
3. Running the UML kernel directly can often reveal issues or error messages
|
||||||
|
kunit_tool ignores. This should be as simple as running ``./vmlinux`` after
|
||||||
|
building the UML kernel (e.g., by using ``kunit.py build``). Note that UML
|
||||||
|
has some unusual requirements (such as the host having a tmpfs filesystem
|
||||||
|
mounted), and has had issues in the past when built statically and the host
|
||||||
|
has KASLR enabled. (On older host kernels, you may need to run ``setarch
|
||||||
|
`uname -m` -R ./vmlinux`` to disable KASLR.)
|
||||||
|
4. Make sure the kernel .config has ``CONFIG_KUNIT=y`` and at least one test
|
||||||
|
(e.g. ``CONFIG_KUNIT_EXAMPLE_TEST=y``). kunit_tool will keep its .config
|
||||||
|
around, so you can see what config was used after running ``kunit.py run``.
|
||||||
|
It also preserves any config changes you might make, so you can
|
||||||
|
enable/disable things with ``make ARCH=um menuconfig`` or similar, and then
|
||||||
|
re-run kunit_tool.
|
||||||
|
5. Try to run ``make ARCH=um defconfig`` before running ``kunit.py run``. This
|
||||||
|
may help clean up any residual config items which could be causing problems.
|
||||||
|
6. Finally, try running KUnit outside UML. KUnit and KUnit tests can run be
|
||||||
|
built into any kernel, or can be built as a module and loaded at runtime.
|
||||||
|
Doing so should allow you to determine if UML is causing the issue you're
|
||||||
|
seeing. When tests are built-in, they will execute when the kernel boots, and
|
||||||
|
modules will automatically execute associated tests when loaded. Test results
|
||||||
|
can be collected from ``/sys/kernel/debug/kunit/<test suite>/results``, and
|
||||||
|
can be parsed with ``kunit.py parse``. For more details, see "KUnit on
|
||||||
|
non-UML architectures" in :doc:`usage`.
|
||||||
|
|
||||||
|
If none of the above tricks help, you are always welcome to email any issues to
|
||||||
|
kunit-dev@googlegroups.com.
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
DT_DOC_CHECKER ?= dt-doc-validate
|
DT_DOC_CHECKER ?= dt-doc-validate
|
||||||
DT_EXTRACT_EX ?= dt-extract-example
|
DT_EXTRACT_EX ?= dt-extract-example
|
||||||
DT_MK_SCHEMA ?= dt-mk-schema
|
DT_MK_SCHEMA ?= dt-mk-schema
|
||||||
DT_MK_SCHEMA_USERONLY_FLAG := $(if $(DT_SCHEMA_FILES), -u)
|
|
||||||
|
|
||||||
DT_SCHEMA_MIN_VERSION = 2020.5
|
DT_SCHEMA_MIN_VERSION = 2020.5
|
||||||
|
|
||||||
@@ -35,21 +34,40 @@ quiet_cmd_mk_schema = SCHEMA $@
|
|||||||
|
|
||||||
DT_DOCS = $(shell $(find_cmd) | sed -e 's|^$(srctree)/||')
|
DT_DOCS = $(shell $(find_cmd) | sed -e 's|^$(srctree)/||')
|
||||||
|
|
||||||
DT_SCHEMA_FILES ?= $(DT_DOCS)
|
|
||||||
|
|
||||||
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES))
|
|
||||||
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES))
|
|
||||||
extra-$(CHECK_DT_BINDING) += processed-schema-examples.yaml
|
|
||||||
|
|
||||||
override DTC_FLAGS := \
|
override DTC_FLAGS := \
|
||||||
-Wno-avoid_unnecessary_addr_size \
|
-Wno-avoid_unnecessary_addr_size \
|
||||||
-Wno-graph_child_address
|
-Wno-graph_child_address \
|
||||||
|
-Wno-interrupt_provider
|
||||||
|
|
||||||
$(obj)/processed-schema-examples.yaml: $(DT_DOCS) check_dtschema_version FORCE
|
$(obj)/processed-schema-examples.yaml: $(DT_DOCS) check_dtschema_version FORCE
|
||||||
$(call if_changed,mk_schema)
|
$(call if_changed,mk_schema)
|
||||||
|
|
||||||
$(obj)/processed-schema.yaml: DT_MK_SCHEMA_FLAGS := $(DT_MK_SCHEMA_USERONLY_FLAG)
|
ifeq ($(DT_SCHEMA_FILES),)
|
||||||
|
|
||||||
|
# Unless DT_SCHEMA_FILES is specified, use the full schema for dtbs_check too.
|
||||||
|
# Just copy processed-schema-examples.yaml
|
||||||
|
|
||||||
|
$(obj)/processed-schema.yaml: $(obj)/processed-schema-examples.yaml FORCE
|
||||||
|
$(call if_changed,copy)
|
||||||
|
|
||||||
|
DT_SCHEMA_FILES = $(DT_DOCS)
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# If DT_SCHEMA_FILES is specified, use it for processed-schema.yaml
|
||||||
|
|
||||||
|
$(obj)/processed-schema.yaml: DT_MK_SCHEMA_FLAGS := -u
|
||||||
$(obj)/processed-schema.yaml: $(DT_SCHEMA_FILES) check_dtschema_version FORCE
|
$(obj)/processed-schema.yaml: $(DT_SCHEMA_FILES) check_dtschema_version FORCE
|
||||||
$(call if_changed,mk_schema)
|
$(call if_changed,mk_schema)
|
||||||
|
|
||||||
extra-y += processed-schema.yaml
|
endif
|
||||||
|
|
||||||
|
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES))
|
||||||
|
extra-$(CHECK_DT_BINDING) += $(patsubst $(src)/%.yaml,%.example.dt.yaml, $(DT_SCHEMA_FILES))
|
||||||
|
extra-$(CHECK_DT_BINDING) += processed-schema-examples.yaml
|
||||||
|
extra-$(CHECK_DTBS) += processed-schema.yaml
|
||||||
|
|
||||||
|
# Hack: avoid 'Argument list too long' error for 'make clean'. Remove most of
|
||||||
|
# build artifacts here before they are processed by scripts/Makefile.clean
|
||||||
|
clean-files = $(shell find $(obj) \( -name '*.example.dts' -o \
|
||||||
|
-name '*.example.dt.yaml' \) -delete 2>/dev/null)
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ Required properties:
|
|||||||
&lsio_mu1 1 2
|
&lsio_mu1 1 2
|
||||||
&lsio_mu1 1 3
|
&lsio_mu1 1 3
|
||||||
&lsio_mu1 3 3>;
|
&lsio_mu1 3 3>;
|
||||||
See Documentation/devicetree/bindings/mailbox/fsl,mu.txt
|
See Documentation/devicetree/bindings/mailbox/fsl,mu.yaml
|
||||||
for detailed mailbox binding.
|
for detailed mailbox binding.
|
||||||
|
|
||||||
Note: Each mu which supports general interrupt should have an alias correctly
|
Note: Each mu which supports general interrupt should have an alias correctly
|
||||||
|
|||||||
@@ -80,14 +80,14 @@ examples:
|
|||||||
ranges = <1 0x00000000 0x42000000 0x02000000>,
|
ranges = <1 0x00000000 0x42000000 0x02000000>,
|
||||||
<5 0x00000000 0x46000000 0x01000000>;
|
<5 0x00000000 0x46000000 0x01000000>;
|
||||||
|
|
||||||
ethernet@1,01f00000 {
|
ethernet@1,1f00000 {
|
||||||
compatible = "smsc,lan9115";
|
compatible = "smsc,lan9115";
|
||||||
reg = <1 0x01f00000 0x1000>;
|
reg = <1 0x01f00000 0x1000>;
|
||||||
interrupts = <0 48 4>;
|
interrupts = <0 48 4>;
|
||||||
phy-mode = "mii";
|
phy-mode = "mii";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@5,00200000 {
|
serial@5,200000 {
|
||||||
compatible = "ns16550a";
|
compatible = "ns16550a";
|
||||||
reg = <5 0x00200000 0x20>;
|
reg = <5 0x00200000 0x20>;
|
||||||
interrupts = <0 49 4>;
|
interrupts = <0 49 4>;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||||||
title: Clock bindings for Freescale i.MX27
|
title: Clock bindings for Freescale i.MX27
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Fabio Estevam <fabio.estevam@freescale.com>
|
- Fabio Estevam <fabio.estevam@nxp.com>
|
||||||
|
|
||||||
description: |
|
description: |
|
||||||
The clock consumer should specify the desired clock by having the clock
|
The clock consumer should specify the desired clock by having the clock
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||||||
title: Clock bindings for Freescale i.MX31
|
title: Clock bindings for Freescale i.MX31
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Fabio Estevam <fabio.estevam@freescale.com>
|
- Fabio Estevam <fabio.estevam@nxp.com>
|
||||||
|
|
||||||
description: |
|
description: |
|
||||||
The clock consumer should specify the desired clock by having the clock
|
The clock consumer should specify the desired clock by having the clock
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||||||
title: Clock bindings for Freescale i.MX5
|
title: Clock bindings for Freescale i.MX5
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Fabio Estevam <fabio.estevam@freescale.com>
|
- Fabio Estevam <fabio.estevam@nxp.com>
|
||||||
|
|
||||||
description: |
|
description: |
|
||||||
The clock consumer should specify the desired clock by having the clock
|
The clock consumer should specify the desired clock by having the clock
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ Optional properties:
|
|||||||
simple-card or audio-graph-card binding. See their binding
|
simple-card or audio-graph-card binding. See their binding
|
||||||
documents on how to describe the way the sii902x device is
|
documents on how to describe the way the sii902x device is
|
||||||
connected to the rest of the audio system:
|
connected to the rest of the audio system:
|
||||||
Documentation/devicetree/bindings/sound/simple-card.txt
|
Documentation/devicetree/bindings/sound/simple-card.yaml
|
||||||
Documentation/devicetree/bindings/sound/audio-graph-card.txt
|
Documentation/devicetree/bindings/sound/audio-graph-card.txt
|
||||||
Note: In case of the audio-graph-card binding the used port
|
Note: In case of the audio-graph-card binding the used port
|
||||||
index should be 3.
|
index should be 3.
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ Required properties:
|
|||||||
datasheet
|
datasheet
|
||||||
- clocks : phandle to the PRE axi clock input, as described
|
- clocks : phandle to the PRE axi clock input, as described
|
||||||
in Documentation/devicetree/bindings/clock/clock-bindings.txt and
|
in Documentation/devicetree/bindings/clock/clock-bindings.txt and
|
||||||
Documentation/devicetree/bindings/clock/imx6q-clock.txt.
|
Documentation/devicetree/bindings/clock/imx6q-clock.yaml.
|
||||||
- clock-names: should be "axi"
|
- clock-names: should be "axi"
|
||||||
- interrupts: should contain the PRE interrupt
|
- interrupts: should contain the PRE interrupt
|
||||||
- fsl,iram: phandle pointing to the mmio-sram device node, that should be
|
- fsl,iram: phandle pointing to the mmio-sram device node, that should be
|
||||||
@@ -94,7 +94,7 @@ Required properties:
|
|||||||
datasheet
|
datasheet
|
||||||
- clocks : phandles to the PRG ipg and axi clock inputs, as described
|
- clocks : phandles to the PRG ipg and axi clock inputs, as described
|
||||||
in Documentation/devicetree/bindings/clock/clock-bindings.txt and
|
in Documentation/devicetree/bindings/clock/clock-bindings.txt and
|
||||||
Documentation/devicetree/bindings/clock/imx6q-clock.txt.
|
Documentation/devicetree/bindings/clock/imx6q-clock.yaml.
|
||||||
- clock-names: should be "ipg" and "axi"
|
- clock-names: should be "ipg" and "axi"
|
||||||
- fsl,pres: phandles to the PRE units attached to this PRG, with the fixed
|
- fsl,pres: phandles to the PRE units attached to this PRG, with the fixed
|
||||||
PRE as the first entry and the muxable PREs following.
|
PRE as the first entry and the muxable PREs following.
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ Required properties:
|
|||||||
"di2_sel" - IPU2 DI0 mux
|
"di2_sel" - IPU2 DI0 mux
|
||||||
"di3_sel" - IPU2 DI1 mux
|
"di3_sel" - IPU2 DI1 mux
|
||||||
The needed clock numbers for each are documented in
|
The needed clock numbers for each are documented in
|
||||||
Documentation/devicetree/bindings/clock/imx5-clock.txt, and in
|
Documentation/devicetree/bindings/clock/imx5-clock.yaml, and in
|
||||||
Documentation/devicetree/bindings/clock/imx6q-clock.txt.
|
Documentation/devicetree/bindings/clock/imx6q-clock.yaml.
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- pinctrl-names : should be "default" on i.MX53, not used on i.MX6q
|
- pinctrl-names : should be "default" on i.MX53, not used on i.MX6q
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ additionalProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
sysreg {
|
sysreg@0 {
|
||||||
compatible = "arm,versatile-sysreg", "syscon", "simple-mfd";
|
compatible = "arm,versatile-sysreg", "syscon", "simple-mfd";
|
||||||
reg = <0x00000 0x1000>;
|
reg = <0x00000 0x1000>;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ properties:
|
|||||||
description: |
|
description: |
|
||||||
Should contain a list of phandles pointing to display interface port
|
Should contain a list of phandles pointing to display interface port
|
||||||
of vop devices. vop definitions as defined in
|
of vop devices. vop definitions as defined in
|
||||||
Documentation/devicetree/bindings/display/rockchip/rockchip-vop.txt
|
Documentation/devicetree/bindings/display/rockchip/rockchip-vop.yaml
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Required properties for the top level node:
|
|||||||
Only the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
|
Only the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
|
||||||
- #interrupt-cells : Specifies the number of cells needed to encode an
|
- #interrupt-cells : Specifies the number of cells needed to encode an
|
||||||
interrupt. Should be 2. The first cell defines the interrupt number,
|
interrupt. Should be 2. The first cell defines the interrupt number,
|
||||||
the second encodes the triger flags encoded as described in
|
the second encodes the trigger flags encoded as described in
|
||||||
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||||
- compatible:
|
- compatible:
|
||||||
- "mediatek,mt7621-gpio" for Mediatek controllers
|
- "mediatek,mt7621-gpio" for Mediatek controllers
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Interrupt number definition:
|
|||||||
16-31 : private irq, and we use 16 as the co-processor timer.
|
16-31 : private irq, and we use 16 as the co-processor timer.
|
||||||
31-1024: common irq for soc ip.
|
31-1024: common irq for soc ip.
|
||||||
|
|
||||||
Interrupt triger mode: (Defined in dt-bindings/interrupt-controller/irq.h)
|
Interrupt trigger mode: (Defined in dt-bindings/interrupt-controller/irq.h)
|
||||||
IRQ_TYPE_LEVEL_HIGH (default)
|
IRQ_TYPE_LEVEL_HIGH (default)
|
||||||
IRQ_TYPE_LEVEL_LOW
|
IRQ_TYPE_LEVEL_LOW
|
||||||
IRQ_TYPE_EDGE_RISING
|
IRQ_TYPE_EDGE_RISING
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ Example:
|
|||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
/* APU<->RPU0 IPI mailbox controller */
|
/* APU<->RPU0 IPI mailbox controller */
|
||||||
ipi_mailbox_rpu0: mailbox@ff90400 {
|
ipi_mailbox_rpu0: mailbox@ff990400 {
|
||||||
reg = <0xff990400 0x20>,
|
reg = <0xff990400 0x20>,
|
||||||
<0xff990420 0x20>,
|
<0xff990420 0x20>,
|
||||||
<0xff990080 0x20>,
|
<0xff990080 0x20>,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ The embedded controller requires the SPI controller driver to signal readiness
|
|||||||
to receive a transfer (that is, when TX FIFO contains the response data) by
|
to receive a transfer (that is, when TX FIFO contains the response data) by
|
||||||
strobing the ACK pin with the ready signal. See the "ready-gpios" property of the
|
strobing the ACK pin with the ready signal. See the "ready-gpios" property of the
|
||||||
SSP binding as documented in:
|
SSP binding as documented in:
|
||||||
<Documentation/devicetree/bindings/spi/spi-pxa2xx.txt>.
|
<Documentation/devicetree/bindings/spi/marvell,mmp2-ssp.yaml>.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
&ssp3 {
|
&ssp3 {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ MediaTek SoC built-in Bluetooth Devices
|
|||||||
|
|
||||||
This device is a serial attached device to BTIF device and thus it must be a
|
This device is a serial attached device to BTIF device and thus it must be a
|
||||||
child node of the serial node with BTIF. The dt-bindings details for BTIF
|
child node of the serial node with BTIF. The dt-bindings details for BTIF
|
||||||
device can be known via Documentation/devicetree/bindings/serial/8250.txt.
|
device can be known via Documentation/devicetree/bindings/serial/8250.yaml.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ with values derived from the SoC user manual.
|
|||||||
[flags]>
|
[flags]>
|
||||||
|
|
||||||
On other mach-shmobile platforms GPIO is handled by the gpio-rcar driver.
|
On other mach-shmobile platforms GPIO is handled by the gpio-rcar driver.
|
||||||
Please refer to Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
|
Please refer to Documentation/devicetree/bindings/gpio/renesas,rcar-gpio.yaml
|
||||||
for documentation of the GPIO device tree bindings on those platforms.
|
for documentation of the GPIO device tree bindings on those platforms.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ It is based on common bindings for device graphs.
|
|||||||
see ${LINUX}/Documentation/devicetree/bindings/graph.txt
|
see ${LINUX}/Documentation/devicetree/bindings/graph.txt
|
||||||
|
|
||||||
Basically, Audio Graph Card property is same as Simple Card.
|
Basically, Audio Graph Card property is same as Simple Card.
|
||||||
see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt
|
see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.yaml
|
||||||
|
|
||||||
Below are same as Simple-Card.
|
Below are same as Simple-Card.
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ codec or external codecs.
|
|||||||
|
|
||||||
sti sound drivers allows to expose sti SoC audio interface through the
|
sti sound drivers allows to expose sti SoC audio interface through the
|
||||||
generic ASoC simple card. For details about sound card declaration please refer to
|
generic ASoC simple card. For details about sound card declaration please refer to
|
||||||
Documentation/devicetree/bindings/sound/simple-card.txt.
|
Documentation/devicetree/bindings/sound/simple-card.yaml.
|
||||||
|
|
||||||
1) sti-uniperiph-dai: audio dai device.
|
1) sti-uniperiph-dai: audio dai device.
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|||||||
@@ -34,12 +34,15 @@ properties:
|
|||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 1
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
- description: controller register bus clock
|
||||||
|
- description: baud rate generator and delay control clock
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
description: input clock for the baud rate generator
|
minItems: 1
|
||||||
items:
|
maxItems: 2
|
||||||
- const: core
|
|
||||||
|
|
||||||
if:
|
if:
|
||||||
properties:
|
properties:
|
||||||
@@ -51,17 +54,22 @@ if:
|
|||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
clocks:
|
clocks:
|
||||||
contains:
|
minItems: 2
|
||||||
items:
|
|
||||||
- description: controller register bus clock
|
|
||||||
- description: baud rate generator and delay control clock
|
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
minItems: 2
|
|
||||||
items:
|
items:
|
||||||
- const: core
|
- const: core
|
||||||
- const: pclk
|
- const: pclk
|
||||||
|
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: core
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Required properties:
|
|||||||
|
|
||||||
SPI Controller nodes must be child of GENI based Qualcomm Universal
|
SPI Controller nodes must be child of GENI based Qualcomm Universal
|
||||||
Peripharal. Please refer GENI based QUP wrapper controller node bindings
|
Peripharal. Please refer GENI based QUP wrapper controller node bindings
|
||||||
described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt.
|
described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml.
|
||||||
|
|
||||||
SPI slave nodes must be children of the SPI master node and conform to SPI bus
|
SPI slave nodes must be children of the SPI master node and conform to SPI bus
|
||||||
binding as described in Documentation/devicetree/bindings/spi/spi-bus.txt.
|
binding as described in Documentation/devicetree/bindings/spi/spi-bus.txt.
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ examples:
|
|||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
// Example 1: SDM845 TSENS
|
// Example 1: SDM845 TSENS
|
||||||
soc: soc@0 {
|
soc: soc {
|
||||||
#address-cells = <2>;
|
#address-cells = <2>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ examples:
|
|||||||
#include <dt-bindings/thermal/thermal.h>
|
#include <dt-bindings/thermal/thermal.h>
|
||||||
|
|
||||||
// Example 1: SDM845 TSENS
|
// Example 1: SDM845 TSENS
|
||||||
soc: soc@0 {
|
soc {
|
||||||
#address-cells = <2>;
|
#address-cells = <2>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ examples:
|
|||||||
#include <dt-bindings/soc/ti,sci_pm_domain.h>
|
#include <dt-bindings/soc/ti,sci_pm_domain.h>
|
||||||
vtm: thermal@42050000 {
|
vtm: thermal@42050000 {
|
||||||
compatible = "ti,am654-vtm";
|
compatible = "ti,am654-vtm";
|
||||||
reg = <0x0 0x42050000 0x0 0x25c>;
|
reg = <0x42050000 0x25c>;
|
||||||
power-domains = <&k3_pds 80 TI_SCI_PD_EXCLUSIVE>;
|
power-domains = <&k3_pds 80 TI_SCI_PD_EXCLUSIVE>;
|
||||||
#thermal-sensor-cells = <1>;
|
#thermal-sensor-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ regs is accessed by cpu co-processor 4 registers with mtcr/mfcr.
|
|||||||
- PTIM_CTLR "cr<0, 14>" Control reg to start reset timer.
|
- PTIM_CTLR "cr<0, 14>" Control reg to start reset timer.
|
||||||
- PTIM_TSR "cr<1, 14>" Interrupt cleanup status reg.
|
- PTIM_TSR "cr<1, 14>" Interrupt cleanup status reg.
|
||||||
- PTIM_CCVR "cr<3, 14>" Current counter value reg.
|
- PTIM_CCVR "cr<3, 14>" Current counter value reg.
|
||||||
- PTIM_LVR "cr<6, 14>" Window value reg to triger next event.
|
- PTIM_LVR "cr<6, 14>" Window value reg to trigger next event.
|
||||||
|
|
||||||
==============================
|
==============================
|
||||||
timer node bindings definition
|
timer node bindings definition
|
||||||
|
|||||||
@@ -127,8 +127,8 @@ examples:
|
|||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
string@0409 {
|
string@409 {
|
||||||
reg = <0x0409>;
|
reg = <0x409>;
|
||||||
manufacturer = "ASPEED";
|
manufacturer = "ASPEED";
|
||||||
product = "USB Virtual Hub";
|
product = "USB Virtual Hub";
|
||||||
serial-number = "0000";
|
serial-number = "0000";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
:orphan:
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
Writing DeviceTree Bindings in json-schema
|
Writing DeviceTree Bindings in json-schema
|
||||||
==========================================
|
==========================================
|
||||||
@@ -124,9 +124,12 @@ dtc must also be built with YAML output support enabled. This requires that
|
|||||||
libyaml and its headers be installed on the host system. For some distributions
|
libyaml and its headers be installed on the host system. For some distributions
|
||||||
that involves installing the development package, such as:
|
that involves installing the development package, such as:
|
||||||
|
|
||||||
Debian:
|
Debian::
|
||||||
|
|
||||||
apt-get install libyaml-dev
|
apt-get install libyaml-dev
|
||||||
Fedora:
|
|
||||||
|
Fedora::
|
||||||
|
|
||||||
dnf -y install libyaml-devel
|
dnf -y install libyaml-devel
|
||||||
|
|
||||||
Running checks
|
Running checks
|
||||||
|
|||||||
@@ -451,7 +451,7 @@ The bridge driver also has some helper functions it can use:
|
|||||||
"module_foo", "chipid", 0x36, NULL);
|
"module_foo", "chipid", 0x36, NULL);
|
||||||
|
|
||||||
This loads the given module (can be ``NULL`` if no module needs to be loaded)
|
This loads the given module (can be ``NULL`` if no module needs to be loaded)
|
||||||
and calls :c:func:`i2c_new_device` with the given ``i2c_adapter`` and
|
and calls :c:func:`i2c_new_client_device` with the given ``i2c_adapter`` and
|
||||||
chip/address arguments. If all goes well, then it registers the subdev with
|
chip/address arguments. If all goes well, then it registers the subdev with
|
||||||
the v4l2_device.
|
the v4l2_device.
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ size when creating the filesystem.
|
|||||||
Currently 3 filesystems support DAX: ext2, ext4 and xfs. Enabling DAX on them
|
Currently 3 filesystems support DAX: ext2, ext4 and xfs. Enabling DAX on them
|
||||||
is different.
|
is different.
|
||||||
|
|
||||||
Enabling DAX on ext4 and ext2
|
Enabling DAX on ext2
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
When mounting the filesystem, use the "-o dax" option on the command line or
|
When mounting the filesystem, use the "-o dax" option on the command line or
|
||||||
@@ -33,8 +33,8 @@ add 'dax' to the options in /etc/fstab. This works to enable DAX on all files
|
|||||||
within the filesystem. It is equivalent to the '-o dax=always' behavior below.
|
within the filesystem. It is equivalent to the '-o dax=always' behavior below.
|
||||||
|
|
||||||
|
|
||||||
Enabling DAX on xfs
|
Enabling DAX on xfs and ext4
|
||||||
-------------------
|
----------------------------
|
||||||
|
|
||||||
Summary
|
Summary
|
||||||
-------
|
-------
|
||||||
|
|||||||
@@ -39,3 +39,6 @@ is encrypted as well as the data itself.
|
|||||||
|
|
||||||
Verity files cannot have blocks allocated past the end of the verity
|
Verity files cannot have blocks allocated past the end of the verity
|
||||||
metadata.
|
metadata.
|
||||||
|
|
||||||
|
Verity and DAX are not compatible and attempts to set both of these flags
|
||||||
|
on a file will fail.
|
||||||
|
|||||||
@@ -197,11 +197,14 @@ pp_power_profile_mode
|
|||||||
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
|
||||||
:doc: pp_power_profile_mode
|
:doc: pp_power_profile_mode
|
||||||
|
|
||||||
busy_percent
|
*_busy_percent
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
|
||||||
:doc: busy_percent
|
:doc: gpu_busy_percent
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
|
||||||
|
:doc: mem_busy_percent
|
||||||
|
|
||||||
GPU Product Information
|
GPU Product Information
|
||||||
=======================
|
=======================
|
||||||
|
|||||||
@@ -1,14 +1,26 @@
|
|||||||
==============================
|
==============================
|
||||||
Linux I2C slave eeprom backend
|
Linux I2C slave EEPROM backend
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
by Wolfram Sang <wsa@sang-engineering.com> in 2014-15
|
by Wolfram Sang <wsa@sang-engineering.com> in 2014-20
|
||||||
|
|
||||||
This is a proof-of-concept backend which acts like an EEPROM on the connected
|
This backend simulates an EEPROM on the connected I2C bus. Its memory contents
|
||||||
I2C bus. The memory contents can be modified from userspace via this file
|
can be accessed from userspace via this file located in sysfs::
|
||||||
located in sysfs::
|
|
||||||
|
|
||||||
/sys/bus/i2c/devices/<device-directory>/slave-eeprom
|
/sys/bus/i2c/devices/<device-directory>/slave-eeprom
|
||||||
|
|
||||||
|
The following types are available: 24c02, 24c32, 24c64, and 24c512. Read-only
|
||||||
|
variants are also supported. The name needed for instantiating has the form
|
||||||
|
'slave-<type>[ro]'. Examples follow:
|
||||||
|
|
||||||
|
24c02, read/write, address 0x64:
|
||||||
|
# echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
|
|
||||||
|
24c512, read-only, address 0x42:
|
||||||
|
# echo slave-24c512ro 0x1042 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
|
|
||||||
|
You can also preload data during boot if a device-property named
|
||||||
|
'firmware-name' contains a valid filename (DT or ACPI only).
|
||||||
|
|
||||||
As of 2015, Linux doesn't support poll on binary sysfs files, so there is no
|
As of 2015, Linux doesn't support poll on binary sysfs files, so there is no
|
||||||
notification when another master changed the content.
|
notification when another master changed the content.
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ SMBus Quick Command
|
|||||||
|
|
||||||
This sends a single bit to the device, at the place of the Rd/Wr bit::
|
This sends a single bit to the device, at the place of the Rd/Wr bit::
|
||||||
|
|
||||||
A Addr Rd/Wr [A] P
|
S Addr Rd/Wr [A] P
|
||||||
|
|
||||||
Functionality flag: I2C_FUNC_SMBUS_QUICK
|
Functionality flag: I2C_FUNC_SMBUS_QUICK
|
||||||
|
|
||||||
|
|||||||
@@ -182,7 +182,8 @@ module 8123.ko, which is built from the following files::
|
|||||||
8123_pci.c
|
8123_pci.c
|
||||||
8123_bin.o_shipped <= Binary blob
|
8123_bin.o_shipped <= Binary blob
|
||||||
|
|
||||||
--- 3.1 Shared Makefile
|
3.1 Shared Makefile
|
||||||
|
-------------------
|
||||||
|
|
||||||
An external module always includes a wrapper makefile that
|
An external module always includes a wrapper makefile that
|
||||||
supports building the module using "make" with no arguments.
|
supports building the module using "make" with no arguments.
|
||||||
@@ -470,9 +471,9 @@ build.
|
|||||||
|
|
||||||
The syntax of the Module.symvers file is::
|
The syntax of the Module.symvers file is::
|
||||||
|
|
||||||
<CRC> <Symbol> <Module> <Export Type> <Namespace>
|
<CRC> <Symbol> <Module> <Export Type> <Namespace>
|
||||||
|
|
||||||
0xe1cc2a05 usb_stor_suspend drivers/usb/storage/usb-storage EXPORT_SYMBOL_GPL USB_STORAGE
|
0xe1cc2a05 usb_stor_suspend drivers/usb/storage/usb-storage EXPORT_SYMBOL_GPL USB_STORAGE
|
||||||
|
|
||||||
The fields are separated by tabs and values may be empty (e.g.
|
The fields are separated by tabs and values may be empty (e.g.
|
||||||
if no namespace is defined for an exported symbol).
|
if no namespace is defined for an exported symbol).
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Structure randomisation
|
|||||||
|
|
||||||
If you enable ``CONFIG_GCC_PLUGIN_RANDSTRUCT``, you will need to
|
If you enable ``CONFIG_GCC_PLUGIN_RANDSTRUCT``, you will need to
|
||||||
pre-generate the random seed in
|
pre-generate the random seed in
|
||||||
``scripts/gcc-plgins/randomize_layout_seed.h`` so the same value
|
``scripts/gcc-plugins/randomize_layout_seed.h`` so the same value
|
||||||
is used in rebuilds.
|
is used in rebuilds.
|
||||||
|
|
||||||
Debug info conflicts
|
Debug info conflicts
|
||||||
|
|||||||
@@ -68,4 +68,4 @@ and frameworks can be controlled from the same registers, all of these
|
|||||||
drivers access their registers through the same regmap.
|
drivers access their registers through the same regmap.
|
||||||
|
|
||||||
For more information regarding the devicetree bindings of the TCU drivers,
|
For more information regarding the devicetree bindings of the TCU drivers,
|
||||||
have a look at Documentation/devicetree/bindings/timer/ingenic,tcu.txt.
|
have a look at Documentation/devicetree/bindings/timer/ingenic,tcu.yaml.
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ Socket API
|
|||||||
|
|
||||||
The address family, socket addresses etc. are defined in the
|
The address family, socket addresses etc. are defined in the
|
||||||
include/net/af_ieee802154.h header or in the special header
|
include/net/af_ieee802154.h header or in the special header
|
||||||
in the userspace package (see either http://wpan.cakelab.org/ or the
|
in the userspace package (see either https://linux-wpan.org/wpan-tools.html
|
||||||
git tree at https://github.com/linux-wpan/wpan-tools).
|
or the git tree at https://github.com/linux-wpan/wpan-tools).
|
||||||
|
|
||||||
6LoWPAN Linux implementation
|
6LoWPAN Linux implementation
|
||||||
============================
|
============================
|
||||||
|
|||||||
@@ -220,13 +220,51 @@ from the LPAR memory.
|
|||||||
**H_SCM_HEALTH**
|
**H_SCM_HEALTH**
|
||||||
|
|
||||||
| Input: drcIndex
|
| Input: drcIndex
|
||||||
| Out: *health-bitmap, health-bit-valid-bitmap*
|
| Out: *health-bitmap (r4), health-bit-valid-bitmap (r5)*
|
||||||
| Return Value: *H_Success, H_Parameter, H_Hardware*
|
| Return Value: *H_Success, H_Parameter, H_Hardware*
|
||||||
|
|
||||||
Given a DRC Index return the info on predictive failure and overall health of
|
Given a DRC Index return the info on predictive failure and overall health of
|
||||||
the NVDIMM. The asserted bits in the health-bitmap indicate a single predictive
|
the PMEM device. The asserted bits in the health-bitmap indicate one or more states
|
||||||
failure and health-bit-valid-bitmap indicate which bits in health-bitmap are
|
(described in table below) of the PMEM device and health-bit-valid-bitmap indicate
|
||||||
valid.
|
which bits in health-bitmap are valid. The bits are reported in
|
||||||
|
reverse bit ordering for example a value of 0xC400000000000000
|
||||||
|
indicates bits 0, 1, and 5 are valid.
|
||||||
|
|
||||||
|
Health Bitmap Flags:
|
||||||
|
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| Bit | Definition |
|
||||||
|
+======+=======================================================================+
|
||||||
|
| 00 | PMEM device is unable to persist memory contents. |
|
||||||
|
| | If the system is powered down, nothing will be saved. |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 01 | PMEM device failed to persist memory contents. Either contents were |
|
||||||
|
| | not saved successfully on power down or were not restored properly on |
|
||||||
|
| | power up. |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 02 | PMEM device contents are persisted from previous IPL. The data from |
|
||||||
|
| | the last boot were successfully restored. |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 03 | PMEM device contents are not persisted from previous IPL. There was no|
|
||||||
|
| | data to restore from the last boot. |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 04 | PMEM device memory life remaining is critically low |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 05 | PMEM device will be garded off next IPL due to failure |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 06 | PMEM device contents cannot persist due to current platform health |
|
||||||
|
| | status. A hardware failure may prevent data from being saved or |
|
||||||
|
| | restored. |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 07 | PMEM device is unable to persist memory contents in certain conditions|
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 08 | PMEM device is encrypted |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
| 09 | PMEM device has successfully completed a requested erase or secure |
|
||||||
|
| | erase procedure. |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
|10:63 | Reserved / Unused |
|
||||||
|
+------+-----------------------------------------------------------------------+
|
||||||
|
|
||||||
**H_SCM_PERFORMANCE_STATS**
|
**H_SCM_PERFORMANCE_STATS**
|
||||||
|
|
||||||
|
|||||||
@@ -16,18 +16,6 @@ Store Queue API
|
|||||||
.. kernel-doc:: arch/sh/kernel/cpu/sh4/sq.c
|
.. kernel-doc:: arch/sh/kernel/cpu/sh4/sq.c
|
||||||
:export:
|
:export:
|
||||||
|
|
||||||
SH-5
|
|
||||||
----
|
|
||||||
|
|
||||||
TLB Interfaces
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. kernel-doc:: arch/sh/mm/tlb-sh5.c
|
|
||||||
:internal:
|
|
||||||
|
|
||||||
.. kernel-doc:: arch/sh/include/asm/tlb_64.h
|
|
||||||
:internal:
|
|
||||||
|
|
||||||
Machine Specific Interfaces
|
Machine Specific Interfaces
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ nitpick_ignore = [
|
|||||||
("c:func", "copy_to_user"),
|
("c:func", "copy_to_user"),
|
||||||
("c:func", "determine_valid_ioctls"),
|
("c:func", "determine_valid_ioctls"),
|
||||||
("c:func", "ERR_PTR"),
|
("c:func", "ERR_PTR"),
|
||||||
("c:func", "i2c_new_device"),
|
("c:func", "i2c_new_client_device"),
|
||||||
("c:func", "ioctl"),
|
("c:func", "ioctl"),
|
||||||
("c:func", "IS_ERR"),
|
("c:func", "IS_ERR"),
|
||||||
("c:func", "KERNEL_VERSION"),
|
("c:func", "KERNEL_VERSION"),
|
||||||
|
|||||||
61
MAINTAINERS
61
MAINTAINERS
@@ -3946,7 +3946,7 @@ L: linux-crypto@vger.kernel.org
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/char/hw_random/cctrng.c
|
F: drivers/char/hw_random/cctrng.c
|
||||||
F: drivers/char/hw_random/cctrng.h
|
F: drivers/char/hw_random/cctrng.h
|
||||||
F: Documentation/devicetree/bindings/rng/arm-cctrng.txt
|
F: Documentation/devicetree/bindings/rng/arm-cctrng.yaml
|
||||||
W: https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
|
W: https://developer.arm.com/products/system-ip/trustzone-cryptocell/cryptocell-700-family
|
||||||
|
|
||||||
CEC FRAMEWORK
|
CEC FRAMEWORK
|
||||||
@@ -5490,7 +5490,7 @@ F: include/uapi/drm/r128_drm.h
|
|||||||
DRM DRIVER FOR RAYDIUM RM67191 PANELS
|
DRM DRIVER FOR RAYDIUM RM67191 PANELS
|
||||||
M: Robert Chiras <robert.chiras@nxp.com>
|
M: Robert Chiras <robert.chiras@nxp.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/display/panel/raydium,rm67191.txt
|
F: Documentation/devicetree/bindings/display/panel/raydium,rm67191.yaml
|
||||||
F: drivers/gpu/drm/panel/panel-raydium-rm67191.c
|
F: drivers/gpu/drm/panel/panel-raydium-rm67191.c
|
||||||
|
|
||||||
DRM DRIVER FOR ROCKTECH JH057N00900 PANELS
|
DRM DRIVER FOR ROCKTECH JH057N00900 PANELS
|
||||||
@@ -8333,7 +8333,7 @@ M: Alexander Aring <alex.aring@gmail.com>
|
|||||||
M: Stefan Schmidt <stefan@datenfreihafen.org>
|
M: Stefan Schmidt <stefan@datenfreihafen.org>
|
||||||
L: linux-wpan@vger.kernel.org
|
L: linux-wpan@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://wpan.cakelab.org/
|
W: https://linux-wpan.org/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next.git
|
||||||
F: Documentation/networking/ieee802154.rst
|
F: Documentation/networking/ieee802154.rst
|
||||||
@@ -10808,7 +10808,7 @@ F: Documentation/devicetree/bindings/dma/mtk-*
|
|||||||
F: drivers/dma/mediatek/
|
F: drivers/dma/mediatek/
|
||||||
|
|
||||||
MEDIATEK ETHERNET DRIVER
|
MEDIATEK ETHERNET DRIVER
|
||||||
M: Felix Fietkau <nbd@openwrt.org>
|
M: Felix Fietkau <nbd@nbd.name>
|
||||||
M: John Crispin <john@phrozen.org>
|
M: John Crispin <john@phrozen.org>
|
||||||
M: Sean Wang <sean.wang@mediatek.com>
|
M: Sean Wang <sean.wang@mediatek.com>
|
||||||
M: Mark Lee <Mark-MC.Lee@mediatek.com>
|
M: Mark Lee <Mark-MC.Lee@mediatek.com>
|
||||||
@@ -11369,14 +11369,6 @@ L: dmaengine@vger.kernel.org
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/dma/at_xdmac.c
|
F: drivers/dma/at_xdmac.c
|
||||||
|
|
||||||
MICROSEMI ETHERNET SWITCH DRIVER
|
|
||||||
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
|
||||||
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
|
|
||||||
L: netdev@vger.kernel.org
|
|
||||||
S: Supported
|
|
||||||
F: drivers/net/ethernet/mscc/
|
|
||||||
F: include/soc/mscc/ocelot*
|
|
||||||
|
|
||||||
MICROSEMI MIPS SOCS
|
MICROSEMI MIPS SOCS
|
||||||
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
|
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
|
||||||
@@ -12335,6 +12327,18 @@ M: Peter Zijlstra <peterz@infradead.org>
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: tools/objtool/
|
F: tools/objtool/
|
||||||
|
|
||||||
|
OCELOT ETHERNET SWITCH DRIVER
|
||||||
|
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
|
||||||
|
M: Vladimir Oltean <vladimir.oltean@nxp.com>
|
||||||
|
M: Claudiu Manoil <claudiu.manoil@nxp.com>
|
||||||
|
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
|
S: Supported
|
||||||
|
F: drivers/net/dsa/ocelot/*
|
||||||
|
F: drivers/net/ethernet/mscc/
|
||||||
|
F: include/soc/mscc/ocelot*
|
||||||
|
F: net/dsa/tag_ocelot.c
|
||||||
|
|
||||||
OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
|
OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
|
||||||
M: Frederic Barrat <fbarrat@linux.ibm.com>
|
M: Frederic Barrat <fbarrat@linux.ibm.com>
|
||||||
M: Andrew Donnellan <ajd@linux.ibm.com>
|
M: Andrew Donnellan <ajd@linux.ibm.com>
|
||||||
@@ -12691,13 +12695,13 @@ F: arch/mips/boot/dts/ralink/omega2p.dts
|
|||||||
|
|
||||||
OP-TEE DRIVER
|
OP-TEE DRIVER
|
||||||
M: Jens Wiklander <jens.wiklander@linaro.org>
|
M: Jens Wiklander <jens.wiklander@linaro.org>
|
||||||
L: tee-dev@lists.linaro.org
|
L: op-tee@lists.trustedfirmware.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/tee/optee/
|
F: drivers/tee/optee/
|
||||||
|
|
||||||
OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
|
OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
|
||||||
M: Sumit Garg <sumit.garg@linaro.org>
|
M: Sumit Garg <sumit.garg@linaro.org>
|
||||||
L: tee-dev@lists.linaro.org
|
L: op-tee@lists.trustedfirmware.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/char/hw_random/optee-rng.c
|
F: drivers/char/hw_random/optee-rng.c
|
||||||
|
|
||||||
@@ -14192,6 +14196,15 @@ L: dmaengine@vger.kernel.org
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/dma/qcom/hidma*
|
F: drivers/dma/qcom/hidma*
|
||||||
|
|
||||||
|
QUALCOMM I2C CCI DRIVER
|
||||||
|
M: Loic Poulain <loic.poulain@linaro.org>
|
||||||
|
M: Robert Foss <robert.foss@linaro.org>
|
||||||
|
L: linux-i2c@vger.kernel.org
|
||||||
|
L: linux-arm-msm@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/i2c/i2c-qcom-cci.txt
|
||||||
|
F: drivers/i2c/busses/i2c-qcom-cci.c
|
||||||
|
|
||||||
QUALCOMM IOMMU
|
QUALCOMM IOMMU
|
||||||
M: Rob Clark <robdclark@gmail.com>
|
M: Rob Clark <robdclark@gmail.com>
|
||||||
L: iommu@lists.linux-foundation.org
|
L: iommu@lists.linux-foundation.org
|
||||||
@@ -14534,7 +14547,7 @@ F: Documentation/devicetree/bindings/i2c/renesas,iic-emev2.txt
|
|||||||
F: drivers/i2c/busses/i2c-emev2.c
|
F: drivers/i2c/busses/i2c-emev2.c
|
||||||
|
|
||||||
RENESAS ETHERNET DRIVERS
|
RENESAS ETHERNET DRIVERS
|
||||||
R: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
|
R: Sergei Shtylyov <sergei.shtylyov@gmail.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
L: linux-renesas-soc@vger.kernel.org
|
L: linux-renesas-soc@vger.kernel.org
|
||||||
F: Documentation/devicetree/bindings/net/renesas,*.txt
|
F: Documentation/devicetree/bindings/net/renesas,*.txt
|
||||||
@@ -14561,8 +14574,8 @@ RENESAS R-CAR THERMAL DRIVERS
|
|||||||
M: Niklas Söderlund <niklas.soderlund@ragnatech.se>
|
M: Niklas Söderlund <niklas.soderlund@ragnatech.se>
|
||||||
L: linux-renesas-soc@vger.kernel.org
|
L: linux-renesas-soc@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt
|
F: Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
|
||||||
F: Documentation/devicetree/bindings/thermal/rcar-thermal.txt
|
F: Documentation/devicetree/bindings/thermal/rcar-thermal.yaml
|
||||||
F: drivers/thermal/rcar_gen3_thermal.c
|
F: drivers/thermal/rcar_gen3_thermal.c
|
||||||
F: drivers/thermal/rcar_thermal.c
|
F: drivers/thermal/rcar_thermal.c
|
||||||
|
|
||||||
@@ -16045,8 +16058,10 @@ SPARSE CHECKER
|
|||||||
M: "Luc Van Oostenryck" <luc.vanoostenryck@gmail.com>
|
M: "Luc Van Oostenryck" <luc.vanoostenryck@gmail.com>
|
||||||
L: linux-sparse@vger.kernel.org
|
L: linux-sparse@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: https://sparse.wiki.kernel.org/
|
W: https://sparse.docs.kernel.org/
|
||||||
T: git git://git.kernel.org/pub/scm/devel/sparse/sparse.git
|
T: git git://git.kernel.org/pub/scm/devel/sparse/sparse.git
|
||||||
|
Q: https://patchwork.kernel.org/project/linux-sparse/list/
|
||||||
|
B: https://bugzilla.kernel.org/enter_bug.cgi?component=Sparse&product=Tools
|
||||||
F: include/linux/compiler.h
|
F: include/linux/compiler.h
|
||||||
|
|
||||||
SPEAR CLOCK FRAMEWORK SUPPORT
|
SPEAR CLOCK FRAMEWORK SUPPORT
|
||||||
@@ -16759,7 +16774,7 @@ F: include/media/i2c/tw9910.h
|
|||||||
|
|
||||||
TEE SUBSYSTEM
|
TEE SUBSYSTEM
|
||||||
M: Jens Wiklander <jens.wiklander@linaro.org>
|
M: Jens Wiklander <jens.wiklander@linaro.org>
|
||||||
L: tee-dev@lists.linaro.org
|
L: op-tee@lists.trustedfirmware.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/tee.txt
|
F: Documentation/tee.txt
|
||||||
F: drivers/tee/
|
F: drivers/tee/
|
||||||
@@ -18254,14 +18269,6 @@ S: Maintained
|
|||||||
F: drivers/input/serio/userio.c
|
F: drivers/input/serio/userio.c
|
||||||
F: include/uapi/linux/userio.h
|
F: include/uapi/linux/userio.h
|
||||||
|
|
||||||
VITESSE FELIX ETHERNET SWITCH DRIVER
|
|
||||||
M: Vladimir Oltean <vladimir.oltean@nxp.com>
|
|
||||||
M: Claudiu Manoil <claudiu.manoil@nxp.com>
|
|
||||||
L: netdev@vger.kernel.org
|
|
||||||
S: Maintained
|
|
||||||
F: drivers/net/dsa/ocelot/*
|
|
||||||
F: net/dsa/tag_ocelot.c
|
|
||||||
|
|
||||||
VIVID VIRTUAL VIDEO DRIVER
|
VIVID VIRTUAL VIDEO DRIVER
|
||||||
M: Hans Verkuil <hverkuil@xs4all.nl>
|
M: Hans Verkuil <hverkuil@xs4all.nl>
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
|
|||||||
22
Makefile
22
Makefile
@@ -2,7 +2,7 @@
|
|||||||
VERSION = 5
|
VERSION = 5
|
||||||
PATCHLEVEL = 8
|
PATCHLEVEL = 8
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc4
|
||||||
NAME = Kleptomaniac Octopus
|
NAME = Kleptomaniac Octopus
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
@@ -828,7 +828,7 @@ endif
|
|||||||
|
|
||||||
ifdef CONFIG_DEBUG_INFO_COMPRESSED
|
ifdef CONFIG_DEBUG_INFO_COMPRESSED
|
||||||
DEBUG_CFLAGS += -gz=zlib
|
DEBUG_CFLAGS += -gz=zlib
|
||||||
KBUILD_AFLAGS += -Wa,--compress-debug-sections=zlib
|
KBUILD_AFLAGS += -gz=zlib
|
||||||
KBUILD_LDFLAGS += --compress-debug-sections=zlib
|
KBUILD_LDFLAGS += --compress-debug-sections=zlib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -970,8 +970,8 @@ LDFLAGS_vmlinux += --pack-dyn-relocs=relr
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Align the bit size of userspace programs with the kernel
|
# Align the bit size of userspace programs with the kernel
|
||||||
KBUILD_USERCFLAGS += $(filter -m32 -m64, $(KBUILD_CFLAGS))
|
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
||||||
KBUILD_USERLDFLAGS += $(filter -m32 -m64, $(KBUILD_CFLAGS))
|
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
||||||
|
|
||||||
# make the checker run with the right architecture
|
# make the checker run with the right architecture
|
||||||
CHECKFLAGS += --arch=$(ARCH)
|
CHECKFLAGS += --arch=$(ARCH)
|
||||||
@@ -1336,16 +1336,6 @@ dt_binding_check: scripts_dtc
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Modules
|
# Modules
|
||||||
|
|
||||||
# install modules.builtin regardless of CONFIG_MODULES
|
|
||||||
PHONY += _builtin_inst_
|
|
||||||
_builtin_inst_:
|
|
||||||
@mkdir -p $(MODLIB)/
|
|
||||||
@cp -f modules.builtin $(MODLIB)/
|
|
||||||
@cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
|
|
||||||
|
|
||||||
PHONY += install
|
|
||||||
install: _builtin_inst_
|
|
||||||
|
|
||||||
ifdef CONFIG_MODULES
|
ifdef CONFIG_MODULES
|
||||||
|
|
||||||
# By default, build modules as well
|
# By default, build modules as well
|
||||||
@@ -1389,7 +1379,7 @@ PHONY += modules_install
|
|||||||
modules_install: _modinst_ _modinst_post
|
modules_install: _modinst_ _modinst_post
|
||||||
|
|
||||||
PHONY += _modinst_
|
PHONY += _modinst_
|
||||||
_modinst_: _builtin_inst_
|
_modinst_:
|
||||||
@rm -rf $(MODLIB)/kernel
|
@rm -rf $(MODLIB)/kernel
|
||||||
@rm -f $(MODLIB)/source
|
@rm -f $(MODLIB)/source
|
||||||
@mkdir -p $(MODLIB)/kernel
|
@mkdir -p $(MODLIB)/kernel
|
||||||
@@ -1399,6 +1389,8 @@ _modinst_: _builtin_inst_
|
|||||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||||
fi
|
fi
|
||||||
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
|
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
|
||||||
|
@cp -f modules.builtin $(MODLIB)/
|
||||||
|
@cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
|
||||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
||||||
|
|
||||||
# This depmod is only for convenience to give the initial
|
# This depmod is only for convenience to give the initial
|
||||||
|
|||||||
@@ -369,7 +369,7 @@
|
|||||||
&mmc2 {
|
&mmc2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
vmmc-supply = <&wl12xx_vmmc>;
|
vmmc-supply = <&wl12xx_vmmc>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
pinctrl-0 = <&emmc_pins>;
|
pinctrl-0 = <&emmc_pins>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
non-removable;
|
||||||
};
|
};
|
||||||
|
|
||||||
&am33xx_pinmux {
|
&am33xx_pinmux {
|
||||||
|
|||||||
@@ -75,7 +75,6 @@
|
|||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
non-removable;
|
non-removable;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
ti,needs-special-hs-handling;
|
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
|
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
|
||||||
|
|||||||
@@ -367,7 +367,6 @@
|
|||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
non-removable;
|
non-removable;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
ti,needs-special-hs-handling;
|
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
|
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
|
||||||
|
|||||||
@@ -75,7 +75,6 @@
|
|||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
non-removable;
|
non-removable;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
ti,needs-special-hs-handling;
|
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
|
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
|
||||||
|
|||||||
@@ -743,8 +743,7 @@
|
|||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc3_pins &wlan_pins>;
|
pinctrl-0 = <&mmc3_pins &wlan_pins>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
ti,needs-special-hs-handling;
|
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
|
|
||||||
|
|||||||
@@ -655,7 +655,7 @@
|
|||||||
&mmc2 {
|
&mmc2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
vmmc-supply = <&wl12xx_vmmc>;
|
vmmc-supply = <&wl12xx_vmmc>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
|
|||||||
@@ -339,7 +339,7 @@
|
|||||||
pinctrl-0 = <&emmc_pins>;
|
pinctrl-0 = <&emmc_pins>;
|
||||||
vmmc-supply = <&vmmcsd_fixed>;
|
vmmc-supply = <&vmmcsd_fixed>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -159,7 +159,7 @@
|
|||||||
vmmc-supply = <&vmmcsd_fixed>;
|
vmmc-supply = <&vmmcsd_fixed>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
pinctrl-0 = <&mmc1_pins_default>;
|
pinctrl-0 = <&mmc1_pins_default>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -451,7 +451,7 @@
|
|||||||
vmmc-supply = <&vmmcsd_fixed>;
|
vmmc-supply = <&vmmcsd_fixed>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
pinctrl-0 = <&mmc2_pins_default>;
|
pinctrl-0 = <&mmc2_pins_default>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -341,7 +341,7 @@
|
|||||||
pinctrl-0 = <&emmc_pins>;
|
pinctrl-0 = <&emmc_pins>;
|
||||||
vmmc-supply = <&ldo3_reg>;
|
vmmc-supply = <&ldo3_reg>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mmc3 {
|
&mmc3 {
|
||||||
@@ -351,7 +351,7 @@
|
|||||||
pinctrl-0 = <&wireless_pins>;
|
pinctrl-0 = <&wireless_pins>;
|
||||||
vmmmc-supply = <&v3v3c_reg>;
|
vmmmc-supply = <&v3v3c_reg>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
dmas = <&edma_xbar 12 0 1
|
dmas = <&edma_xbar 12 0 1
|
||||||
&edma_xbar 13 0 2>;
|
&edma_xbar 13 0 2>;
|
||||||
dma-names = "tx", "rx";
|
dma-names = "tx", "rx";
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
pinctrl-0 = <&emmc_pins>;
|
pinctrl-0 = <&emmc_pins>;
|
||||||
vmmc-supply = <&vmmc_reg>;
|
vmmc-supply = <&vmmc_reg>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,6 @@
|
|||||||
AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
|
AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
|
||||||
AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
|
AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
|
||||||
AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
|
AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
|
||||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_INPUT, MUX_MODE4) /* (B12) mcasp0_aclkr.mmc0_sdwp */
|
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1335,10 +1335,8 @@
|
|||||||
ranges = <0x0 0x60000 0x1000>;
|
ranges = <0x0 0x60000 0x1000>;
|
||||||
|
|
||||||
mmc1: mmc@0 {
|
mmc1: mmc@0 {
|
||||||
compatible = "ti,omap4-hsmmc";
|
compatible = "ti,am335-sdhci";
|
||||||
ti,dual-volt;
|
|
||||||
ti,needs-special-reset;
|
ti,needs-special-reset;
|
||||||
ti,needs-special-hs-handling;
|
|
||||||
dmas = <&edma_xbar 24 0 0
|
dmas = <&edma_xbar 24 0 0
|
||||||
&edma_xbar 25 0 0>;
|
&edma_xbar 25 0 0>;
|
||||||
dma-names = "tx", "rx";
|
dma-names = "tx", "rx";
|
||||||
@@ -1816,7 +1814,7 @@
|
|||||||
ranges = <0x0 0xd8000 0x1000>;
|
ranges = <0x0 0xd8000 0x1000>;
|
||||||
|
|
||||||
mmc2: mmc@0 {
|
mmc2: mmc@0 {
|
||||||
compatible = "ti,omap4-hsmmc";
|
compatible = "ti,am335-sdhci";
|
||||||
ti,needs-special-reset;
|
ti,needs-special-reset;
|
||||||
dmas = <&edma 2 0
|
dmas = <&edma 2 0
|
||||||
&edma 3 0>;
|
&edma 3 0>;
|
||||||
|
|||||||
@@ -322,10 +322,11 @@
|
|||||||
ranges = <0x0 0x47810000 0x1000>;
|
ranges = <0x0 0x47810000 0x1000>;
|
||||||
|
|
||||||
mmc3: mmc@0 {
|
mmc3: mmc@0 {
|
||||||
compatible = "ti,omap4-hsmmc";
|
compatible = "ti,am335-sdhci";
|
||||||
ti,needs-special-reset;
|
ti,needs-special-reset;
|
||||||
interrupts = <29>;
|
interrupts = <29>;
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -335,7 +336,7 @@
|
|||||||
<0x47400010 0x4>;
|
<0x47400010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
|
ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
|
||||||
SYSC_OMAP2_SOFTRESET)>;
|
SYSC_OMAP4_SOFTRESET)>;
|
||||||
ti,sysc-midle = <SYSC_IDLE_FORCE>,
|
ti,sysc-midle = <SYSC_IDLE_FORCE>,
|
||||||
<SYSC_IDLE_NO>,
|
<SYSC_IDLE_NO>,
|
||||||
<SYSC_IDLE_SMART>;
|
<SYSC_IDLE_SMART>;
|
||||||
@@ -347,7 +348,7 @@
|
|||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0x0 0x47400000 0x5000>;
|
ranges = <0x0 0x47400000 0x8000>;
|
||||||
|
|
||||||
usb0_phy: usb-phy@1300 {
|
usb0_phy: usb-phy@1300 {
|
||||||
compatible = "ti,am335x-usb-phy";
|
compatible = "ti,am335x-usb-phy";
|
||||||
|
|||||||
@@ -316,10 +316,11 @@
|
|||||||
ranges = <0x0 0x47810000 0x1000>;
|
ranges = <0x0 0x47810000 0x1000>;
|
||||||
|
|
||||||
mmc3: mmc@0 {
|
mmc3: mmc@0 {
|
||||||
compatible = "ti,omap4-hsmmc";
|
compatible = "ti,am437-sdhci";
|
||||||
ti,needs-special-reset;
|
ti,needs-special-reset;
|
||||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -291,7 +291,7 @@
|
|||||||
pinctrl-0 = <&emmc_pins>;
|
pinctrl-0 = <&emmc_pins>;
|
||||||
vmmc-supply = <&vmmc_3v3>;
|
vmmc-supply = <&vmmc_3v3>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
|
||||||
&spi0 {
|
&spi0 {
|
||||||
|
|||||||
@@ -91,22 +91,6 @@
|
|||||||
|
|
||||||
backlight = <&lcd_bl>;
|
backlight = <&lcd_bl>;
|
||||||
|
|
||||||
panel-timing {
|
|
||||||
clock-frequency = <33000000>;
|
|
||||||
hactive = <800>;
|
|
||||||
vactive = <480>;
|
|
||||||
hfront-porch = <210>;
|
|
||||||
hback-porch = <16>;
|
|
||||||
hsync-len = <30>;
|
|
||||||
vback-porch = <10>;
|
|
||||||
vfront-porch = <22>;
|
|
||||||
vsync-len = <13>;
|
|
||||||
hsync-active = <0>;
|
|
||||||
vsync-active = <0>;
|
|
||||||
de-active = <1>;
|
|
||||||
pixelclk-active = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
port {
|
port {
|
||||||
lcd_in: endpoint {
|
lcd_in: endpoint {
|
||||||
remote-endpoint = <&dpi_out>;
|
remote-endpoint = <&dpi_out>;
|
||||||
@@ -869,7 +853,7 @@
|
|||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep";
|
||||||
pinctrl-0 = <&emmc_pins_default>;
|
pinctrl-0 = <&emmc_pins_default>;
|
||||||
pinctrl-1 = <&emmc_pins_sleep>;
|
pinctrl-1 = <&emmc_pins_sleep>;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mmc3 {
|
&mmc3 {
|
||||||
@@ -886,7 +870,7 @@
|
|||||||
pinctrl-1 = <&mmc3_pins_sleep>;
|
pinctrl-1 = <&mmc3_pins_sleep>;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|||||||
@@ -1083,9 +1083,8 @@
|
|||||||
ranges = <0x0 0x60000 0x1000>;
|
ranges = <0x0 0x60000 0x1000>;
|
||||||
|
|
||||||
mmc1: mmc@0 {
|
mmc1: mmc@0 {
|
||||||
compatible = "ti,omap4-hsmmc";
|
compatible = "ti,am437-sdhci";
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
ti,dual-volt;
|
|
||||||
ti,needs-special-reset;
|
ti,needs-special-reset;
|
||||||
dmas = <&edma 24 0>,
|
dmas = <&edma 24 0>,
|
||||||
<&edma 25 0>;
|
<&edma 25 0>;
|
||||||
@@ -1598,7 +1597,7 @@
|
|||||||
ranges = <0x0 0xd8000 0x1000>;
|
ranges = <0x0 0xd8000 0x1000>;
|
||||||
|
|
||||||
mmc2: mmc@0 {
|
mmc2: mmc@0 {
|
||||||
compatible = "ti,omap4-hsmmc";
|
compatible = "ti,am437-sdhci";
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
ti,needs-special-reset;
|
ti,needs-special-reset;
|
||||||
dmas = <&edma 2 0>,
|
dmas = <&edma 2 0>,
|
||||||
|
|||||||
@@ -134,22 +134,6 @@
|
|||||||
|
|
||||||
enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
|
enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
panel-timing {
|
|
||||||
clock-frequency = <9000000>;
|
|
||||||
hactive = <480>;
|
|
||||||
vactive = <272>;
|
|
||||||
hfront-porch = <2>;
|
|
||||||
hback-porch = <2>;
|
|
||||||
hsync-len = <41>;
|
|
||||||
vfront-porch = <2>;
|
|
||||||
vback-porch = <2>;
|
|
||||||
vsync-len = <10>;
|
|
||||||
hsync-active = <0>;
|
|
||||||
vsync-active = <0>;
|
|
||||||
de-active = <1>;
|
|
||||||
pixelclk-active = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
port {
|
port {
|
||||||
lcd_in: endpoint {
|
lcd_in: endpoint {
|
||||||
remote-endpoint = <&dpi_out>;
|
remote-endpoint = <&dpi_out>;
|
||||||
@@ -719,7 +703,7 @@
|
|||||||
pinctrl-1 = <&mmc3_pins_sleep>;
|
pinctrl-1 = <&mmc3_pins_sleep>;
|
||||||
cap-power-off-card;
|
cap-power-off-card;
|
||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
ti,non-removable;
|
non-removable;
|
||||||
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|||||||
@@ -47,22 +47,6 @@
|
|||||||
|
|
||||||
backlight = <&lcd_bl>;
|
backlight = <&lcd_bl>;
|
||||||
|
|
||||||
panel-timing {
|
|
||||||
clock-frequency = <33000000>;
|
|
||||||
hactive = <800>;
|
|
||||||
vactive = <480>;
|
|
||||||
hfront-porch = <210>;
|
|
||||||
hback-porch = <16>;
|
|
||||||
hsync-len = <30>;
|
|
||||||
vback-porch = <10>;
|
|
||||||
vfront-porch = <22>;
|
|
||||||
vsync-len = <13>;
|
|
||||||
hsync-active = <0>;
|
|
||||||
vsync-active = <0>;
|
|
||||||
de-active = <1>;
|
|
||||||
pixelclk-active = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
port {
|
port {
|
||||||
lcd_in: endpoint {
|
lcd_in: endpoint {
|
||||||
remote-endpoint = <&dpi_out>;
|
remote-endpoint = <&dpi_out>;
|
||||||
|
|||||||
@@ -505,7 +505,7 @@
|
|||||||
|
|
||||||
&cpsw_emac0 {
|
&cpsw_emac0 {
|
||||||
phy-handle = <&phy0>;
|
phy-handle = <&phy0>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-rxid";
|
||||||
};
|
};
|
||||||
|
|
||||||
&ocp {
|
&ocp {
|
||||||
|
|||||||
@@ -200,7 +200,7 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
dma@20000 {
|
dma: dma@20000 {
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
reg = <0x20000 0x1000>;
|
reg = <0x20000 0x1000>;
|
||||||
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
@@ -215,6 +215,8 @@
|
|||||||
clocks = <&iprocslow>;
|
clocks = <&iprocslow>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
#dma-cells = <1>;
|
#dma-cells = <1>;
|
||||||
|
dma-coherent;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
sdio: sdhci@21000 {
|
sdio: sdhci@21000 {
|
||||||
@@ -257,10 +259,10 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
mailbox: mailbox@25000 {
|
mailbox: mailbox@25c00 {
|
||||||
compatible = "brcm,iproc-fa2-mbox";
|
compatible = "brcm,iproc-fa2-mbox";
|
||||||
reg = <0x25000 0x445>;
|
reg = <0x25c00 0x400>;
|
||||||
interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#mbox-cells = <1>;
|
#mbox-cells = <1>;
|
||||||
brcm,rx-status-len = <32>;
|
brcm,rx-status-len = <32>;
|
||||||
brcm,use-bcm-hdr;
|
brcm,use-bcm-hdr;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
|
device_type = "memory";
|
||||||
reg = <0x00000000 0x08000000
|
reg = <0x00000000 0x08000000
|
||||||
0x88000000 0x18000000>;
|
0x88000000 0x18000000>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,6 +58,10 @@
|
|||||||
|
|
||||||
/* USB 3 support needed to be complete */
|
/* USB 3 support needed to be complete */
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,6 +58,10 @@
|
|||||||
|
|
||||||
/* USB 3 support needed to be complete */
|
/* USB 3 support needed to be complete */
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,6 +58,10 @@
|
|||||||
|
|
||||||
/* XHCI support needed to be complete */
|
/* XHCI support needed to be complete */
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,6 +58,10 @@
|
|||||||
|
|
||||||
/* USB 3 and SLIC support needed to be complete */
|
/* USB 3 and SLIC support needed to be complete */
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,6 +58,10 @@
|
|||||||
|
|
||||||
/* USB 3 and SLIC support needed to be complete */
|
/* USB 3 and SLIC support needed to be complete */
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -69,6 +69,10 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -48,6 +48,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&dma {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -245,26 +245,6 @@
|
|||||||
rx-num-evt = <32>;
|
rx-num-evt = <32>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&mailbox5 {
|
|
||||||
status = "okay";
|
|
||||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&mailbox6 {
|
|
||||||
status = "okay";
|
|
||||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&pcie1_rc {
|
&pcie1_rc {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1207,9 +1207,8 @@
|
|||||||
<SYSC_IDLE_SMART>,
|
<SYSC_IDLE_SMART>,
|
||||||
<SYSC_IDLE_SMART_WKUP>;
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
/* Domains (P, C): l4per_pwrdm, l4per_clkdm */
|
/* Domains (P, C): l4per_pwrdm, l4per_clkdm */
|
||||||
clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 0>,
|
clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 0>;
|
||||||
<&timer_sys_clk_div>;
|
clock-names = "fck";
|
||||||
clock-names = "fck", "timer_sys_ck";
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0x0 0x36000 0x1000>;
|
ranges = <0x0 0x36000 0x1000>;
|
||||||
@@ -3352,8 +3351,8 @@
|
|||||||
<SYSC_IDLE_SMART>,
|
<SYSC_IDLE_SMART>,
|
||||||
<SYSC_IDLE_SMART_WKUP>;
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
/* Domains (P, C): ipu_pwrdm, ipu_clkdm */
|
/* Domains (P, C): ipu_pwrdm, ipu_clkdm */
|
||||||
clocks = <&ipu_clkctrl DRA7_IPU_TIMER5_CLKCTRL 0>, <&timer_sys_clk_div>;
|
clocks = <&ipu_clkctrl DRA7_IPU_TIMER5_CLKCTRL 0>;
|
||||||
clock-names = "fck", "timer_sys_ck";
|
clock-names = "fck";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0x0 0x20000 0x1000>;
|
ranges = <0x0 0x20000 0x1000>;
|
||||||
@@ -3361,8 +3360,8 @@
|
|||||||
timer5: timer@0 {
|
timer5: timer@0 {
|
||||||
compatible = "ti,omap5430-timer";
|
compatible = "ti,omap5430-timer";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x80>;
|
||||||
clocks = <&ipu_clkctrl DRA7_IPU_TIMER5_CLKCTRL 24>;
|
clocks = <&ipu_clkctrl DRA7_IPU_TIMER5_CLKCTRL 24>, <&timer_sys_clk_div>;
|
||||||
clock-names = "fck";
|
clock-names = "fck", "timer_sys_ck";
|
||||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -3379,9 +3378,8 @@
|
|||||||
<SYSC_IDLE_SMART>,
|
<SYSC_IDLE_SMART>,
|
||||||
<SYSC_IDLE_SMART_WKUP>;
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
/* Domains (P, C): ipu_pwrdm, ipu_clkdm */
|
/* Domains (P, C): ipu_pwrdm, ipu_clkdm */
|
||||||
clocks = <&ipu_clkctrl DRA7_IPU_TIMER6_CLKCTRL 0>,
|
clocks = <&ipu_clkctrl DRA7_IPU_TIMER6_CLKCTRL 0>;
|
||||||
<&timer_sys_clk_div>;
|
clock-names = "fck";
|
||||||
clock-names = "fck", "timer_sys_ck";
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0x0 0x22000 0x1000>;
|
ranges = <0x0 0x22000 0x1000>;
|
||||||
@@ -3389,8 +3387,8 @@
|
|||||||
timer6: timer@0 {
|
timer6: timer@0 {
|
||||||
compatible = "ti,omap5430-timer";
|
compatible = "ti,omap5430-timer";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x80>;
|
||||||
clocks = <&ipu_clkctrl DRA7_IPU_TIMER6_CLKCTRL 24>;
|
clocks = <&ipu_clkctrl DRA7_IPU_TIMER6_CLKCTRL 24>, <&timer_sys_clk_div>;
|
||||||
clock-names = "fck";
|
clock-names = "fck", "timer_sys_ck";
|
||||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -3498,8 +3496,8 @@
|
|||||||
timer14: timer@0 {
|
timer14: timer@0 {
|
||||||
compatible = "ti,omap5430-timer";
|
compatible = "ti,omap5430-timer";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x80>;
|
||||||
clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER14_CLKCTRL 24>;
|
clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER14_CLKCTRL 24>, <&timer_sys_clk_div>;
|
||||||
clock-names = "fck";
|
clock-names = "fck", "timer_sys_ck";
|
||||||
interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,timer-pwm;
|
ti,timer-pwm;
|
||||||
};
|
};
|
||||||
@@ -3526,8 +3524,8 @@
|
|||||||
timer15: timer@0 {
|
timer15: timer@0 {
|
||||||
compatible = "ti,omap5430-timer";
|
compatible = "ti,omap5430-timer";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x80>;
|
||||||
clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>;
|
clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>, <&timer_sys_clk_div>;
|
||||||
clock-names = "fck";
|
clock-names = "fck", "timer_sys_ck";
|
||||||
interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,timer-pwm;
|
ti,timer-pwm;
|
||||||
};
|
};
|
||||||
@@ -3554,8 +3552,8 @@
|
|||||||
timer16: timer@0 {
|
timer16: timer@0 {
|
||||||
compatible = "ti,omap5430-timer";
|
compatible = "ti,omap5430-timer";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x80>;
|
||||||
clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>;
|
clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>, <&timer_sys_clk_div>;
|
||||||
clock-names = "fck";
|
clock-names = "fck", "timer_sys_ck";
|
||||||
interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
ti,timer-pwm;
|
ti,timer-pwm;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -232,13 +232,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&wdog1 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pinctrl_wdog>;
|
|
||||||
fsl,ext-reset-output;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&iomuxc {
|
&iomuxc {
|
||||||
pinctrl-0 = <&pinctrl_reset_out &pinctrl_gpio>;
|
pinctrl-0 = <&pinctrl_reset_out &pinctrl_gpio>;
|
||||||
|
|
||||||
@@ -409,10 +402,4 @@
|
|||||||
MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170f9
|
MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170f9
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pinctrl_wdog: wdoggrp {
|
|
||||||
fsl,pins = <
|
|
||||||
MX6UL_PAD_GPIO1_IO09__WDOG1_WDOG_ANY 0x30b0
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -57,6 +57,13 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&wdog1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_wdog>;
|
||||||
|
fsl,ext-reset-output;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&iomuxc {
|
&iomuxc {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_reset_out>;
|
pinctrl-0 = <&pinctrl_reset_out>;
|
||||||
@@ -106,4 +113,10 @@
|
|||||||
MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x1b0b0
|
MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x1b0b0
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pinctrl_wdog: wdoggrp {
|
||||||
|
fsl,pins = <
|
||||||
|
MX6UL_PAD_GPIO1_IO09__WDOG1_WDOG_ANY 0x18b0
|
||||||
|
>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,8 +13,10 @@
|
|||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
spi-max-frequency = <3000000>;
|
spi-max-frequency = <9600000>;
|
||||||
spi-cs-high;
|
spi-cs-high;
|
||||||
|
spi-cpol;
|
||||||
|
spi-cpha;
|
||||||
|
|
||||||
cpcap_adc: adc {
|
cpcap_adc: adc {
|
||||||
compatible = "motorola,mapphone-cpcap-adc";
|
compatible = "motorola,mapphone-cpcap-adc";
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
ethernet@gpmc {
|
ethernet@gpmc {
|
||||||
reg = <5 0 0xff>;
|
reg = <5 0 0xff>;
|
||||||
interrupt-parent = <&gpio2>;
|
interrupt-parent = <&gpio2>;
|
||||||
interrupts = <12 IRQ_TYPE_EDGE_FALLING>; /* gpio_44 */
|
interrupts = <12 IRQ_TYPE_LEVEL_LOW>; /* gpio_44 */
|
||||||
|
|
||||||
phy-mode = "mii";
|
phy-mode = "mii";
|
||||||
|
|
||||||
|
|||||||
@@ -662,6 +662,6 @@
|
|||||||
ti,no-idle;
|
ti,no-idle;
|
||||||
timer@0 {
|
timer@0 {
|
||||||
assigned-clocks = <&l4_wkup_clkctrl OMAP4_TIMER1_CLKCTRL 24>;
|
assigned-clocks = <&l4_wkup_clkctrl OMAP4_TIMER1_CLKCTRL 24>;
|
||||||
assigned-clock-parents = <&sys_clkin_ck>;
|
assigned-clock-parents = <&sys_32k_ck>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -100,79 +100,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mcc {
|
|
||||||
compatible = "arm,vexpress,config-bus";
|
|
||||||
arm,vexpress,config-bridge = <&v2m_sysreg>;
|
|
||||||
|
|
||||||
oscclk0 {
|
|
||||||
/* MCC static memory clock */
|
|
||||||
compatible = "arm,vexpress-osc";
|
|
||||||
arm,vexpress-sysreg,func = <1 0>;
|
|
||||||
freq-range = <25000000 60000000>;
|
|
||||||
#clock-cells = <0>;
|
|
||||||
clock-output-names = "v2m:oscclk0";
|
|
||||||
};
|
|
||||||
|
|
||||||
v2m_oscclk1: oscclk1 {
|
|
||||||
/* CLCD clock */
|
|
||||||
compatible = "arm,vexpress-osc";
|
|
||||||
arm,vexpress-sysreg,func = <1 1>;
|
|
||||||
freq-range = <23750000 65000000>;
|
|
||||||
#clock-cells = <0>;
|
|
||||||
clock-output-names = "v2m:oscclk1";
|
|
||||||
};
|
|
||||||
|
|
||||||
v2m_oscclk2: oscclk2 {
|
|
||||||
/* IO FPGA peripheral clock */
|
|
||||||
compatible = "arm,vexpress-osc";
|
|
||||||
arm,vexpress-sysreg,func = <1 2>;
|
|
||||||
freq-range = <24000000 24000000>;
|
|
||||||
#clock-cells = <0>;
|
|
||||||
clock-output-names = "v2m:oscclk2";
|
|
||||||
};
|
|
||||||
|
|
||||||
volt-vio {
|
|
||||||
/* Logic level voltage */
|
|
||||||
compatible = "arm,vexpress-volt";
|
|
||||||
arm,vexpress-sysreg,func = <2 0>;
|
|
||||||
regulator-name = "VIO";
|
|
||||||
regulator-always-on;
|
|
||||||
label = "VIO";
|
|
||||||
};
|
|
||||||
|
|
||||||
temp-mcc {
|
|
||||||
/* MCC internal operating temperature */
|
|
||||||
compatible = "arm,vexpress-temp";
|
|
||||||
arm,vexpress-sysreg,func = <4 0>;
|
|
||||||
label = "MCC";
|
|
||||||
};
|
|
||||||
|
|
||||||
reset {
|
|
||||||
compatible = "arm,vexpress-reset";
|
|
||||||
arm,vexpress-sysreg,func = <5 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
muxfpga {
|
|
||||||
compatible = "arm,vexpress-muxfpga";
|
|
||||||
arm,vexpress-sysreg,func = <7 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
shutdown {
|
|
||||||
compatible = "arm,vexpress-shutdown";
|
|
||||||
arm,vexpress-sysreg,func = <8 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
reboot {
|
|
||||||
compatible = "arm,vexpress-reboot";
|
|
||||||
arm,vexpress-sysreg,func = <9 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dvimode {
|
|
||||||
compatible = "arm,vexpress-dvimode";
|
|
||||||
arm,vexpress-sysreg,func = <11 0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
bus@8000000 {
|
bus@8000000 {
|
||||||
motherboard-bus {
|
motherboard-bus {
|
||||||
model = "V2M-P1";
|
model = "V2M-P1";
|
||||||
@@ -435,6 +362,79 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mcc {
|
||||||
|
compatible = "arm,vexpress,config-bus";
|
||||||
|
arm,vexpress,config-bridge = <&v2m_sysreg>;
|
||||||
|
|
||||||
|
oscclk0 {
|
||||||
|
/* MCC static memory clock */
|
||||||
|
compatible = "arm,vexpress-osc";
|
||||||
|
arm,vexpress-sysreg,func = <1 0>;
|
||||||
|
freq-range = <25000000 60000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-output-names = "v2m:oscclk0";
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m_oscclk1: oscclk1 {
|
||||||
|
/* CLCD clock */
|
||||||
|
compatible = "arm,vexpress-osc";
|
||||||
|
arm,vexpress-sysreg,func = <1 1>;
|
||||||
|
freq-range = <23750000 65000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-output-names = "v2m:oscclk1";
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m_oscclk2: oscclk2 {
|
||||||
|
/* IO FPGA peripheral clock */
|
||||||
|
compatible = "arm,vexpress-osc";
|
||||||
|
arm,vexpress-sysreg,func = <1 2>;
|
||||||
|
freq-range = <24000000 24000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-output-names = "v2m:oscclk2";
|
||||||
|
};
|
||||||
|
|
||||||
|
volt-vio {
|
||||||
|
/* Logic level voltage */
|
||||||
|
compatible = "arm,vexpress-volt";
|
||||||
|
arm,vexpress-sysreg,func = <2 0>;
|
||||||
|
regulator-name = "VIO";
|
||||||
|
regulator-always-on;
|
||||||
|
label = "VIO";
|
||||||
|
};
|
||||||
|
|
||||||
|
temp-mcc {
|
||||||
|
/* MCC internal operating temperature */
|
||||||
|
compatible = "arm,vexpress-temp";
|
||||||
|
arm,vexpress-sysreg,func = <4 0>;
|
||||||
|
label = "MCC";
|
||||||
|
};
|
||||||
|
|
||||||
|
reset {
|
||||||
|
compatible = "arm,vexpress-reset";
|
||||||
|
arm,vexpress-sysreg,func = <5 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
muxfpga {
|
||||||
|
compatible = "arm,vexpress-muxfpga";
|
||||||
|
arm,vexpress-sysreg,func = <7 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
shutdown {
|
||||||
|
compatible = "arm,vexpress-shutdown";
|
||||||
|
arm,vexpress-sysreg,func = <8 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reboot {
|
||||||
|
compatible = "arm,vexpress-reboot";
|
||||||
|
arm,vexpress-sysreg,func = <9 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
dvimode {
|
||||||
|
compatible = "arm,vexpress-dvimode";
|
||||||
|
arm,vexpress-sysreg,func = <11 0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -87,4 +87,11 @@ static inline unsigned long efi_get_max_initrd_addr(unsigned long dram_base,
|
|||||||
return dram_base + SZ_512M;
|
return dram_base + SZ_512M;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct efi_arm_entry_state {
|
||||||
|
u32 cpsr_before_ebs;
|
||||||
|
u32 sctlr_before_ebs;
|
||||||
|
u32 cpsr_after_ebs;
|
||||||
|
u32 sctlr_after_ebs;
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _ASM_ARM_EFI_H */
|
#endif /* _ASM_ARM_EFI_H */
|
||||||
|
|||||||
@@ -84,7 +84,8 @@ static int ftrace_modify_code(unsigned long pc, unsigned long old,
|
|||||||
old = __opcode_to_mem_arm(old);
|
old = __opcode_to_mem_arm(old);
|
||||||
|
|
||||||
if (validate) {
|
if (validate) {
|
||||||
if (probe_kernel_read(&replaced, (void *)pc, MCOUNT_INSN_SIZE))
|
if (copy_from_kernel_nofault(&replaced, (void *)pc,
|
||||||
|
MCOUNT_INSN_SIZE))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
if (replaced != old)
|
if (replaced != old)
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ int kgdb_arch_set_breakpoint(struct kgdb_bkpt *bpt)
|
|||||||
/* patch_text() only supports int-sized breakpoints */
|
/* patch_text() only supports int-sized breakpoints */
|
||||||
BUILD_BUG_ON(sizeof(int) != BREAK_INSTR_SIZE);
|
BUILD_BUG_ON(sizeof(int) != BREAK_INSTR_SIZE);
|
||||||
|
|
||||||
err = probe_kernel_read(bpt->saved_instr, (char *)bpt->bpt_addr,
|
err = copy_from_kernel_nofault(bpt->saved_instr, (char *)bpt->bpt_addr,
|
||||||
BREAK_INSTR_SIZE);
|
BREAK_INSTR_SIZE);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ int is_valid_bugaddr(unsigned long pc)
|
|||||||
u32 insn = __opcode_to_mem_arm(BUG_INSTR_VALUE);
|
u32 insn = __opcode_to_mem_arm(BUG_INSTR_VALUE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (probe_kernel_address((unsigned *)pc, bkpt))
|
if (get_kernel_nofault(bkpt, (void *)pc))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return bkpt == insn;
|
return bkpt == insn;
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ config ARCH_BCM_NSP
|
|||||||
select ARM_ERRATA_754322
|
select ARM_ERRATA_754322
|
||||||
select ARM_ERRATA_775420
|
select ARM_ERRATA_775420
|
||||||
select ARM_ERRATA_764369 if SMP
|
select ARM_ERRATA_764369 if SMP
|
||||||
|
select ARM_TIMER_SP804
|
||||||
select THERMAL
|
select THERMAL
|
||||||
select THERMAL_OF
|
select THERMAL_OF
|
||||||
help
|
help
|
||||||
|
|||||||
@@ -295,14 +295,14 @@ static int __init imx_suspend_alloc_ocram(
|
|||||||
if (!ocram_pool) {
|
if (!ocram_pool) {
|
||||||
pr_warn("%s: ocram pool unavailable!\n", __func__);
|
pr_warn("%s: ocram pool unavailable!\n", __func__);
|
||||||
ret = -ENODEV;
|
ret = -ENODEV;
|
||||||
goto put_node;
|
goto put_device;
|
||||||
}
|
}
|
||||||
|
|
||||||
ocram_base = gen_pool_alloc(ocram_pool, size);
|
ocram_base = gen_pool_alloc(ocram_pool, size);
|
||||||
if (!ocram_base) {
|
if (!ocram_base) {
|
||||||
pr_warn("%s: unable to alloc ocram!\n", __func__);
|
pr_warn("%s: unable to alloc ocram!\n", __func__);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto put_node;
|
goto put_device;
|
||||||
}
|
}
|
||||||
|
|
||||||
phys = gen_pool_virt_to_phys(ocram_pool, ocram_base);
|
phys = gen_pool_virt_to_phys(ocram_pool, ocram_base);
|
||||||
@@ -312,6 +312,8 @@ static int __init imx_suspend_alloc_ocram(
|
|||||||
if (virt_out)
|
if (virt_out)
|
||||||
*virt_out = virt;
|
*virt_out = virt;
|
||||||
|
|
||||||
|
put_device:
|
||||||
|
put_device(&pdev->dev);
|
||||||
put_node:
|
put_node:
|
||||||
of_node_put(node);
|
of_node_put(node);
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user