Merge branch 'for-4.19/cougar' into for-linus
New device support for hid-cougar
This commit is contained in:
commit
415d2b3392
|
@ -11,7 +11,7 @@ Description:
|
|||
Kernel code may export it for complete or partial access.
|
||||
|
||||
GPIOs are identified as they are inside the kernel, using integers in
|
||||
the range 0..INT_MAX. See Documentation/gpio/gpio.txt for more information.
|
||||
the range 0..INT_MAX. See Documentation/gpio for more information.
|
||||
|
||||
/sys/class/gpio
|
||||
/export ... asks the kernel to export a GPIO to userspace
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
What: /sys/bus/nd/devices/regionX/nfit/ecc_unit_size
|
||||
Date: Aug, 2017
|
||||
KernelVersion: v4.14 (Removed v4.18)
|
||||
Contact: linux-nvdimm@lists.01.org
|
||||
Description:
|
||||
(RO) Size of a write request to a DIMM that will not incur a
|
||||
read-modify-write cycle at the memory controller.
|
||||
|
||||
When the nfit driver initializes it runs an ARS (Address Range
|
||||
Scrub) operation across every pmem range. Part of that process
|
||||
involves determining the ARS capabilities of a given address
|
||||
range. One of the capabilities that is reported is the 'Clear
|
||||
Uncorrectable Error Range Length Unit Size' (see: ACPI 6.2
|
||||
section 9.20.7.4 Function Index 1 - Query ARS Capabilities).
|
||||
This property indicates the boundary at which the NVDIMM may
|
||||
need to perform read-modify-write cycles to maintain ECC (Error
|
||||
Correcting Code) blocks.
|
|
@ -190,6 +190,13 @@ Description:
|
|||
but should match other such assignments on device).
|
||||
Units after application of scale and offset are m/s^2.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_angl_raw
|
||||
KernelVersion: 4.17
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Angle of rotation. Units after application of scale and offset
|
||||
are radians.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
|
||||
|
@ -297,6 +304,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_pressure_offset
|
|||
What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_magn_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_rot_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_angl_offset
|
||||
KernelVersion: 2.6.35
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
|
@ -350,6 +358,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
|
|||
What: /sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_illuminance_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_countY_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_angl_scale
|
||||
KernelVersion: 2.6.35
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
|
|
|
@ -212,22 +212,3 @@ Description:
|
|||
range. Used by NVDIMM Region Mapping Structure to uniquely refer
|
||||
to this structure. Value of 0 is reserved and not used as an
|
||||
index.
|
||||
|
||||
|
||||
What: /sys/bus/nd/devices/regionX/nfit/ecc_unit_size
|
||||
Date: Aug, 2017
|
||||
KernelVersion: v4.14
|
||||
Contact: linux-nvdimm@lists.01.org
|
||||
Description:
|
||||
(RO) Size of a write request to a DIMM that will not incur a
|
||||
read-modify-write cycle at the memory controller.
|
||||
|
||||
When the nfit driver initializes it runs an ARS (Address Range
|
||||
Scrub) operation across every pmem range. Part of that process
|
||||
involves determining the ARS capabilities of a given address
|
||||
range. One of the capabilities that is reported is the 'Clear
|
||||
Uncorrectable Error Range Length Unit Size' (see: ACPI 6.2
|
||||
section 9.20.7.4 Function Index 1 - Query ARS Capabilities).
|
||||
This property indicates the boundary at which the NVDIMM may
|
||||
need to perform read-modify-write cycles to maintain ECC (Error
|
||||
Correcting Code) blocks.
|
||||
|
|
|
@ -73,3 +73,23 @@ Description:
|
|||
This sysfs entry tells us whether the channel is a local
|
||||
server channel that is announced (values are either
|
||||
true or false).
|
||||
|
||||
What: /sys/bus/rpmsg/devices/.../driver_override
|
||||
Date: April 2018
|
||||
KernelVersion: 4.18
|
||||
Contact: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
Description:
|
||||
Every rpmsg device is a communication channel with a remote
|
||||
processor. Channels are identified by a textual name (see
|
||||
/sys/bus/rpmsg/devices/.../name above) and have a local
|
||||
("source") rpmsg address, and remote ("destination") rpmsg
|
||||
address.
|
||||
|
||||
The listening entity (or client) which communicates with a
|
||||
remote processor is referred as rpmsg driver. The rpmsg device
|
||||
and rpmsg driver are matched based on rpmsg device name and
|
||||
rpmsg driver ID table.
|
||||
|
||||
This sysfs entry allows the rpmsg driver for a rpmsg device
|
||||
to be specified which will override standard OF, ID table
|
||||
and name matching.
|
||||
|
|
|
@ -232,3 +232,11 @@ Description:
|
|||
of the parent (another partition or a flash device) in bytes.
|
||||
This attribute is absent on flash devices, so it can be used
|
||||
to distinguish them from partitions.
|
||||
|
||||
What: /sys/class/mtd/mtdX/oobavail
|
||||
Date: April 2018
|
||||
KernelVersion: 4.16
|
||||
Contact: linux-mtd@lists.infradead.org
|
||||
Description:
|
||||
Number of bytes available for a client to place data into
|
||||
the out of band area.
|
||||
|
|
|
@ -238,9 +238,6 @@ Description: Discover and change clock speed of CPUs
|
|||
|
||||
See files in Documentation/cpu-freq/ for more information.
|
||||
|
||||
In particular, read Documentation/cpu-freq/user-guide.txt
|
||||
to learn how to control the knobs.
|
||||
|
||||
|
||||
What: /sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus
|
||||
Date: June 2013
|
||||
|
|
|
@ -101,6 +101,7 @@ Date: February 2015
|
|||
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
||||
Description:
|
||||
Controls the trimming rate in batch mode.
|
||||
<deprecated>
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/cp_interval
|
||||
Date: October 2015
|
||||
|
@ -140,7 +141,7 @@ Contact: "Shuoran Liu" <liushuoran@huawei.com>
|
|||
Description:
|
||||
Shows total written kbytes issued to disk.
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/feature
|
||||
What: /sys/fs/f2fs/<disk>/features
|
||||
Date: July 2017
|
||||
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
||||
Description:
|
||||
|
|
|
@ -25,3 +25,16 @@ Description:
|
|||
Control touchpad mode.
|
||||
* 1 -> Switched On
|
||||
* 0 -> Switched Off
|
||||
|
||||
What: /sys/bus/pci/devices/<bdf>/<device>/VPC2004:00/fn_lock
|
||||
Date: May 2018
|
||||
KernelVersion: 4.18
|
||||
Contact: "Oleg Keri <ezhi99@gmail.com>"
|
||||
Description:
|
||||
Control fn-lock mode.
|
||||
* 1 -> Switched On
|
||||
* 0 -> Switched Off
|
||||
|
||||
For example:
|
||||
# echo "0" > \
|
||||
/sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock
|
||||
|
|
|
@ -16,7 +16,8 @@ control method rather than override the entire DSDT, because kernel
|
|||
rebuild/reboot is not needed and test result can be got in minutes.
|
||||
|
||||
Note: Only ACPI METHOD can be overridden, any other object types like
|
||||
"Device", "OperationRegion", are not recognized.
|
||||
"Device", "OperationRegion", are not recognized. Methods
|
||||
declared inside scope operators are also not supported.
|
||||
Note: The same ACPI control method can be overridden for many times,
|
||||
and it's always the latest one that used by Linux/kernel.
|
||||
Note: To get the ACPI debug object output (Store (AAAA, Debug)),
|
||||
|
@ -32,8 +33,6 @@ Note: To get the ACPI debug object output (Store (AAAA, Debug)),
|
|||
|
||||
DefinitionBlock ("", "SSDT", 1, "", "", 0x20080715)
|
||||
{
|
||||
External (ACON)
|
||||
|
||||
Method (\_SB_.AC._PSR, 0, NotSerialized)
|
||||
{
|
||||
Store ("In AC _PSR", Debug)
|
||||
|
@ -42,9 +41,10 @@ Note: To get the ACPI debug object output (Store (AAAA, Debug)),
|
|||
}
|
||||
Note that the full pathname of the method in ACPI namespace
|
||||
should be used.
|
||||
And remember to use "External" to declare external objects.
|
||||
e) assemble the file to generate the AML code of the method.
|
||||
e.g. "iasl psr.asl" (psr.aml is generated as a result)
|
||||
e.g. "iasl -vw 6084 psr.asl" (psr.aml is generated as a result)
|
||||
If parameter "-vw 6084" is not supported by your iASL compiler,
|
||||
please try a newer version.
|
||||
f) mount debugfs by "mount -t debugfs none /sys/kernel/debug"
|
||||
g) override the old method via the debugfs by running
|
||||
"cat /tmp/psr.aml > /sys/kernel/debug/acpi/custom_method"
|
||||
|
|
|
@ -44,8 +44,8 @@ Links
|
|||
|
||||
Mailing List - apparmor@lists.ubuntu.com
|
||||
|
||||
Wiki - http://apparmor.wiki.kernel.org/
|
||||
Wiki - http://wiki.apparmor.net
|
||||
|
||||
User space tools - https://launchpad.net/apparmor
|
||||
User space tools - https://gitlab.com/apparmor
|
||||
|
||||
Kernel module - git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git
|
||||
Kernel module - git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
|
||||
|
|
|
@ -256,7 +256,7 @@
|
|||
(may crash computer or cause data corruption)
|
||||
|
||||
ALSA [HW,ALSA]
|
||||
See Documentation/sound/alsa/alsa-parameters.txt
|
||||
See Documentation/sound/alsa-configuration.rst
|
||||
|
||||
alignment= [KNL,ARM]
|
||||
Allow the default userspace alignment fault handler
|
||||
|
@ -2926,9 +2926,6 @@
|
|||
This will also cause panics on machine check exceptions.
|
||||
Useful together with panic=30 to trigger a reboot.
|
||||
|
||||
OSS [HW,OSS]
|
||||
See Documentation/sound/oss/oss-parameters.txt
|
||||
|
||||
page_owner= [KNL] Boot-time page_owner enabling option.
|
||||
Storage of the information about who allocated
|
||||
each page is disabled in default. With this switch,
|
||||
|
@ -4106,6 +4103,23 @@
|
|||
expediting. Set to zero to disable automatic
|
||||
expediting.
|
||||
|
||||
ssbd= [ARM64,HW]
|
||||
Speculative Store Bypass Disable control
|
||||
|
||||
On CPUs that are vulnerable to the Speculative
|
||||
Store Bypass vulnerability and offer a
|
||||
firmware based mitigation, this parameter
|
||||
indicates how the mitigation should be used:
|
||||
|
||||
force-on: Unconditionally enable mitigation for
|
||||
for both kernel and userspace
|
||||
force-off: Unconditionally disable mitigation for
|
||||
for both kernel and userspace
|
||||
kernel: Always enable mitigation in the
|
||||
kernel, and offer a prctl interface
|
||||
to allow userspace to register its
|
||||
interest in being mitigated too.
|
||||
|
||||
stack_guard_gap= [MM]
|
||||
override the default stack gap protection. The value
|
||||
is in page units and it defines how many pages prior
|
||||
|
@ -4318,7 +4332,7 @@
|
|||
[FTRACE] Set and start specified trace events in order
|
||||
to facilitate early boot debugging. The event-list is a
|
||||
comma separated list of trace events to enable. See
|
||||
also Documentation/trace/events.txt
|
||||
also Documentation/trace/events.rst
|
||||
|
||||
trace_options=[option-list]
|
||||
[FTRACE] Enable or disable tracer options at boot.
|
||||
|
@ -4333,7 +4347,7 @@
|
|||
|
||||
trace_options=stacktrace
|
||||
|
||||
See also Documentation/trace/ftrace.txt "trace options"
|
||||
See also Documentation/trace/ftrace.rst "trace options"
|
||||
section.
|
||||
|
||||
tp_printk[FTRACE]
|
||||
|
|
|
@ -324,8 +324,7 @@ Global Attributes
|
|||
|
||||
``intel_pstate`` exposes several global attributes (files) in ``sysfs`` to
|
||||
control its functionality at the system level. They are located in the
|
||||
``/sys/devices/system/cpu/cpufreq/intel_pstate/`` directory and affect all
|
||||
CPUs.
|
||||
``/sys/devices/system/cpu/intel_pstate/`` directory and affect all CPUs.
|
||||
|
||||
Some of them are not present if the ``intel_pstate=per_cpu_perf_limits``
|
||||
argument is passed to the kernel in the command line.
|
||||
|
@ -379,6 +378,17 @@ argument is passed to the kernel in the command line.
|
|||
but it affects the maximum possible value of per-policy P-state limits
|
||||
(see `Interpretation of Policy Attributes`_ below for details).
|
||||
|
||||
``hwp_dynamic_boost``
|
||||
This attribute is only present if ``intel_pstate`` works in the
|
||||
`active mode with the HWP feature enabled <Active Mode With HWP_>`_ in
|
||||
the processor. If set (equal to 1), it causes the minimum P-state limit
|
||||
to be increased dynamically for a short time whenever a task previously
|
||||
waiting on I/O is selected to run on a given logical CPU (the purpose
|
||||
of this mechanism is to improve performance).
|
||||
|
||||
This setting has no effect on logical CPUs whose minimum P-state limit
|
||||
is directly set to the highest non-turbo P-state or above it.
|
||||
|
||||
.. _status_attr:
|
||||
|
||||
``status``
|
||||
|
@ -410,7 +420,7 @@ argument is passed to the kernel in the command line.
|
|||
That only is supported in some configurations, though (for example, if
|
||||
the `HWP feature is enabled in the processor <Active Mode With HWP_>`_,
|
||||
the operation mode of the driver cannot be changed), and if it is not
|
||||
supported in the current configuration, writes to this attribute with
|
||||
supported in the current configuration, writes to this attribute will
|
||||
fail with an appropriate error.
|
||||
|
||||
Interpretation of Policy Attributes
|
||||
|
|
|
@ -5,3 +5,7 @@ KERNEL NEW DEPENDENCIES
|
|||
v4.3+ Update is needed for custom .config files to make sure
|
||||
CONFIG_REGULATOR_PBIAS is enabled for MMC1 to work
|
||||
properly.
|
||||
|
||||
v4.18+ Update is needed for custom .config files to make sure
|
||||
CONFIG_MMC_SDHCI_OMAP is enabled for all MMC instances
|
||||
to work in DRA7 and K2G based boards.
|
||||
|
|
|
@ -752,18 +752,6 @@ completion of the request to the block layer. This means ending tag
|
|||
operations before calling end_that_request_last()! For an example of a user
|
||||
of these helpers, see the IDE tagged command queueing support.
|
||||
|
||||
Certain hardware conditions may dictate a need to invalidate the block tag
|
||||
queue. For instance, on IDE any tagged request error needs to clear both
|
||||
the hardware and software block queue and enable the driver to sanely restart
|
||||
all the outstanding requests. There's a third helper to do that:
|
||||
|
||||
blk_queue_invalidate_tags(struct request_queue *q)
|
||||
|
||||
Clear the internal block tag queue and re-add all the pending requests
|
||||
to the request queue. The driver will receive them again on the
|
||||
next request_fn run, just like it did the first time it encountered
|
||||
them.
|
||||
|
||||
3.2.5.2 Tag info
|
||||
|
||||
Some block functions exist to query current tag status or to go from a
|
||||
|
@ -805,8 +793,7 @@ Internally, block manages tags in the blk_queue_tag structure:
|
|||
Most of the above is simple and straight forward, however busy_list may need
|
||||
a bit of explaining. Normally we don't care too much about request ordering,
|
||||
but in the event of any barrier requests in the tag queue we need to ensure
|
||||
that requests are restarted in the order they were queue. This may happen
|
||||
if the driver needs to use blk_queue_invalidate_tags().
|
||||
that requests are restarted in the order they were queue.
|
||||
|
||||
3.3 I/O Submission
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ Resources Management
|
|||
MTRR Handling
|
||||
-------------
|
||||
|
||||
.. kernel-doc:: arch/x86/kernel/cpu/mtrr/main.c
|
||||
.. kernel-doc:: arch/x86/kernel/cpu/mtrr/mtrr.c
|
||||
:export:
|
||||
|
||||
Security Framework
|
||||
|
|
|
@ -8,11 +8,13 @@ The crypto engine API (CE), is a crypto queue manager.
|
|||
|
||||
Requirement
|
||||
-----------
|
||||
You have to put at start of your tfm_ctx the struct crypto_engine_ctx
|
||||
struct your_tfm_ctx {
|
||||
You have to put at start of your tfm_ctx the struct crypto_engine_ctx::
|
||||
|
||||
struct your_tfm_ctx {
|
||||
struct crypto_engine_ctx enginectx;
|
||||
...
|
||||
};
|
||||
};
|
||||
|
||||
Why: Since CE manage only crypto_async_request, it cannot know the underlying
|
||||
request_type and so have access only on the TFM.
|
||||
So using container_of for accessing __ctx is impossible.
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
The writecache target caches writes on persistent memory or on SSD. It
|
||||
doesn't cache reads because reads are supposed to be cached in page cache
|
||||
in normal RAM.
|
||||
|
||||
When the device is constructed, the first sector should be zeroed or the
|
||||
first sector should contain valid superblock from previous invocation.
|
||||
|
||||
Constructor parameters:
|
||||
1. type of the cache device - "p" or "s"
|
||||
p - persistent memory
|
||||
s - SSD
|
||||
2. the underlying device that will be cached
|
||||
3. the cache device
|
||||
4. block size (4096 is recommended; the maximum block size is the page
|
||||
size)
|
||||
5. the number of optional parameters (the parameters with an argument
|
||||
count as two)
|
||||
high_watermark n (default: 50)
|
||||
start writeback when the number of used blocks reach this
|
||||
watermark
|
||||
low_watermark x (default: 45)
|
||||
stop writeback when the number of used blocks drops below
|
||||
this watermark
|
||||
writeback_jobs n (default: unlimited)
|
||||
limit the number of blocks that are in flight during
|
||||
writeback. Setting this value reduces writeback
|
||||
throughput, but it may improve latency of read requests
|
||||
autocommit_blocks n (default: 64 for pmem, 65536 for ssd)
|
||||
when the application writes this amount of blocks without
|
||||
issuing the FLUSH request, the blocks are automatically
|
||||
commited
|
||||
autocommit_time ms (default: 1000)
|
||||
autocommit time in milliseconds. The data is automatically
|
||||
commited if this time passes and no FLUSH request is
|
||||
received
|
||||
fua (by default on)
|
||||
applicable only to persistent memory - use the FUA flag
|
||||
when writing data from persistent memory back to the
|
||||
underlying device
|
||||
nofua
|
||||
applicable only to persistent memory - don't use the FUA
|
||||
flag when writing back data and send the FLUSH request
|
||||
afterwards
|
||||
- some underlying devices perform better with fua, some
|
||||
with nofua. The user should test it
|
||||
|
||||
Status:
|
||||
1. error indicator - 0 if there was no error, otherwise error number
|
||||
2. the number of blocks
|
||||
3. the number of free blocks
|
||||
4. the number of blocks under writeback
|
||||
|
||||
Messages:
|
||||
flush
|
||||
flush the cache device. The message returns successfully
|
||||
if the cache device was flushed without an error
|
||||
flush_on_suspend
|
||||
flush the cache device on next suspend. Use this message
|
||||
when you are going to remove the cache device. The proper
|
||||
sequence for removing the cache device is:
|
||||
1. send the "flush_on_suspend" message
|
||||
2. load an inactive table with a linear target that maps
|
||||
to the underlying device
|
||||
3. suspend the device
|
||||
4. ask for status and verify that there are no errors
|
||||
5. resume the device, so that it will use the linear
|
||||
target
|
||||
6. the cache device is now inactive and it can be deleted
|
|
@ -25,6 +25,10 @@ Boards with the Amlogic Meson8b SoC shall have the following properties:
|
|||
Required root node property:
|
||||
compatible: "amlogic,meson8b";
|
||||
|
||||
Boards with the Amlogic Meson8m2 SoC shall have the following properties:
|
||||
Required root node property:
|
||||
compatible: "amlogic,meson8m2";
|
||||
|
||||
Boards with the Amlogic Meson GXBaby SoC shall have the following properties:
|
||||
Required root node property:
|
||||
compatible: "amlogic,meson-gxbb";
|
||||
|
@ -54,6 +58,8 @@ Board compatible values (alphabetically, grouped by SoC):
|
|||
- "hardkernel,odroid-c1" (Meson8b)
|
||||
- "tronfy,mxq" (Meson8b)
|
||||
|
||||
- "tronsmart,mxiii-plus" (Meson8m2)
|
||||
|
||||
- "amlogic,p200" (Meson gxbb)
|
||||
- "amlogic,p201" (Meson gxbb)
|
||||
- "friendlyarm,nanopi-k2" (Meson gxbb)
|
||||
|
|
|
@ -34,6 +34,10 @@ Raspberry Pi 3 Model B
|
|||
Required root node properties:
|
||||
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
|
||||
|
||||
Raspberry Pi 3 Model B+
|
||||
Required root node properties:
|
||||
compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
|
||||
|
||||
Raspberry Pi Compute Module
|
||||
Required root node properties:
|
||||
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
MediaTek g3dsys controller
|
||||
============================
|
||||
|
||||
The MediaTek g3dsys controller provides various clocks and reset controller to
|
||||
the GPU.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: Should be:
|
||||
- "mediatek,mt2701-g3dsys", "syscon":
|
||||
for MT2701 SoC
|
||||
- "mediatek,mt7623-g3dsys", "mediatek,mt2701-g3dsys", "syscon":
|
||||
for MT7623 SoC
|
||||
- #clock-cells: Must be 1
|
||||
- #reset-cells: Must be 1
|
||||
|
||||
The g3dsys controller uses the common clk binding from
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
The available clocks are defined in dt-bindings/clock/mt*-clk.h.
|
||||
|
||||
Example:
|
||||
|
||||
g3dsys: clock-controller@13000000 {
|
||||
compatible = "mediatek,mt7623-g3dsys",
|
||||
"mediatek,mt2701-g3dsys",
|
||||
"syscon";
|
||||
reg = <0 0x13000000 0 0x200>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
|
@ -21,8 +21,6 @@ Required root node properties:
|
|||
- "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
|
||||
- "samsung,tm2" - for Exynos5433-based Samsung TM2 board.
|
||||
- "samsung,tm2e" - for Exynos5433-based Samsung TM2E board.
|
||||
- "samsung,sd5v1" - for Exynos5440-based Samsung board.
|
||||
- "samsung,ssdk5440" - for Exynos5440-based Samsung board.
|
||||
|
||||
* Other companies Exynos SoC based
|
||||
* FriendlyARM
|
||||
|
|
|
@ -21,6 +21,8 @@ SoCs:
|
|||
compatible = "renesas,r8a7744"
|
||||
- RZ/G1E (R8A77450)
|
||||
compatible = "renesas,r8a7745"
|
||||
- RZ/G1C (R8A77470)
|
||||
compatible = "renesas,r8a77470"
|
||||
- R-Car M1A (R8A77781)
|
||||
compatible = "renesas,r8a7778"
|
||||
- R-Car H1 (R8A77790)
|
||||
|
@ -45,6 +47,8 @@ SoCs:
|
|||
compatible = "renesas,r8a77970"
|
||||
- R-Car V3H (R8A77980)
|
||||
compatible = "renesas,r8a77980"
|
||||
- R-Car E3 (R8A77990)
|
||||
compatible = "renesas,r8a77990"
|
||||
- R-Car D3 (R8A77995)
|
||||
compatible = "renesas,r8a77995"
|
||||
|
||||
|
@ -67,6 +71,8 @@ Boards:
|
|||
compatible = "renesas,draak", "renesas,r8a77995"
|
||||
- Eagle (RTP0RC77970SEB0010S)
|
||||
compatible = "renesas,eagle", "renesas,r8a77970"
|
||||
- Ebisu (RTP0RC77990SEB0010S)
|
||||
compatible = "renesas,ebisu", "renesas,r8a77990"
|
||||
- Genmai (RTK772100BC00000BR)
|
||||
compatible = "renesas,genmai", "renesas,r7s72100"
|
||||
- GR-Peach (X28A-M01-E/F)
|
||||
|
@ -78,6 +84,8 @@ Boards:
|
|||
compatible = "renesas,h3ulcb", "renesas,r8a7795"
|
||||
- Henninger
|
||||
compatible = "renesas,henninger", "renesas,r8a7791"
|
||||
- iWave Systems RZ/G1C Single Board Computer (iW-RainboW-G23S)
|
||||
compatible = "iwave,g23s", "renesas,r8a77470"
|
||||
- iWave Systems RZ/G1E SODIMM SOM Development Platform (iW-RainboW-G22D)
|
||||
compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745"
|
||||
- iWave Systems RZ/G1E SODIMM System On Module (iW-RainboW-G22M-SM)
|
||||
|
@ -108,7 +116,7 @@ Boards:
|
|||
compatible = "renesas,salvator-x", "renesas,r8a7795"
|
||||
- Salvator-X (RTP0RC7796SIPB0011S)
|
||||
compatible = "renesas,salvator-x", "renesas,r8a7796"
|
||||
- Salvator-X (RTP0RC7796SIPB0011S (M3N))
|
||||
- Salvator-X (RTP0RC7796SIPB0011S (M3-N))
|
||||
compatible = "renesas,salvator-x", "renesas,r8a77965"
|
||||
- Salvator-XS (Salvator-X 2nd version, RTP0RC7795SIPB0012S)
|
||||
compatible = "renesas,salvator-xs", "renesas,r8a7795"
|
||||
|
@ -124,6 +132,8 @@ Boards:
|
|||
compatible = "renesas,sk-rzg1m", "renesas,r8a7743"
|
||||
- Stout (ADAS Starterkit, Y-R-CAR-ADAS-SKH2-BOARD)
|
||||
compatible = "renesas,stout", "renesas,r8a7790"
|
||||
- V3HSK (Y-ASK-RCAR-V3H-WS10)
|
||||
compatible = "renesas,v3hsk", "renesas,r8a77980"
|
||||
- V3MSK (Y-ASK-RCAR-V3M-WS10)
|
||||
compatible = "renesas,v3msk", "renesas,r8a77970"
|
||||
- Wheat (RTP0RC7792ASKB0000JE)
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
NVIDIA Tegra30 MC(Memory Controller)
|
||||
|
||||
Required properties:
|
||||
- compatible : "nvidia,tegra30-mc"
|
||||
- reg : Should contain 4 register ranges(address and length); see the
|
||||
example below. Note that the MC registers are interleaved with the
|
||||
SMMU registers, and hence must be represented as multiple ranges.
|
||||
- interrupts : Should contain MC General interrupt.
|
||||
|
||||
Example:
|
||||
memory-controller {
|
||||
compatible = "nvidia,tegra30-mc";
|
||||
reg = <0x7000f000 0x010
|
||||
0x7000f03c 0x1b4
|
||||
0x7000f200 0x028
|
||||
0x7000f284 0x17c>;
|
||||
interrupts = <0 77 0x04>;
|
||||
};
|
|
@ -79,7 +79,11 @@ Optional properties:
|
|||
mode as for example omap4 L4_CFG_CLKCTRL
|
||||
|
||||
- clock-names should contain at least "fck", and optionally also "ick"
|
||||
depending on the SoC and the interconnect target module
|
||||
depending on the SoC and the interconnect target module,
|
||||
some interconnect target modules also need additional
|
||||
optional clocks that can be specified as listed in TRM
|
||||
for the related CLKCTRL register bits 8 to 15 such as
|
||||
"dbclk" or "clk32k" depending on their role
|
||||
|
||||
- ti,hwmods optional TI interconnect module name to use legacy
|
||||
hwmod platform data
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
* Actions S900 Clock Management Unit (CMU)
|
||||
|
||||
The Actions S900 clock management unit generates and supplies clock to various
|
||||
controllers within the SoC. The clock binding described here is applicable to
|
||||
S900 SoC.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: should be "actions,s900-cmu"
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
- clocks: Reference to the parent clocks ("hosc", "losc")
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
Each clock is assigned an identifier, and client nodes can use this identifier
|
||||
to specify the clock which they consume.
|
||||
|
||||
All available clocks are defined as preprocessor macros in
|
||||
dt-bindings/clock/actions,s900-cmu.h header and can be used in device
|
||||
tree sources.
|
||||
|
||||
External clocks:
|
||||
|
||||
The hosc clock used as input for the plls is generated outside the SoC. It is
|
||||
expected that it is defined using standard clock bindings as "hosc".
|
||||
|
||||
Actions S900 CMU also requires one more clock:
|
||||
- "losc" - internal low frequency oscillator
|
||||
|
||||
Example: Clock Management Unit node:
|
||||
|
||||
cmu: clock-controller@e0160000 {
|
||||
compatible = "actions,s900-cmu";
|
||||
reg = <0x0 0xe0160000 0x0 0x1000>;
|
||||
clocks = <&hosc>, <&losc>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
Example: UART controller node that consumes clock generated by the clock
|
||||
management unit:
|
||||
|
||||
uart: serial@e012a000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe012a000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cmu CLK_UART5>;
|
||||
};
|
|
@ -9,6 +9,7 @@ Required Properties:
|
|||
- GXBB (S905) : "amlogic,meson-gxbb-aoclkc"
|
||||
- GXL (S905X, S905D) : "amlogic,meson-gxl-aoclkc"
|
||||
- GXM (S912) : "amlogic,meson-gxm-aoclkc"
|
||||
- AXG (A113D, A113X) : "amlogic,meson-axg-aoclkc"
|
||||
followed by the common "amlogic,meson-gx-aoclkc"
|
||||
|
||||
- #clock-cells: should be 1.
|
||||
|
|
|
@ -10,9 +10,6 @@ Required Properties:
|
|||
"amlogic,gxl-clkc" for GXL and GXM SoC,
|
||||
"amlogic,axg-clkc" for AXG SoC.
|
||||
|
||||
- reg: physical base address of the clock controller and length of memory
|
||||
mapped region.
|
||||
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
Each clock is assigned an identifier and client nodes can use this identifier
|
||||
|
@ -20,13 +17,22 @@ to specify the clock which they consume. All available clocks are defined as
|
|||
preprocessor macros in the dt-bindings/clock/gxbb-clkc.h header and can be
|
||||
used in device tree sources.
|
||||
|
||||
Parent node should have the following properties :
|
||||
- compatible: "syscon", "simple-mfd, and "amlogic,meson-gx-hhi-sysctrl" or
|
||||
"amlogic,meson-axg-hhi-sysctrl"
|
||||
- reg: base address and size of the HHI system control register space.
|
||||
|
||||
Example: Clock controller node:
|
||||
|
||||
clkc: clock-controller@c883c000 {
|
||||
sysctrl: system-controller@0 {
|
||||
compatible = "amlogic,meson-gx-hhi-sysctrl", "syscon", "simple-mfd";
|
||||
reg = <0 0 0 0x400>;
|
||||
|
||||
clkc: clock-controller {
|
||||
#clock-cells = <1>;
|
||||
compatible = "amlogic,gxbb-clkc";
|
||||
reg = <0x0 0xc883c000 0x0 0x3db>;
|
||||
};
|
||||
};
|
||||
|
||||
Example: UART controller node that consumes the clock generated by the clock
|
||||
controller:
|
||||
|
|
|
@ -276,36 +276,38 @@ These clock IDs are defined in:
|
|||
clk_ts_500_ref genpll2 2 BCM_SR_GENPLL2_TS_500_REF_CLK
|
||||
clk_125_nitro genpll2 3 BCM_SR_GENPLL2_125_NITRO_CLK
|
||||
clk_chimp genpll2 4 BCM_SR_GENPLL2_CHIMP_CLK
|
||||
clk_nic_flash genpll2 5 BCM_SR_GENPLL2_NIC_FLASH
|
||||
clk_nic_flash genpll2 5 BCM_SR_GENPLL2_NIC_FLASH_CLK
|
||||
clk_fs genpll2 6 BCM_SR_GENPLL2_FS_CLK
|
||||
|
||||
genpll3 crystal 0 BCM_SR_GENPLL3
|
||||
clk_hsls genpll3 1 BCM_SR_GENPLL3_HSLS_CLK
|
||||
clk_sdio genpll3 2 BCM_SR_GENPLL3_SDIO_CLK
|
||||
|
||||
genpll4 crystal 0 BCM_SR_GENPLL4
|
||||
ccn genpll4 1 BCM_SR_GENPLL4_CCN_CLK
|
||||
clk_ccn genpll4 1 BCM_SR_GENPLL4_CCN_CLK
|
||||
clk_tpiu_pll genpll4 2 BCM_SR_GENPLL4_TPIU_PLL_CLK
|
||||
noc_clk genpll4 3 BCM_SR_GENPLL4_NOC_CLK
|
||||
clk_noc genpll4 3 BCM_SR_GENPLL4_NOC_CLK
|
||||
clk_chclk_fs4 genpll4 4 BCM_SR_GENPLL4_CHCLK_FS4_CLK
|
||||
clk_bridge_fscpu genpll4 5 BCM_SR_GENPLL4_BRIDGE_FSCPU_CLK
|
||||
|
||||
|
||||
genpll5 crystal 0 BCM_SR_GENPLL5
|
||||
fs4_hf_clk genpll5 1 BCM_SR_GENPLL5_FS4_HF_CLK
|
||||
crypto_ae_clk genpll5 2 BCM_SR_GENPLL5_CRYPTO_AE_CLK
|
||||
raid_ae_clk genpll5 3 BCM_SR_GENPLL5_RAID_AE_CLK
|
||||
clk_fs4_hf genpll5 1 BCM_SR_GENPLL5_FS4_HF_CLK
|
||||
clk_crypto_ae genpll5 2 BCM_SR_GENPLL5_CRYPTO_AE_CLK
|
||||
clk_raid_ae genpll5 3 BCM_SR_GENPLL5_RAID_AE_CLK
|
||||
|
||||
genpll6 crystal 0 BCM_SR_GENPLL6
|
||||
48_usb genpll6 1 BCM_SR_GENPLL6_48_USB_CLK
|
||||
clk_48_usb genpll6 1 BCM_SR_GENPLL6_48_USB_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_SR_LCPLL0
|
||||
clk_sata_refp lcpll0 1 BCM_SR_LCPLL0_SATA_REFP_CLK
|
||||
clk_sata_refn lcpll0 2 BCM_SR_LCPLL0_SATA_REFN_CLK
|
||||
clk_usb_ref lcpll0 3 BCM_SR_LCPLL0_USB_REF_CLK
|
||||
sata_refpn lcpll0 3 BCM_SR_LCPLL0_SATA_REFPN_CLK
|
||||
clk_sata_350 lcpll0 3 BCM_SR_LCPLL0_SATA_350_CLK
|
||||
clk_sata_500 lcpll0 4 BCM_SR_LCPLL0_SATA_500_CLK
|
||||
|
||||
lcpll1 crystal 0 BCM_SR_LCPLL1
|
||||
wan lcpll1 1 BCM_SR_LCPLL0_WAN_CLK
|
||||
clk_wan lcpll1 1 BCM_SR_LCPLL1_WAN_CLK
|
||||
clk_usb_ref lcpll1 2 BCM_SR_LCPLL1_USB_REF_CLK
|
||||
clk_crmu_ts lcpll1 3 BCM_SR_LCPLL1_CRMU_TS_CLK
|
||||
|
||||
lcpll_pcie crystal 0 BCM_SR_LCPLL_PCIE
|
||||
pcie_phy_ref lcpll1 1 BCM_SR_LCPLL_PCIE_PHY_REF_CLK
|
||||
clk_pcie_phy_ref lcpll1 1 BCM_SR_LCPLL_PCIE_PHY_REF_CLK
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
* Nuvoton NPCM7XX Clock Controller
|
||||
|
||||
Nuvoton Poleg BMC NPCM7XX contains an integrated clock controller, which
|
||||
generates and supplies clocks to all modules within the BMC.
|
||||
|
||||
External clocks:
|
||||
|
||||
There are six fixed clocks that are generated outside the BMC. All clocks are of
|
||||
a known fixed value that cannot be changed. clk_refclk, clk_mcbypck and
|
||||
clk_sysbypck are inputs to the clock controller.
|
||||
clk_rg1refck, clk_rg2refck and clk_xin are external clocks suppling the
|
||||
network. They are set on the device tree, but not used by the clock module. The
|
||||
network devices use them directly.
|
||||
Example can be found below.
|
||||
|
||||
All available clocks are defined as preprocessor macros in:
|
||||
dt-bindings/clock/nuvoton,npcm7xx-clock.h
|
||||
and can be reused as DT sources.
|
||||
|
||||
Required Properties of clock controller:
|
||||
|
||||
- compatible: "nuvoton,npcm750-clk" : for clock controller of Nuvoton
|
||||
Poleg BMC NPCM750
|
||||
|
||||
- reg: physical base address of the clock controller and length of
|
||||
memory mapped region.
|
||||
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
Example: Clock controller node:
|
||||
|
||||
clk: clock-controller@f0801000 {
|
||||
compatible = "nuvoton,npcm750-clk";
|
||||
#clock-cells = <1>;
|
||||
reg = <0xf0801000 0x1000>;
|
||||
clock-names = "refclk", "sysbypck", "mcbypck";
|
||||
clocks = <&clk_refclk>, <&clk_sysbypck>, <&clk_mcbypck>;
|
||||
};
|
||||
|
||||
Example: Required external clocks for network:
|
||||
|
||||
/* external reference clock */
|
||||
clk_refclk: clk-refclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <25000000>;
|
||||
clock-output-names = "refclk";
|
||||
};
|
||||
|
||||
/* external reference clock for cpu. float in normal operation */
|
||||
clk_sysbypck: clk-sysbypck {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <800000000>;
|
||||
clock-output-names = "sysbypck";
|
||||
};
|
||||
|
||||
/* external reference clock for MC. float in normal operation */
|
||||
clk_mcbypck: clk-mcbypck {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <800000000>;
|
||||
clock-output-names = "mcbypck";
|
||||
};
|
||||
|
||||
/* external clock signal rg1refck, supplied by the phy */
|
||||
clk_rg1refck: clk-rg1refck {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "clk_rg1refck";
|
||||
};
|
||||
|
||||
/* external clock signal rg2refck, supplied by the phy */
|
||||
clk_rg2refck: clk-rg2refck {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "clk_rg2refck";
|
||||
};
|
||||
|
||||
clk_xin: clk-xin {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <50000000>;
|
||||
clock-output-names = "clk_xin";
|
||||
};
|
||||
|
||||
|
||||
Example: GMAC controller node that consumes two clocks: a generated clk by the
|
||||
clock controller and a fixed clock from DT (clk_rg1refck).
|
||||
|
||||
ethernet0: ethernet@f0802000 {
|
||||
compatible = "snps,dwmac";
|
||||
reg = <0xf0802000 0x2000>;
|
||||
interrupts = <0 14 4>;
|
||||
interrupt-names = "macirq";
|
||||
clocks = <&clk_rg1refck>, <&clk NPCM7XX_CLK_AHB>;
|
||||
clock-names = "stmmaceth", "clk_gmac";
|
||||
};
|
|
@ -17,7 +17,9 @@ Required properties :
|
|||
"qcom,gcc-msm8974pro-ac"
|
||||
"qcom,gcc-msm8994"
|
||||
"qcom,gcc-msm8996"
|
||||
"qcom,gcc-msm8998"
|
||||
"qcom,gcc-mdm9615"
|
||||
"qcom,gcc-sdm845"
|
||||
|
||||
- reg : shall contain base register location and length
|
||||
- #clock-cells : shall contain 1
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
Qualcomm Technologies, Inc. RPMh Clocks
|
||||
-------------------------------------------------------
|
||||
|
||||
Resource Power Manager Hardened (RPMh) manages shared resources on
|
||||
some Qualcomm Technologies Inc. SoCs. It accepts clock requests from
|
||||
other hardware subsystems via RSC to control clocks.
|
||||
|
||||
Required properties :
|
||||
- compatible : shall contain "qcom,sdm845-rpmh-clk"
|
||||
|
||||
- #clock-cells : must contain 1
|
||||
|
||||
Example :
|
||||
|
||||
#include <dt-bindings/clock/qcom,rpmh.h>
|
||||
|
||||
&apps_rsc {
|
||||
rpmhcc: clock-controller {
|
||||
compatible = "qcom,sdm845-rpmh-clk";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
Qualcomm Video Clock & Reset Controller Binding
|
||||
-----------------------------------------------
|
||||
|
||||
Required properties :
|
||||
- compatible : shall contain "qcom,sdm845-videocc"
|
||||
- reg : shall contain base register location and length
|
||||
- #clock-cells : from common clock binding, shall contain 1.
|
||||
- #power-domain-cells : from generic power domain binding, shall contain 1.
|
||||
|
||||
Optional properties :
|
||||
- #reset-cells : from common reset binding, shall contain 1.
|
||||
|
||||
Example:
|
||||
videocc: clock-controller@ab00000 {
|
||||
compatible = "qcom,sdm845-videocc";
|
||||
reg = <0xab00000 0x10000>;
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
|
@ -15,6 +15,7 @@ Required Properties:
|
|||
- compatible: Must be one of:
|
||||
- "renesas,r8a7743-cpg-mssr" for the r8a7743 SoC (RZ/G1M)
|
||||
- "renesas,r8a7745-cpg-mssr" for the r8a7745 SoC (RZ/G1E)
|
||||
- "renesas,r8a77470-cpg-mssr" for the r8a77470 SoC (RZ/G1C)
|
||||
- "renesas,r8a7790-cpg-mssr" for the r8a7790 SoC (R-Car H2)
|
||||
- "renesas,r8a7791-cpg-mssr" for the r8a7791 SoC (R-Car M2-W)
|
||||
- "renesas,r8a7792-cpg-mssr" for the r8a7792 SoC (R-Car V2H)
|
||||
|
@ -25,6 +26,7 @@ Required Properties:
|
|||
- "renesas,r8a77965-cpg-mssr" for the r8a77965 SoC (R-Car M3-N)
|
||||
- "renesas,r8a77970-cpg-mssr" for the r8a77970 SoC (R-Car V3M)
|
||||
- "renesas,r8a77980-cpg-mssr" for the r8a77980 SoC (R-Car V3H)
|
||||
- "renesas,r8a77990-cpg-mssr" for the r8a77990 SoC (R-Car E3)
|
||||
- "renesas,r8a77995-cpg-mssr" for the r8a77995 SoC (R-Car D3)
|
||||
|
||||
- reg: Base address and length of the memory resource used by the CPG/MSSR
|
||||
|
@ -33,10 +35,12 @@ Required Properties:
|
|||
- clocks: References to external parent clocks, one entry for each entry in
|
||||
clock-names
|
||||
- clock-names: List of external parent clock names. Valid names are:
|
||||
- "extal" (r8a7743, r8a7745, r8a7790, r8a7791, r8a7792, r8a7793, r8a7794,
|
||||
r8a7795, r8a7796, r8a77965, r8a77970, r8a77980, r8a77995)
|
||||
- "extal" (r8a7743, r8a7745, r8a77470, r8a7790, r8a7791, r8a7792,
|
||||
r8a7793, r8a7794, r8a7795, r8a7796, r8a77965, r8a77970,
|
||||
r8a77980, r8a77990, r8a77995)
|
||||
- "extalr" (r8a7795, r8a7796, r8a77965, r8a77970, r8a77980)
|
||||
- "usb_extal" (r8a7743, r8a7745, r8a7790, r8a7791, r8a7793, r8a7794)
|
||||
- "usb_extal" (r8a7743, r8a7745, r8a77470, r8a7790, r8a7791, r8a7793,
|
||||
r8a7794)
|
||||
|
||||
- #clock-cells: Must be 2
|
||||
- For CPG core clocks, the two clock specifier cells must be "CPG_CORE"
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
Device Tree Clock bindings for arch-rockchip
|
||||
|
||||
This binding uses the common clock binding[1].
|
||||
|
||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
== Gate clocks ==
|
||||
|
||||
These bindings are deprecated!
|
||||
Please use the soc specific CRU bindings instead.
|
||||
|
||||
The gate registers form a continuos block which makes the dt node
|
||||
structure a matter of taste, as either all gates can be put into
|
||||
one gate clock spanning all registers or they can be divided into
|
||||
the 10 individual gates containing 16 clocks each.
|
||||
The code supports both approaches.
|
||||
|
||||
Required properties:
|
||||
- compatible : "rockchip,rk2928-gate-clk"
|
||||
- reg : shall be the control register address(es) for the clock.
|
||||
- #clock-cells : from common clock binding; shall be set to 1
|
||||
- clock-output-names : the corresponding gate names that the clock controls
|
||||
- clocks : should contain the parent clock for each individual gate,
|
||||
therefore the number of clocks elements should match the number of
|
||||
clock-output-names
|
||||
|
||||
Example using multiple gate clocks:
|
||||
|
||||
clk_gates0: gate-clk@200000d0 {
|
||||
compatible = "rockchip,rk2928-gate-clk";
|
||||
reg = <0x200000d0 0x4>;
|
||||
clocks = <&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>,
|
||||
<&dummy>, <&dummy>;
|
||||
|
||||
clock-output-names =
|
||||
"gate_core_periph", "gate_cpu_gpll",
|
||||
"gate_ddrphy", "gate_aclk_cpu",
|
||||
"gate_hclk_cpu", "gate_pclk_cpu",
|
||||
"gate_atclk_cpu", "gate_i2s0",
|
||||
"gate_i2s0_frac", "gate_i2s1",
|
||||
"gate_i2s1_frac", "gate_i2s2",
|
||||
"gate_i2s2_frac", "gate_spdif",
|
||||
"gate_spdif_frac", "gate_testclk";
|
||||
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
clk_gates1: gate-clk@200000d4 {
|
||||
compatible = "rockchip,rk2928-gate-clk";
|
||||
reg = <0x200000d4 0x4>;
|
||||
clocks = <&xin24m>, <&xin24m>,
|
||||
<&xin24m>, <&dummy>,
|
||||
<&dummy>, <&xin24m>,
|
||||
<&xin24m>, <&dummy>,
|
||||
<&xin24m>, <&dummy>,
|
||||
<&xin24m>, <&dummy>,
|
||||
<&xin24m>, <&dummy>,
|
||||
<&xin24m>, <&dummy>;
|
||||
|
||||
clock-output-names =
|
||||
"gate_timer0", "gate_timer1",
|
||||
"gate_timer2", "gate_jtag",
|
||||
"gate_aclk_lcdc1_src", "gate_otgphy0",
|
||||
"gate_otgphy1", "gate_ddr_gpll",
|
||||
"gate_uart0", "gate_frac_uart0",
|
||||
"gate_uart1", "gate_frac_uart1",
|
||||
"gate_uart2", "gate_frac_uart2",
|
||||
"gate_uart3", "gate_frac_uart3";
|
||||
|
||||
#clock-cells = <1>;
|
||||
};
|
|
@ -31,10 +31,10 @@ This binding uses the common clock binding[1].
|
|||
Each subnode should use the binding described in [2]..[7]
|
||||
|
||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
[3] Documentation/devicetree/bindings/clock/st,clkgen-mux.txt
|
||||
[4] Documentation/devicetree/bindings/clock/st,clkgen-pll.txt
|
||||
[7] Documentation/devicetree/bindings/clock/st,quadfs.txt
|
||||
[8] Documentation/devicetree/bindings/clock/st,flexgen.txt
|
||||
[3] Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt
|
||||
[4] Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt
|
||||
[7] Documentation/devicetree/bindings/clock/st/st,quadfs.txt
|
||||
[8] Documentation/devicetree/bindings/clock/st/st,flexgen.txt
|
||||
|
||||
|
||||
Required properties:
|
||||
|
|
|
@ -21,6 +21,7 @@ Required properties :
|
|||
- "allwinner,sun50i-a64-r-ccu"
|
||||
- "allwinner,sun50i-h5-ccu"
|
||||
- "allwinner,sun50i-h6-ccu"
|
||||
- "allwinner,sun50i-h6-r-ccu"
|
||||
- "nextthing,gr8-ccu"
|
||||
|
||||
- reg: Must contain the registers base address and length
|
||||
|
@ -35,7 +36,7 @@ Required properties :
|
|||
For the main CCU on H6, one more clock is needed:
|
||||
- "iosc": the SoC's internal frequency oscillator
|
||||
|
||||
For the PRCM CCUs on A83T/H3/A64, two more clocks are needed:
|
||||
For the PRCM CCUs on A83T/H3/A64/H6, two more clocks are needed:
|
||||
- "pll-periph": the SoC's peripheral PLL from the main CCU
|
||||
- "iosc": the SoC's internal frequency oscillator
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ will be controlled instead and the corresponding hw-ops for
|
|||
that is used.
|
||||
|
||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
[2] Documentation/devicetree/bindings/clock/gate-clock.txt
|
||||
[2] Documentation/devicetree/bindings/clock/gpio-gate-clock.txt
|
||||
[3] Documentation/devicetree/bindings/clock/ti/clockdomain.txt
|
||||
|
||||
Required properties:
|
||||
|
|
|
@ -9,7 +9,7 @@ companion clock finding (match corresponding functional gate
|
|||
clock) and hardware autoidle enable / disable.
|
||||
|
||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
[2] Documentation/devicetree/bindings/clock/gate-clock.txt
|
||||
[2] Documentation/devicetree/bindings/clock/gpio-gate-clock.txt
|
||||
|
||||
Required properties:
|
||||
- compatible : shall be one of:
|
||||
|
|
|
@ -8,7 +8,7 @@ Required properties:
|
|||
"intermediate" - A parent of "cpu" clock which is used as "intermediate" clock
|
||||
source (usually MAINPLL) when the original CPU PLL is under
|
||||
transition and not stable yet.
|
||||
Please refer to Documentation/devicetree/bindings/clk/clock-bindings.txt for
|
||||
Please refer to Documentation/devicetree/bindings/clock/clock-bindings.txt for
|
||||
generic clock consumer properties.
|
||||
- operating-points-v2: Please refer to Documentation/devicetree/bindings/opp/opp.txt
|
||||
for detail.
|
||||
|
|
|
@ -12,7 +12,7 @@ Required properties:
|
|||
- clocks: Phandles for clock specified in "clock-names" property
|
||||
- clock-names : The name of clock used by the DFI, must be
|
||||
"pclk_ddr_mon";
|
||||
- operating-points-v2: Refer to Documentation/devicetree/bindings/power/opp.txt
|
||||
- operating-points-v2: Refer to Documentation/devicetree/bindings/opp/opp.txt
|
||||
for details.
|
||||
- center-supply: DMC supply node.
|
||||
- status: Marks the node enabled/disabled.
|
||||
|
|
|
@ -30,7 +30,7 @@ Optional properties:
|
|||
- nxp,calib-gpios: calibration GPIO, which must correspond with the
|
||||
gpio used for the TDA998x interrupt pin.
|
||||
|
||||
[1] Documentation/sound/alsa/soc/DAI.txt
|
||||
[1] Documentation/sound/soc/dai.rst
|
||||
[2] include/dt-bindings/display/tda998x.h
|
||||
|
||||
Example:
|
||||
|
|
|
@ -29,6 +29,7 @@ Required Properties:
|
|||
- "renesas,dmac-r8a77965" (R-Car M3-N)
|
||||
- "renesas,dmac-r8a77970" (R-Car V3M)
|
||||
- "renesas,dmac-r8a77980" (R-Car V3H)
|
||||
- "renesas,dmac-r8a77995" (R-Car D3)
|
||||
|
||||
- reg: base address and length of the registers block for the DMAC
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ Required Properties:
|
|||
- "renesas,r8a7795-usb-dmac" (R-Car H3)
|
||||
- "renesas,r8a7796-usb-dmac" (R-Car M3-W)
|
||||
- "renesas,r8a77965-usb-dmac" (R-Car M3-N)
|
||||
- "renesas,r8a77990-usb-dmac" (R-Car E3)
|
||||
- "renesas,r8a77995-usb-dmac" (R-Car D3)
|
||||
- reg: base address and length of the registers block for the DMAC
|
||||
- interrupts: interrupt specifiers for the DMAC, one for each entry in
|
||||
interrupt-names.
|
||||
|
|
|
@ -11,9 +11,10 @@ Required properties:
|
|||
* "qcom,scm-msm8660" for MSM8660 platforms
|
||||
* "qcom,scm-msm8690" for MSM8690 platforms
|
||||
* "qcom,scm-msm8996" for MSM8996 platforms
|
||||
* "qcom,scm-ipq4019" for IPQ4019 platforms
|
||||
* "qcom,scm" for later processors (MSM8916, APQ8084, MSM8974, etc)
|
||||
- clocks: One to three clocks may be required based on compatible.
|
||||
* No clock required for "qcom,scm-msm8996"
|
||||
* No clock required for "qcom,scm-msm8996", "qcom,scm-ipq4019"
|
||||
* Only core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660", and "qcom,scm-msm8960"
|
||||
* Core, iface, and bus clocks required for "qcom,scm"
|
||||
- clock-names: Must contain "core" for the core clock, "iface" for the interface
|
||||
|
|
|
@ -31,10 +31,15 @@ Required properties:
|
|||
ti,tca9554
|
||||
onnn,pca9654
|
||||
exar,xra1202
|
||||
- gpio-controller: if used as gpio expander.
|
||||
- #gpio-cells: if used as gpio expander.
|
||||
- interrupt-controller: if to be used as interrupt expander.
|
||||
- #interrupt-cells: if to be used as interrupt expander.
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios: GPIO specification for the RESET input. This is an
|
||||
active low signal to the PCA953x.
|
||||
- vcc-supply: power supply regulator.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -47,3 +52,32 @@ Example:
|
|||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
|
||||
Example with Interrupts:
|
||||
|
||||
|
||||
gpio99: gpio@22 {
|
||||
compatible = "nxp,pcal6524";
|
||||
reg = <0x22>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
vcc-supply = <&vdds_1v8_main>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names =
|
||||
"hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03", "vibra", "fault2", "p06", "p07",
|
||||
"en-usb", "en-host1", "en-host2", "chg-int", "p14", "p15", "mic-int", "en-modem",
|
||||
"shdn-hs-amp", "chg-status+red", "green", "blue", "en-esata", "fault1", "p26", "p27";
|
||||
};
|
||||
|
||||
ts3a227@3b {
|
||||
compatible = "ti,ts3a227e";
|
||||
reg = <0x3b>;
|
||||
interrupt-parent = <&gpio99>;
|
||||
interrupts = <14 IRQ_TYPE_EDGE_RISING>;
|
||||
ti,micbias = <0>; /* 2.1V */
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ Required Properties:
|
|||
- compatible: should contain one or more of the following:
|
||||
- "renesas,gpio-r8a7743": for R8A7743 (RZ/G1M) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a7745": for R8A7745 (RZ/G1E) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a77470": for R8A77470 (RZ/G1C) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a7778": for R8A7778 (R-Car M1) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller.
|
||||
|
@ -14,7 +15,9 @@ Required Properties:
|
|||
- "renesas,gpio-r8a7794": for R8A7794 (R-Car E2) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a7795": for R8A7795 (R-Car H3) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a7796": for R8A7796 (R-Car M3-W) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a77965": for R8A77965 (R-Car M3-N) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a77970": for R8A77970 (R-Car V3M) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a77990": for R8A77990 (R-Car E3) compatible GPIO controller.
|
||||
- "renesas,gpio-r8a77995": for R8A77995 (R-Car D3) compatible GPIO controller.
|
||||
- "renesas,rcar-gen1-gpio": for a generic R-Car Gen1 GPIO controller.
|
||||
- "renesas,rcar-gen2-gpio": for a generic R-Car Gen2 or RZ/G1 GPIO controller.
|
||||
|
|
|
@ -26,8 +26,13 @@ controller.
|
|||
the second encodes the triger flags encoded as described in
|
||||
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
- interrupts : The interrupt to the parent controller raised when GPIOs
|
||||
generate the interrupts.
|
||||
- interrupts : The interrupts to the parent controller raised when GPIOs
|
||||
generate the interrupts. If the controller provides one combined interrupt
|
||||
for all GPIOs, specify a single interrupt. If the controller provides one
|
||||
interrupt for each GPIO, provide a list of interrupts that correspond to each
|
||||
of the GPIO pins. When specifying multiple interrupts, if any are unconnected,
|
||||
use the interrupts-extended property to specify the interrupts and set the
|
||||
interrupt controller handle for unused interrupts to 0.
|
||||
- snps,nr-gpios : The number of pins in the port, a single cell.
|
||||
- resets : Reset line for the controller.
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ Optional properties:
|
|||
- mali-supply : Phandle to regulator for the Mali device. Refer to
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt for details.
|
||||
|
||||
- operating-points-v2 : Refer to Documentation/devicetree/bindings/power/opp.txt
|
||||
- operating-points-v2 : Refer to Documentation/devicetree/bindings/opp/opp.txt
|
||||
for details.
|
||||
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ Optional properties:
|
|||
|
||||
- memory-region:
|
||||
Memory region to allocate from, as defined in
|
||||
Documentation/devicetree/bindi/reserved-memory/reserved-memory.txt
|
||||
Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
|
||||
|
||||
- mali-supply:
|
||||
Phandle to regulator for the Mali device, as defined in
|
||||
|
|
|
@ -24,7 +24,7 @@ Recommended properties :
|
|||
- clock-frequency : desired I2C bus clock frequency in Hz.
|
||||
- ti,has-pfunc: boolean; if defined, it indicates that SoC supports PFUNC
|
||||
registers. PFUNC registers allow to switch I2C pins to function as
|
||||
GPIOs, so they can by toggled manually.
|
||||
GPIOs, so they can be toggled manually.
|
||||
|
||||
Example (enbw_cmc board):
|
||||
i2c@1c22000 {
|
||||
|
|
|
@ -15,6 +15,7 @@ Required properties:
|
|||
"renesas,i2c-r8a7796" if the device is a part of a R8A7796 SoC.
|
||||
"renesas,i2c-r8a77965" if the device is a part of a R8A77965 SoC.
|
||||
"renesas,i2c-r8a77970" if the device is a part of a R8A77970 SoC.
|
||||
"renesas,i2c-r8a77980" if the device is a part of a R8A77980 SoC.
|
||||
"renesas,i2c-r8a77995" if the device is a part of a R8A77995 SoC.
|
||||
"renesas,rcar-gen1-i2c" for a generic R-Car Gen1 compatible device.
|
||||
"renesas,rcar-gen2-i2c" for a generic R-Car Gen2 or RZ/G1 compatible
|
||||
|
|
|
@ -8,9 +8,7 @@ Required properties:
|
|||
(b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
|
||||
(c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
|
||||
inside HDMIPHY block found on several samsung SoCs
|
||||
(d) "samsung, exynos5440-i2c", for s3c2440-like i2c used
|
||||
on EXYNOS5440 which does not need GPIO configuration.
|
||||
(e) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
|
||||
(d) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
|
||||
a host to SATA PHY controller on an internal bus.
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
|
|
|
@ -7,6 +7,7 @@ Required properties:
|
|||
- "amlogic,meson-gxbb-saradc" for GXBB
|
||||
- "amlogic,meson-gxl-saradc" for GXL
|
||||
- "amlogic,meson-gxm-saradc" for GXM
|
||||
- "amlogic,meson-axg-saradc" for AXG
|
||||
along with the generic "amlogic,meson-saradc"
|
||||
- reg: the physical base address and length of the registers
|
||||
- interrupts: the interrupt indicating end of sampling
|
||||
|
|
|
@ -49,7 +49,7 @@ Required properties:
|
|||
Examples:
|
||||
spi_controller {
|
||||
mcp3x0x@0 {
|
||||
compatible = "mcp3002";
|
||||
compatible = "microchip,mcp3002";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
vref-supply = <&vref_reg>;
|
||||
|
|
|
@ -24,8 +24,11 @@ Required properties:
|
|||
- compatible: Should be one of:
|
||||
"st,stm32f4-adc-core"
|
||||
"st,stm32h7-adc-core"
|
||||
"st,stm32mp1-adc-core"
|
||||
- reg: Offset and length of the ADC block register set.
|
||||
- interrupts: Must contain the interrupt for ADC block.
|
||||
- interrupts: One or more interrupts for ADC block. Some parts like stm32f4
|
||||
and stm32h7 share a common ADC interrupt line. stm32mp1 has two separate
|
||||
interrupt lines, one for each ADC within ADC block.
|
||||
- clocks: Core can use up to two clocks, depending on part used:
|
||||
- "adc" clock: for the analog circuitry, common to all ADCs.
|
||||
It's required on stm32f4.
|
||||
|
@ -53,6 +56,7 @@ Required properties:
|
|||
- compatible: Should be one of:
|
||||
"st,stm32f4-adc"
|
||||
"st,stm32h7-adc"
|
||||
"st,stm32mp1-adc"
|
||||
- reg: Offset of ADC instance in ADC block (e.g. may be 0x0, 0x100, 0x200).
|
||||
- clocks: Input clock private to this ADC instance. It's required only on
|
||||
stm32f4, that has per instance clock input for registers access.
|
||||
|
|
|
@ -8,14 +8,16 @@ It is mainly targeted for:
|
|||
- PDM microphones (audio digital microphone)
|
||||
|
||||
It features up to 8 serial digital interfaces (SPI or Manchester) and
|
||||
up to 4 filters on stm32h7.
|
||||
up to 4 filters on stm32h7 or 6 filters on stm32mp1.
|
||||
|
||||
Each child node match with a filter instance.
|
||||
|
||||
Contents of a STM32 DFSDM root node:
|
||||
------------------------------------
|
||||
Required properties:
|
||||
- compatible: Should be "st,stm32h7-dfsdm".
|
||||
- compatible: Should be one of:
|
||||
"st,stm32h7-dfsdm"
|
||||
"st,stm32mp1-dfsdm"
|
||||
- reg: Offset and length of the DFSDM block register set.
|
||||
- clocks: IP and serial interfaces clocking. Should be set according
|
||||
to rcc clock ID and "clock-names".
|
||||
|
@ -45,6 +47,7 @@ Required properties:
|
|||
"st,stm32-dfsdm-adc" for sigma delta ADCs
|
||||
"st,stm32-dfsdm-dmic" for audio digital microphone.
|
||||
- reg: Specifies the DFSDM filter instance used.
|
||||
Valid values are from 0 to 3 on stm32h7, 0 to 5 on stm32mp1.
|
||||
- interrupts: IRQ lines connected to each DFSDM filter instance.
|
||||
- st,adc-channels: List of single-ended channels muxed for this ADC.
|
||||
valid values:
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
Current Sense Amplifier
|
||||
=======================
|
||||
|
||||
When an io-channel measures the output voltage from a current sense
|
||||
amplifier, the interesting measurement is almost always the current
|
||||
through the sense resistor, not the voltage output. This binding
|
||||
describes such a current sense circuit.
|
||||
|
||||
Required properties:
|
||||
- compatible : "current-sense-amplifier"
|
||||
- io-channels : Channel node of a voltage io-channel.
|
||||
- sense-resistor-micro-ohms : The sense resistance in microohms.
|
||||
|
||||
Optional properties:
|
||||
- sense-gain-mult: Amplifier gain multiplier. The default is <1>.
|
||||
- sense-gain-div: Amplifier gain divider. The default is <1>.
|
||||
|
||||
Example:
|
||||
|
||||
sysi {
|
||||
compatible = "current-sense-amplifier";
|
||||
io-channels = <&tiadc 0>;
|
||||
|
||||
sense-resistor-micro-ohms = <20000>;
|
||||
sense-gain-mul = <50>;
|
||||
};
|
|
@ -0,0 +1,41 @@
|
|||
Current Sense Shunt
|
||||
===================
|
||||
|
||||
When an io-channel measures the voltage over a current sense shunt,
|
||||
the interesting measurement is almost always the current through the
|
||||
shunt, not the voltage over it. This binding describes such a current
|
||||
sense circuit.
|
||||
|
||||
Required properties:
|
||||
- compatible : "current-sense-shunt"
|
||||
- io-channels : Channel node of a voltage io-channel.
|
||||
- shunt-resistor-micro-ohms : The shunt resistance in microohms.
|
||||
|
||||
Example:
|
||||
The system current is measured by measuring the voltage over a
|
||||
3.3 ohms shunt resistor.
|
||||
|
||||
sysi {
|
||||
compatible = "current-sense-shunt";
|
||||
io-channels = <&tiadc 0>;
|
||||
|
||||
/* Divide the voltage by 3300000/1000000 (or 3.3) for the current. */
|
||||
shunt-resistor-micro-ohms = <3300000>;
|
||||
};
|
||||
|
||||
&i2c {
|
||||
tiadc: adc@48 {
|
||||
compatible = "ti,ads1015";
|
||||
reg = <0x48>;
|
||||
#io-channel-cells = <1>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@0 { /* IN0,IN1 differential */
|
||||
reg = <0>;
|
||||
ti,gain = <1>;
|
||||
ti,datarate = <4>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,53 @@
|
|||
Voltage divider
|
||||
===============
|
||||
|
||||
When an io-channel measures the midpoint of a voltage divider, the
|
||||
interesting voltage is often the voltage over the full resistance
|
||||
of the divider. This binding describes the voltage divider in such
|
||||
a curcuit.
|
||||
|
||||
Vin ----.
|
||||
|
|
||||
.-----.
|
||||
| R |
|
||||
'-----'
|
||||
|
|
||||
+---- Vout
|
||||
|
|
||||
.-----.
|
||||
| Rout|
|
||||
'-----'
|
||||
|
|
||||
GND
|
||||
|
||||
Required properties:
|
||||
- compatible : "voltage-divider"
|
||||
- io-channels : Channel node of a voltage io-channel measuring Vout.
|
||||
- output-ohms : Resistance Rout over which the output voltage is measured.
|
||||
See full-ohms.
|
||||
- full-ohms : Resistance R + Rout for the full divider. The io-channel
|
||||
is scaled by the Rout / (R + Rout) quotient.
|
||||
|
||||
Example:
|
||||
The system voltage is circa 12V, but divided down with a 22/222
|
||||
voltage divider (R = 200 Ohms, Rout = 22 Ohms) and fed to an ADC.
|
||||
|
||||
sysv {
|
||||
compatible = "voltage-divider";
|
||||
io-channels = <&maxadc 1>;
|
||||
|
||||
/* Scale the system voltage by 22/222 to fit the ADC range. */
|
||||
output-ohms = <22>;
|
||||
full-ohms = <222>; /* 200 + 22 */
|
||||
};
|
||||
|
||||
&spi {
|
||||
maxadc: adc@0 {
|
||||
compatible = "maxim,max1027";
|
||||
reg = <0>;
|
||||
#io-channel-cells = <1>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <15 IRQ_TYPE_EDGE_RISING>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
|
@ -12,12 +12,26 @@ Required properties:
|
|||
Property rules described in Documentation/devicetree/bindings/spi/spi-bus.txt
|
||||
apply. In particular, "reg" and "spi-max-frequency" properties must be given.
|
||||
|
||||
Optional properties:
|
||||
- vref-supply: Phandle to the external reference voltage supply. This should
|
||||
only be set if there is an external reference voltage connected to the VREF
|
||||
pin. If the property is not set the internal reference is used.
|
||||
|
||||
Example:
|
||||
|
||||
vref: regulator-vref {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vref-ltc2632";
|
||||
regulator-min-microvolt = <1250000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
spi_master {
|
||||
dac: ltc2632@0 {
|
||||
compatible = "lltc,ltc2632-l12";
|
||||
reg = <0>; /* CS0 */
|
||||
spi-max-frequency = <1000000>;
|
||||
vref-supply = <&vref>; /* optional */
|
||||
};
|
||||
};
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
* Texas Instruments DAC5571 Family
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain
|
||||
"ti,dac5571"
|
||||
"ti,dac6571"
|
||||
"ti,dac7571"
|
||||
"ti,dac5574"
|
||||
"ti,dac6574"
|
||||
"ti,dac7574"
|
||||
"ti,dac5573"
|
||||
"ti,dac6573"
|
||||
"ti,dac7573"
|
||||
- reg: Should contain the DAC I2C address
|
||||
|
||||
Optional properties:
|
||||
- vref-supply: The regulator supply for DAC reference voltage
|
||||
|
||||
Example:
|
||||
dac@0 {
|
||||
compatible = "ti,dac5571";
|
||||
reg = <0x4C>;
|
||||
vref-supply = <&vdd_supply>;
|
||||
};
|
|
@ -8,10 +8,16 @@ Required properties:
|
|||
"invensense,mpu6500"
|
||||
"invensense,mpu9150"
|
||||
"invensense,mpu9250"
|
||||
"invensense,mpu9255"
|
||||
"invensense,icm20608"
|
||||
- reg : the I2C address of the sensor
|
||||
- interrupt-parent : should be the phandle for the interrupt controller
|
||||
- interrupts : interrupt mapping for GPIO IRQ
|
||||
- interrupts: interrupt mapping for IRQ. It should be configured with flags
|
||||
IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
|
||||
IRQ_TYPE_EDGE_FALLING.
|
||||
|
||||
Refer to interrupt-controller/interrupts.txt for generic interrupt client node
|
||||
bindings.
|
||||
|
||||
Optional properties:
|
||||
- mount-matrix: an optional 3x3 mounting rotation matrix
|
||||
|
@ -24,7 +30,7 @@ Example:
|
|||
compatible = "invensense,mpu6050";
|
||||
reg = <0x68>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <18 1>;
|
||||
interrupts = <18 IRQ_TYPE_EDGE_RISING>;
|
||||
mount-matrix = "-0.984807753012208", /* x0 */
|
||||
"0", /* y0 */
|
||||
"-0.173648177666930", /* z0 */
|
||||
|
@ -41,7 +47,7 @@ Example:
|
|||
compatible = "invensense,mpu9250";
|
||||
reg = <0x68>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <21 1>;
|
||||
interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
i2c-gate {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
|
@ -6,6 +6,7 @@ Required properties:
|
|||
"st,lsm6ds3h"
|
||||
"st,lsm6dsl"
|
||||
"st,lsm6dsm"
|
||||
"st,ism330dlc"
|
||||
- reg: i2c address of the sensor / spi cs line
|
||||
|
||||
Optional properties:
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
* Texas Instruments LMP91000 potentiostat
|
||||
* Texas Instruments LMP91000 series of potentiostats
|
||||
|
||||
http://www.ti.com/lit/ds/symlink/lmp91000.pdf
|
||||
LMP91000: http://www.ti.com/lit/ds/symlink/lmp91000.pdf
|
||||
LMP91002: http://www.ti.com/lit/ds/symlink/lmp91002.pdf
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be "ti,lmp91000"
|
||||
- compatible: should be one of the following:
|
||||
"ti,lmp91000"
|
||||
"ti,lmp91002"
|
||||
- reg: the I2C address of the device
|
||||
- io-channels: the phandle of the iio provider
|
||||
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
MediaTek MT6397/MT6323 PMIC Keys Device Driver
|
||||
|
||||
There are two key functions provided by MT6397/MT6323 PMIC, pwrkey
|
||||
and homekey. The key functions are defined as the subnode of the function
|
||||
node provided by MT6397/MT6323 PMIC that is being defined as one kind
|
||||
of Muti-Function Device (MFD)
|
||||
|
||||
For MT6397/MT6323 MFD bindings see:
|
||||
Documentation/devicetree/bindings/mfd/mt6397.txt
|
||||
|
||||
Required properties:
|
||||
- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
|
||||
- linux,keycodes: See Documentation/devicetree/bindings/input/keys.txt
|
||||
|
||||
Optional Properties:
|
||||
- wakeup-source: See Documentation/devicetree/bindings/power/wakeup-source.txt
|
||||
- mediatek,long-press-mode: Long press key shutdown setting, 1 for
|
||||
pwrkey only, 2 for pwrkey/homekey together, others for disabled.
|
||||
- power-off-time-sec: See Documentation/devicetree/bindings/input/keys.txt
|
||||
|
||||
Example:
|
||||
|
||||
pmic: mt6397 {
|
||||
compatible = "mediatek,mt6397";
|
||||
|
||||
...
|
||||
|
||||
mt6397keys: mt6397keys {
|
||||
compatible = "mediatek,mt6397-keys";
|
||||
mediatek,long-press-mode = <1>;
|
||||
power-off-time-sec = <0>;
|
||||
|
||||
power {
|
||||
linux,keycodes = <116>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
home {
|
||||
linux,keycodes = <114>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
|
@ -12,7 +12,7 @@ Additional documentation for F11 can be found at:
|
|||
http://www.synaptics.com/sites/default/files/511-000136-01-Rev-E-RMI4-Interfacing-Guide.pdf
|
||||
|
||||
Optional Touch Properties:
|
||||
Description in Documentation/devicetree/bindings/input/touch
|
||||
Description in Documentation/devicetree/bindings/input/touchscreen
|
||||
- touchscreen-inverted-x
|
||||
- touchscreen-inverted-y
|
||||
- touchscreen-swapped-x-y
|
||||
|
|
|
@ -28,7 +28,7 @@ Deprecated properties:
|
|||
This property is deprecated. Instead, a 'steps-per-period ' value should
|
||||
be used, such as "rotary-encoder,steps-per-period = <2>".
|
||||
|
||||
See Documentation/input/rotary-encoder.txt for more information.
|
||||
See Documentation/input/devices/rotary-encoder.rst for more information.
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
Spreadtrum SC27xx PMIC Vibrator
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "sprd,sc2731-vibrator".
|
||||
- reg: address of vibrator control register.
|
||||
|
||||
Example :
|
||||
|
||||
sc2731_pmic: pmic@0 {
|
||||
compatible = "sprd,sc2731";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <26000000>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
vibrator@eb4 {
|
||||
compatible = "sprd,sc2731-vibrator";
|
||||
reg = <0xeb4>;
|
||||
};
|
||||
};
|
|
@ -17,6 +17,10 @@ Optional properties:
|
|||
"pwms" property (see PWM binding[0])
|
||||
- enable-gpios: contains a single GPIO specifier for the GPIO which enables
|
||||
and disables the backlight (see GPIO binding[1])
|
||||
- post-pwm-on-delay-ms: Delay in ms between setting an initial (non-zero) PWM
|
||||
and enabling the backlight using GPIO.
|
||||
- pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
|
||||
and setting PWM value to 0.
|
||||
|
||||
[0]: Documentation/devicetree/bindings/pwm/pwm.txt
|
||||
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
|
||||
|
@ -32,4 +36,6 @@ Example:
|
|||
|
||||
power-supply = <&vdd_bl_reg>;
|
||||
enable-gpios = <&gpio 58 0>;
|
||||
post-pwm-on-delay-ms = <10>;
|
||||
pwm-off-delay-ms = <10>;
|
||||
};
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
Zodiac Inflight Innovations RAVE Supervisory Processor Backlight Bindings
|
||||
|
||||
RAVE SP backlight device is a "MFD cell" device corresponding to
|
||||
backlight functionality of RAVE Supervisory Processor. It is expected
|
||||
that its Device Tree node is specified as a child of the node
|
||||
corresponding to the parent RAVE SP device (as documented in
|
||||
Documentation/devicetree/bindings/mfd/zii,rave-sp.txt)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Should be "zii,rave-sp-backlight"
|
||||
|
||||
Example:
|
||||
|
||||
rave-sp {
|
||||
compatible = "zii,rave-sp-rdu1";
|
||||
current-speed = <38400>;
|
||||
|
||||
backlight {
|
||||
compatible = "zii,rave-sp-backlight";
|
||||
};
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ See: Documentation/devicetree/bindings/clock/clock-bindings.txt
|
|||
- pinctrl-names : a pinctrl state named tsin%d-serial or tsin%d-parallel (where %d is tsin-num)
|
||||
must be defined for each tsin child node.
|
||||
- pinctrl-0 : phandle referencing pin configuration for this tsin configuration
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
|
||||
|
||||
|
||||
Required properties (tsin (child) node):
|
||||
|
|
|
@ -6,11 +6,21 @@ Required properties:
|
|||
example below. Note that the MC registers are interleaved with the
|
||||
GART registers, and hence must be represented as multiple ranges.
|
||||
- interrupts : Should contain MC General interrupt.
|
||||
- #reset-cells : Should be 1. This cell represents memory client module ID.
|
||||
The assignments may be found in header file <dt-bindings/memory/tegra20-mc.h>
|
||||
or in the TRM documentation.
|
||||
|
||||
Example:
|
||||
memory-controller@7000f000 {
|
||||
mc: memory-controller@7000f000 {
|
||||
compatible = "nvidia,tegra20-mc";
|
||||
reg = <0x7000f000 0x024
|
||||
0x7000f03c 0x3c4>;
|
||||
interrupts = <0 77 0x04>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
video-codec@6001a000 {
|
||||
compatible = "nvidia,tegra20-vde";
|
||||
...
|
||||
resets = <&mc TEGRA20_MC_RESET_VDE>;
|
||||
};
|
||||
|
|
|
@ -12,6 +12,9 @@ Required properties:
|
|||
- clock-names: Must include the following entries:
|
||||
- mc: the module's clock input
|
||||
- interrupts: The interrupt outputs from the controller.
|
||||
- #reset-cells : Should be 1. This cell represents memory client module ID.
|
||||
The assignments may be found in header file <dt-bindings/memory/tegra30-mc.h>
|
||||
or in the TRM documentation.
|
||||
|
||||
Required properties for Tegra30, Tegra114, Tegra124, Tegra132 and Tegra210:
|
||||
- #iommu-cells: Should be 1. The single cell of the IOMMU specifier defines
|
||||
|
@ -72,12 +75,14 @@ Example SoC include file:
|
|||
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
#iommu-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
sdhci@700b0000 {
|
||||
compatible = "nvidia,tegra124-sdhci";
|
||||
...
|
||||
iommus = <&mc TEGRA_SWGROUP_SDMMC1A>;
|
||||
resets = <&mc TEGRA124_MC_RESET_SDMMC1>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ Required properties:
|
|||
|
||||
Optional properties:
|
||||
|
||||
- wlf,reset : GPIO specifier for the GPIO controlling /RESET
|
||||
- reset-gpios : GPIO specifier for the GPIO controlling /RESET
|
||||
|
||||
- clocks: Should reference the clocks supplied on MCLK1 and MCLK2
|
||||
- clock-names: Should contains two strings:
|
||||
|
@ -70,6 +70,10 @@ Optional properties:
|
|||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
(wm5102, wm5110, wm8280, wm8997, wm8998, wm1814)
|
||||
|
||||
Deprecated properties:
|
||||
|
||||
- wlf,reset : GPIO specifier for the GPIO controlling /RESET
|
||||
|
||||
Also see child specific device properties:
|
||||
Regulator - ../regulator/arizona-regulator.txt
|
||||
Extcon - ../extcon/extcon-arizona.txt
|
||||
|
|
|
@ -46,7 +46,7 @@ is required:
|
|||
Following properties are require if pin control setting is required
|
||||
at boot.
|
||||
- pinctrl-names: A pinctrl state named "default" be defined, using the
|
||||
bindings in pinctrl/pinctrl-binding.txt.
|
||||
bindings in pinctrl/pinctrl-bindings.txt.
|
||||
- pinctrl[0...n]: Properties to contain the phandle that refer to
|
||||
different nodes of pin control settings. These nodes represents
|
||||
the pin control setting of state 0 to state n. Each of these
|
||||
|
|
|
@ -43,7 +43,7 @@ Optional properties:
|
|||
regulator to drive the OTG VBus, rather then
|
||||
as an input pin which signals whether the
|
||||
board is driving OTG VBus or not.
|
||||
(axp221 / axp223 / axp813 only)
|
||||
(axp221 / axp223 / axp803/ axp813 only)
|
||||
|
||||
- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
|
||||
wired for master mode. The default is slave mode.
|
||||
|
@ -132,6 +132,7 @@ FLDO2 : LDO : fldoin-supply : shared supply
|
|||
LDO_IO0 : LDO : ips-supply : GPIO 0
|
||||
LDO_IO1 : LDO : ips-supply : GPIO 1
|
||||
RTC_LDO : LDO : ips-supply : always on
|
||||
DRIVEVBUS : Enable output : drivevbus-supply : external regulator
|
||||
|
||||
AXP806 regulators, type, and corresponding input supply names:
|
||||
|
||||
|
|
|
@ -25,6 +25,25 @@ Required properties:
|
|||
Each child node is defined using the standard
|
||||
binding for regulators.
|
||||
|
||||
Optional properties:
|
||||
- rohm,ddr-backup-power : Value to use for DDR-Backup Power (default 0).
|
||||
This is a bitmask that specifies which DDR power
|
||||
rails need to be kept powered when backup mode is
|
||||
entered, for system suspend:
|
||||
- bit 0: DDR0
|
||||
- bit 1: DDR1
|
||||
- bit 2: DDR0C
|
||||
- bit 3: DDR1C
|
||||
These bits match the KEEPON_DDR* bits in the
|
||||
documentation for the "BKUP Mode Cnt" register.
|
||||
- rohm,rstbmode-level: The RSTB signal is configured for level mode, to
|
||||
accommodate a toggle power switch (the RSTBMODE pin is
|
||||
strapped low).
|
||||
- rohm,rstbmode-pulse: The RSTB signal is configured for pulse mode, to
|
||||
accommodate a momentary power switch (the RSTBMODE pin
|
||||
is strapped high).
|
||||
The two properties above are mutually exclusive.
|
||||
|
||||
Example:
|
||||
|
||||
pmic: pmic@30 {
|
||||
|
@ -36,6 +55,8 @@ Example:
|
|||
#interrupt-cells = <2>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
rohm,ddr-backup-power = <0xf>;
|
||||
rohm,rstbmode-pulse;
|
||||
|
||||
regulators {
|
||||
dvfs: dvfs {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
* Dialog DA9063 Power Management Integrated Circuit (PMIC)
|
||||
* Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)
|
||||
|
||||
DA9093 consists of a large and varied group of sub-devices (I2C Only):
|
||||
|
||||
|
@ -6,14 +6,14 @@ Device Supply Names Description
|
|||
------ ------------ -----------
|
||||
da9063-regulator : : LDOs & BUCKs
|
||||
da9063-onkey : : On Key
|
||||
da9063-rtc : : Real-Time Clock
|
||||
da9063-rtc : : Real-Time Clock (DA9063 only)
|
||||
da9063-watchdog : : Watchdog
|
||||
|
||||
======
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Should be "dlg,da9063"
|
||||
- compatible : Should be "dlg,da9063" or "dlg,da9063l"
|
||||
- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
|
||||
modified to match the chip's OTP settings).
|
||||
- interrupt-parent : Specifies the reference to the interrupt controller for
|
||||
|
@ -23,8 +23,8 @@ Required properties:
|
|||
|
||||
Sub-nodes:
|
||||
|
||||
- regulators : This node defines the settings for the LDOs and BUCKs. The
|
||||
DA9063 regulators are bound using their names listed below:
|
||||
- regulators : This node defines the settings for the LDOs and BUCKs.
|
||||
The DA9063(L) regulators are bound using their names listed below:
|
||||
|
||||
bcore1 : BUCK CORE1
|
||||
bcore2 : BUCK CORE2
|
||||
|
@ -32,16 +32,16 @@ Sub-nodes:
|
|||
bmem : BUCK MEM
|
||||
bio : BUCK IO
|
||||
bperi : BUCK PERI
|
||||
ldo1 : LDO_1
|
||||
ldo2 : LDO_2
|
||||
ldo1 : LDO_1 (DA9063 only)
|
||||
ldo2 : LDO_2 (DA9063 only)
|
||||
ldo3 : LDO_3
|
||||
ldo4 : LDO_4
|
||||
ldo5 : LDO_5
|
||||
ldo6 : LDO_6
|
||||
ldo4 : LDO_4 (DA9063 only)
|
||||
ldo5 : LDO_5 (DA9063 only)
|
||||
ldo6 : LDO_6 (DA9063 only)
|
||||
ldo7 : LDO_7
|
||||
ldo8 : LDO_8
|
||||
ldo9 : LDO_9
|
||||
ldo10 : LDO_10
|
||||
ldo10 : LDO_10 (DA9063 only)
|
||||
ldo11 : LDO_11
|
||||
|
||||
The component follows the standard regulator framework and the bindings
|
||||
|
@ -49,8 +49,9 @@ Sub-nodes:
|
|||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
- rtc : This node defines settings for the Real-Time Clock associated with
|
||||
the DA9063. There are currently no entries in this binding, however
|
||||
compatible = "dlg,da9063-rtc" should be added if a node is created.
|
||||
the DA9063 only. The RTC is not present in DA9063L. There are currently
|
||||
no entries in this binding, however compatible = "dlg,da9063-rtc" should
|
||||
be added if a node is created.
|
||||
|
||||
- onkey : This node defines the OnKey settings for controlling the key
|
||||
functionality of the device. The node should contain the compatible property
|
||||
|
@ -65,8 +66,9 @@ Sub-nodes:
|
|||
and KEY_SLEEP.
|
||||
|
||||
- watchdog : This node defines settings for the Watchdog timer associated
|
||||
with the DA9063. There are currently no entries in this binding, however
|
||||
compatible = "dlg,da9063-watchdog" should be added if a node is created.
|
||||
with the DA9063 and DA9063L. There are currently no entries in this
|
||||
binding, however compatible = "dlg,da9063-watchdog" should be added
|
||||
if a node is created.
|
||||
|
||||
|
||||
Example:
|
||||
|
|
|
@ -12,6 +12,30 @@ Required properties:
|
|||
- spi-max-frequency : Typically set to 3000000
|
||||
- spi-cs-high : SPI chip select direction
|
||||
|
||||
Optional subnodes:
|
||||
|
||||
The sub-functions of CPCAP get their own node with their own compatible values,
|
||||
which are described in the following files:
|
||||
|
||||
- ../power/supply/cpcap-battery.txt
|
||||
- ../power/supply/cpcap-charger.txt
|
||||
- ../regulator/cpcap-regulator.txt
|
||||
- ../phy/phy-cpcap-usb.txt
|
||||
- ../input/cpcap-pwrbutton.txt
|
||||
- ../rtc/cpcap-rtc.txt
|
||||
- ../leds/leds-cpcap.txt
|
||||
- ../iio/adc/cpcap-adc.txt
|
||||
|
||||
The only exception is the audio codec. Instead of a compatible value its
|
||||
node must be named "audio-codec".
|
||||
|
||||
Required properties for the audio-codec subnode:
|
||||
|
||||
- #sound-dai-cells = <1>;
|
||||
|
||||
The audio-codec provides two DAIs. The first one is connected to the
|
||||
Stereo HiFi DAC and the second one is connected to the Voice DAC.
|
||||
|
||||
Example:
|
||||
|
||||
&mcspi1 {
|
||||
|
@ -26,6 +50,24 @@ Example:
|
|||
#size-cells = <0>;
|
||||
spi-max-frequency = <3000000>;
|
||||
spi-cs-high;
|
||||
|
||||
audio-codec {
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
/* HiFi */
|
||||
port@0 {
|
||||
endpoint {
|
||||
remote-endpoint = <&cpu_dai1>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Voice */
|
||||
port@1 {
|
||||
endpoint {
|
||||
remote-endpoint = <&cpu_dai2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -7,11 +7,12 @@ MT6397/MT6323 is a multifunction device with the following sub modules:
|
|||
- GPIO
|
||||
- Clock
|
||||
- LED
|
||||
- Keys
|
||||
|
||||
It is interfaced to host controller using SPI interface by a proprietary hardware
|
||||
called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
|
||||
See the following for pwarp node definitions:
|
||||
Documentation/devicetree/bindings/soc/pwrap.txt
|
||||
Documentation/devicetree/bindings/soc/mediatek/pwrap.txt
|
||||
|
||||
This document describes the binding for MFD device and its sub module.
|
||||
|
||||
|
@ -40,6 +41,11 @@ Optional subnodes:
|
|||
- compatible: "mediatek,mt6323-led"
|
||||
see Documentation/devicetree/bindings/leds/leds-mt6323.txt
|
||||
|
||||
- keys
|
||||
Required properties:
|
||||
- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
|
||||
see Documentation/devicetree/bindings/input/mtk-pmic-keys.txt
|
||||
|
||||
Example:
|
||||
pwrap: pwrap@1000f000 {
|
||||
compatible = "mediatek,mt8135-pwrap";
|
||||
|
|
|
@ -29,6 +29,9 @@ Required properties:
|
|||
"qcom,pm8916",
|
||||
"qcom,pm8004",
|
||||
"qcom,pm8909",
|
||||
"qcom,pm8998",
|
||||
"qcom,pmi8998",
|
||||
"qcom,pm8005",
|
||||
or generalized "qcom,spmi-pmic".
|
||||
- reg: Specifies the SPMI USID slave address for this device.
|
||||
For more information see:
|
||||
|
|
|
@ -19,6 +19,11 @@ Required parameters:
|
|||
Optional parameters:
|
||||
- resets: Phandle to the parent reset controller.
|
||||
See ../reset/st,stm32-rcc.txt
|
||||
- dmas: List of phandle to dma channels that can be used for
|
||||
this timer instance. There may be up to 7 dma channels.
|
||||
- dma-names: List of dma names. Must match 'dmas' property. Valid
|
||||
names are: "ch1", "ch2", "ch3", "ch4", "up", "trig",
|
||||
"com".
|
||||
|
||||
Optional subnodes:
|
||||
- pwm: See ../pwm/pwm-stm32.txt
|
||||
|
@ -44,3 +49,18 @@ Example:
|
|||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
Example with all dmas:
|
||||
timer@40010000 {
|
||||
...
|
||||
dmas = <&dmamux1 11 0x400 0x0>,
|
||||
<&dmamux1 12 0x400 0x0>,
|
||||
<&dmamux1 13 0x400 0x0>,
|
||||
<&dmamux1 14 0x400 0x0>,
|
||||
<&dmamux1 15 0x400 0x0>,
|
||||
<&dmamux1 16 0x400 0x0>,
|
||||
<&dmamux1 17 0x400 0x0>;
|
||||
dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig", "com";
|
||||
...
|
||||
child nodes...
|
||||
};
|
||||
|
|
|
@ -8,8 +8,8 @@ Required properties:
|
|||
- reg: The PRCM registers range
|
||||
|
||||
The prcm node may contain several subdevices definitions:
|
||||
- see Documentation/devicetree/clk/sunxi.txt for clock devices
|
||||
- see Documentation/devicetree/reset/allwinner,sunxi-clock-reset.txt for reset
|
||||
- see Documentation/devicetree/bindings/clock/sunxi.txt for clock devices
|
||||
- see Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt for reset
|
||||
controller devices
|
||||
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ Required properties for a slot (Deprecated - Recommend to use one slot per host)
|
|||
rest of the gpios (depending on the bus-width property) are the data lines in
|
||||
no particular order. The format of the gpio specifier depends on the gpio
|
||||
controller.
|
||||
(Deprecated - Refer to Documentation/devicetree/binding/pinctrl/samsung-pinctrl.txt)
|
||||
(Deprecated - Refer to Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt)
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ Required properties:
|
|||
See: Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
- pinctrl-names: A pinctrl state names "default" must be defined.
|
||||
- pinctrl-0: Phandle referencing pin configuration of the SDHCI controller.
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Required properties:
|
|||
|
||||
- pinctrl-names: A pinctrl state names "default" must be defined.
|
||||
- pinctrl-0: Phandle referencing pin configuration of the sd/emmc controller.
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
|
||||
|
||||
- reg: This must provide the host controller base address and it can also
|
||||
contain the FlashSS Top register for TX/RX delay used by the driver
|
||||
|
|
|
@ -47,6 +47,11 @@ Optional properties:
|
|||
partitions written from Linux with this feature
|
||||
turned on may not be accessible by the BootROM
|
||||
code.
|
||||
- nand-ecc-strength: integer representing the number of bits to correct
|
||||
per ECC step. Needs to be a multiple of 2.
|
||||
- nand-ecc-step-size: integer representing the number of data bytes
|
||||
that are covered by a single ECC step. The driver
|
||||
supports 512 and 1024.
|
||||
|
||||
The device tree may optionally contain sub-nodes describing partitions of the
|
||||
address space. See partition.txt for more detail.
|
||||
|
|
|
@ -48,14 +48,19 @@ Optional:
|
|||
- nand-on-flash-bbt: Store BBT on NAND Flash.
|
||||
- nand-ecc-mode: the NAND ecc mode (check driver for supported modes)
|
||||
- nand-ecc-step-size: Number of data bytes covered by a single ECC step.
|
||||
valid values: 512 and 1024.
|
||||
valid values:
|
||||
512 and 1024 on mt2701 and mt2712.
|
||||
512 only on mt7622.
|
||||
1024 is recommended for large page NANDs.
|
||||
- nand-ecc-strength: Number of bits to correct per ECC step.
|
||||
The valid values that the controller supports are: 4, 6,
|
||||
8, 10, 12, 14, 16, 18, 20, 22, 24, 28, 32, 36, 40, 44,
|
||||
48, 52, 56, 60.
|
||||
The valid values that each controller supports:
|
||||
mt2701: 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 28,
|
||||
32, 36, 40, 44, 48, 52, 56, 60.
|
||||
mt2712: 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 28,
|
||||
32, 36, 40, 44, 48, 52, 56, 60, 68, 72, 80.
|
||||
mt7622: 4, 6, 8, 10, 12, 14, 16.
|
||||
The strength should be calculated as follows:
|
||||
E = (S - F) * 8 / 14
|
||||
E = (S - F) * 8 / B
|
||||
S = O / (P / Q)
|
||||
E : nand-ecc-strength.
|
||||
S : spare size per sector.
|
||||
|
@ -64,6 +69,15 @@ Optional:
|
|||
O : oob size.
|
||||
P : page size.
|
||||
Q : nand-ecc-step-size.
|
||||
B : number of parity bits needed to correct
|
||||
1 bitflip.
|
||||
According to MTK NAND controller design,
|
||||
this number depends on max ecc step size
|
||||
that MTK NAND controller supports.
|
||||
If max ecc step size supported is 1024,
|
||||
then it should be always 14. And if max
|
||||
ecc step size is 512, then it should be
|
||||
always 13.
|
||||
If the result does not match any one of the listed
|
||||
choices above, please select the smaller valid value from
|
||||
the list.
|
||||
|
|
|
@ -14,7 +14,7 @@ method is used for a given flash device. To describe the method there should be
|
|||
a subnode of the flash device that is named 'partitions'. It must have a
|
||||
'compatible' property, which is used to identify the method to use.
|
||||
|
||||
We currently only document a binding for fixed layouts.
|
||||
Available bindings are listed in the "partitions" subdirectory.
|
||||
|
||||
|
||||
Fixed Partitions
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
Broadcom BCM47xx Partitions
|
||||
===========================
|
||||
|
||||
Broadcom is one of hardware manufacturers providing SoCs (BCM47xx) used in
|
||||
home routers. Their BCM947xx boards using CFE bootloader have several partitions
|
||||
without any on-flash partition table. On some devices their sizes and/or
|
||||
meanings can also vary so fixed partitioning can't be used.
|
||||
|
||||
Discovering partitions on these devices is possible thanks to having a special
|
||||
header and/or magic signature at the beginning of each of them. They are also
|
||||
block aligned which is important for determinig a size.
|
||||
|
||||
Most of partitions use ASCII text based magic for determining a type. More
|
||||
complex partitions (like TRX with its HDR0 magic) may include extra header
|
||||
containing some details, including a length.
|
||||
|
||||
A list of supported partitions includes:
|
||||
1) Bootloader with Broadcom's CFE (Common Firmware Environment)
|
||||
2) NVRAM with configuration/calibration data
|
||||
3) Device manufacturer's data with some default values (e.g. SSIDs)
|
||||
4) TRX firmware container which can hold up to 4 subpartitions
|
||||
5) Backup TRX firmware used after failed upgrade
|
||||
|
||||
As mentioned earlier, role of some partitions may depend on extra configuration.
|
||||
For example both: main firmware and backup firmware use the same TRX format with
|
||||
the same header. To distinguish currently used firmware a CFE's environment
|
||||
variable "bootpartition" is used.
|
||||
|
||||
|
||||
Devices using Broadcom partitions described above should should have flash node
|
||||
with a subnode named "partitions" using following properties:
|
||||
|
||||
Required properties:
|
||||
- compatible : (required) must be "brcm,bcm947xx-cfe-partitions"
|
||||
|
||||
Example:
|
||||
|
||||
flash@0 {
|
||||
partitions {
|
||||
compatible = "brcm,bcm947xx-cfe-partitions";
|
||||
};
|
||||
};
|
|
@ -22,8 +22,6 @@ Optional properties:
|
|||
- reset : phandle + reset specifier pair
|
||||
- reset-names : must contain "ahb"
|
||||
- allwinner,rb : shall contain the native Ready/Busy ids.
|
||||
or
|
||||
- rb-gpios : shall contain the gpios used as R/B pins.
|
||||
- nand-ecc-mode : one of the supported ECC modes ("hw", "soft", "soft_bch" or
|
||||
"none")
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Required properties:
|
|||
- compatible: For external switch chips, compatible string must be exactly one
|
||||
of: "microchip,ksz9477"
|
||||
|
||||
See Documentation/devicetree/bindings/dsa/dsa.txt for a list of additional
|
||||
See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
|
||||
required and optional properties.
|
||||
|
||||
Examples:
|
||||
|
|
|
@ -31,7 +31,7 @@ Required properties for the child nodes within ports container:
|
|||
- phy-mode: String, must be either "trgmii" or "rgmii" for port labeled
|
||||
"cpu".
|
||||
|
||||
See Documentation/devicetree/bindings/dsa/dsa.txt for a list of additional
|
||||
See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
|
||||
required, optional properties and how the integrated switch subnodes must
|
||||
be specified.
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ Required properties:
|
|||
- compatible: Should be one of the following:
|
||||
"allwinner,sun4i-a10-sid"
|
||||
"allwinner,sun7i-a20-sid"
|
||||
"allwinner,sun8i-a83t-sid"
|
||||
"allwinner,sun8i-h3-sid"
|
||||
"allwinner,sun50i-a64-sid"
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Optional properties:
|
|||
Data cells:
|
||||
|
||||
Data cells are child nodes of eerpom node, bindings for which are
|
||||
documented in Documentation/bindings/nvmem/nvmem.txt
|
||||
documented in Documentation/devicetree/bindings/nvmem/nvmem.txt
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ HiSilicon Hip05 and Hip06 PCIe host bridge DT description
|
|||
HiSilicon PCIe host controller is based on the Synopsys DesignWare PCI core.
|
||||
It shares common functions with the PCIe DesignWare core driver and inherits
|
||||
common properties defined in
|
||||
Documentation/devicetree/bindings/pci/designware-pci.txt.
|
||||
Documentation/devicetree/bindings/pci/designware-pcie.txt.
|
||||
|
||||
Additional properties are described here:
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ HiSilicon Kirin SoCs PCIe host DT description
|
|||
Kirin PCIe host controller is based on the Synopsys DesignWare PCI core.
|
||||
It shares common functions with the PCIe DesignWare core driver and
|
||||
inherits common properties defined in
|
||||
Documentation/devicetree/bindings/pci/designware-pci.txt.
|
||||
Documentation/devicetree/bindings/pci/designware-pcie.txt.
|
||||
|
||||
Additional properties are described here:
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@ TI Keystone PCIe interface
|
|||
Keystone PCI host Controller is based on the Synopsys DesignWare PCI
|
||||
hardware version 3.65. It shares common functions with the PCIe DesignWare
|
||||
core driver and inherits common properties defined in
|
||||
Documentation/devicetree/bindings/pci/designware-pci.txt
|
||||
Documentation/devicetree/bindings/pci/designware-pcie.txt
|
||||
|
||||
Please refer to Documentation/devicetree/bindings/pci/designware-pci.txt
|
||||
Please refer to Documentation/devicetree/bindings/pci/designware-pcie.txt
|
||||
for the details of DesignWare DT bindings. Additional properties are
|
||||
described here as well as properties that are not applicable.
|
||||
|
||||
|
|
|
@ -11,9 +11,9 @@ Optional Pinmux properties:
|
|||
--------------------------
|
||||
Following properties are required if default setting of pins are required
|
||||
at boot.
|
||||
- pinctrl-names: A pinctrl state named per <pinctrl-binding.txt>.
|
||||
- pinctrl-names: A pinctrl state named per <pinctrl-bindings.txt>.
|
||||
- pinctrl[0...n]: Properties to contain the phandle for pinctrl states per
|
||||
<pinctrl-binding.txt>.
|
||||
<pinctrl-bindings.txt>.
|
||||
|
||||
The pin configurations are defined as child of the pinctrl states node. Each
|
||||
sub-node have following properties:
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue