Merge branch 'linus' into perf/core, to refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -62,7 +62,7 @@ Module.symvers
|
|||||||
/tar-install/
|
/tar-install/
|
||||||
|
|
||||||
#
|
#
|
||||||
# git files that we don't want to ignore even it they are dot-files
|
# git files that we don't want to ignore even if they are dot-files
|
||||||
#
|
#
|
||||||
!.gitignore
|
!.gitignore
|
||||||
!.mailmap
|
!.mailmap
|
||||||
|
1
CREDITS
1
CREDITS
@@ -768,6 +768,7 @@ D: Z85230 driver
|
|||||||
D: Former security contact point (please use vendor-sec@lst.de)
|
D: Former security contact point (please use vendor-sec@lst.de)
|
||||||
D: ex 2.2 maintainer
|
D: ex 2.2 maintainer
|
||||||
D: 2.1.x modular sound
|
D: 2.1.x modular sound
|
||||||
|
D: Assigned major/minor numbers maintainer at lanana.org
|
||||||
S: c/o Red Hat UK Ltd
|
S: c/o Red Hat UK Ltd
|
||||||
S: Alexandra House
|
S: Alexandra House
|
||||||
S: Alexandra Terrace
|
S: Alexandra Terrace
|
||||||
|
@@ -3,9 +3,10 @@ Date: Mai 2012
|
|||||||
Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
|
Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
|
||||||
Description: The mouse can store 5 profiles which can be switched by the
|
Description: The mouse can store 5 profiles which can be switched by the
|
||||||
press of a button. A profile is split into general settings and
|
press of a button. A profile is split into general settings and
|
||||||
button settings. buttons holds informations about button layout.
|
button settings. The buttons variable holds information about
|
||||||
When written, this file lets one write the respective profile
|
button layout. When written, this file lets one write the
|
||||||
buttons to the mouse. The data has to be 47 bytes long.
|
respective profile buttons to the mouse. The data has to be
|
||||||
|
47 bytes long.
|
||||||
The mouse will reject invalid data.
|
The mouse will reject invalid data.
|
||||||
Which profile to write is determined by the profile number
|
Which profile to write is determined by the profile number
|
||||||
contained in the data.
|
contained in the data.
|
||||||
@@ -26,8 +27,8 @@ Date: Mai 2012
|
|||||||
Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
|
Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
|
||||||
Description: The mouse can store 5 profiles which can be switched by the
|
Description: The mouse can store 5 profiles which can be switched by the
|
||||||
press of a button. A profile is split into general settings and
|
press of a button. A profile is split into general settings and
|
||||||
button settings. profile holds informations like resolution, sensitivity
|
button settings. A profile holds information like resolution,
|
||||||
and light effects.
|
sensitivity and light effects.
|
||||||
When written, this file lets one write the respective profile
|
When written, this file lets one write the respective profile
|
||||||
settings back to the mouse. The data has to be 43 bytes long.
|
settings back to the mouse. The data has to be 43 bytes long.
|
||||||
The mouse will reject invalid data.
|
The mouse will reject invalid data.
|
||||||
|
@@ -107,6 +107,15 @@ Contact: Artem Bityutskiy <dedekind@infradead.org>
|
|||||||
Description:
|
Description:
|
||||||
Number of physical eraseblocks reserved for bad block handling.
|
Number of physical eraseblocks reserved for bad block handling.
|
||||||
|
|
||||||
|
What: /sys/class/ubi/ubiX/ro_mode
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: linux-mtd@lists.infradead.org
|
||||||
|
Description:
|
||||||
|
Contains ASCII "1\n" if the read-only flag is set on this
|
||||||
|
device, and "0\n" if it is cleared. UBI devices mark themselves
|
||||||
|
as read-only when they detect an unrecoverable error.
|
||||||
|
|
||||||
What: /sys/class/ubi/ubiX/total_eraseblocks
|
What: /sys/class/ubi/ubiX/total_eraseblocks
|
||||||
Date: July 2006
|
Date: July 2006
|
||||||
KernelVersion: 2.6.22
|
KernelVersion: 2.6.22
|
||||||
|
@@ -166,3 +166,12 @@ Description:
|
|||||||
The mm_stat file is read-only and represents device's mm
|
The mm_stat file is read-only and represents device's mm
|
||||||
statistics (orig_data_size, compr_data_size, etc.) in a format
|
statistics (orig_data_size, compr_data_size, etc.) in a format
|
||||||
similar to block layer statistics file format.
|
similar to block layer statistics file format.
|
||||||
|
|
||||||
|
What: /sys/block/zram<id>/debug_stat
|
||||||
|
Date: July 2016
|
||||||
|
Contact: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
|
||||||
|
Description:
|
||||||
|
The debug_stat file is read-only and represents various
|
||||||
|
device's debugging info useful for kernel developers. Its
|
||||||
|
format is not documented intentionally and may change
|
||||||
|
anytime without any notice.
|
||||||
|
@@ -6,13 +6,6 @@ Description: (RW) Add/remove a sink from a trace path. There can be multiple
|
|||||||
source for a single sink.
|
source for a single sink.
|
||||||
ex: echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink
|
ex: echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink
|
||||||
|
|
||||||
What: /sys/bus/coresight/devices/<memory_map>.etb/status
|
|
||||||
Date: November 2014
|
|
||||||
KernelVersion: 3.19
|
|
||||||
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
||||||
Description: (R) List various control and status registers. The specific
|
|
||||||
layout and content is driver specific.
|
|
||||||
|
|
||||||
What: /sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr
|
What: /sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr
|
||||||
Date: November 2014
|
Date: November 2014
|
||||||
KernelVersion: 3.19
|
KernelVersion: 3.19
|
||||||
@@ -22,3 +15,65 @@ Description: (RW) Disables write access to the Trace RAM by stopping the
|
|||||||
following the trigger event. The number of 32-bit words written
|
following the trigger event. The number of 32-bit words written
|
||||||
into the Trace RAM following the trigger event is equal to the
|
into the Trace RAM following the trigger event is equal to the
|
||||||
value stored in this register+1 (from ARM ETB-TRM).
|
value stored in this register+1 (from ARM ETB-TRM).
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rdp
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Defines the depth, in words, of the trace RAM in powers of
|
||||||
|
2. The value is read directly from HW register RDP, 0x004.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/sts
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the ETB status register. The value
|
||||||
|
is read directly from HW register STS, 0x00C.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rrp
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the ETB RAM Read Pointer register
|
||||||
|
that is used to read entries from the Trace RAM over the APB
|
||||||
|
interface. The value is read directly from HW register RRP,
|
||||||
|
0x014.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rwp
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the ETB RAM Write Pointer register
|
||||||
|
that is used to sets the write pointer to write entries from
|
||||||
|
the CoreSight bus into the Trace RAM. The value is read directly
|
||||||
|
from HW register RWP, 0x018.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/trg
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Similar to "trigger_cntr" above except that this value is
|
||||||
|
read directly from HW register TRG, 0x01C.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ctl
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the ETB Control register. The value
|
||||||
|
is read directly from HW register CTL, 0x020.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffsr
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the ETB Formatter and Flush Status
|
||||||
|
register. The value is read directly from HW register FFSR,
|
||||||
|
0x300.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffcr
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the ETB Formatter and Flush Control
|
||||||
|
register. The value is read directly from HW register FFCR,
|
||||||
|
0x304.
|
||||||
|
@@ -359,6 +359,19 @@ Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
|||||||
Description: (R) Print the content of the Peripheral ID3 Register
|
Description: (R) Print the content of the Peripheral ID3 Register
|
||||||
(0xFEC). The value is taken directly from the HW.
|
(0xFEC). The value is taken directly from the HW.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcconfig
|
||||||
|
Date: February 2016
|
||||||
|
KernelVersion: 4.07
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Print the content of the trace configuration register
|
||||||
|
(0x010) as currently set by SW.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.etm/mgmt/trctraceid
|
||||||
|
Date: February 2016
|
||||||
|
KernelVersion: 4.07
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Print the content of the trace ID register (0x040).
|
||||||
|
|
||||||
What: /sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr0
|
What: /sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr0
|
||||||
Date: April 2015
|
Date: April 2015
|
||||||
KernelVersion: 4.01
|
KernelVersion: 4.01
|
||||||
|
53
Documentation/ABI/testing/sysfs-bus-coresight-devices-stm
Normal file
53
Documentation/ABI/testing/sysfs-bus-coresight-devices-stm
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/enable_source
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (RW) Enable/disable tracing on this specific trace macrocell.
|
||||||
|
Enabling the trace macrocell implies it has been configured
|
||||||
|
properly and a sink has been identified for it. The path
|
||||||
|
of coresight components linking the source to the sink is
|
||||||
|
configured and managed automatically by the coresight framework.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/hwevent_enable
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (RW) Provides access to the HW event enable register, used in
|
||||||
|
conjunction with HW event bank select register.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/hwevent_select
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (RW) Gives access to the HW event block select register
|
||||||
|
(STMHEBSR) in order to configure up to 256 channels. Used in
|
||||||
|
conjunction with "hwevent_enable" register as described above.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/port_enable
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (RW) Provides access to the stimulus port enable register
|
||||||
|
(STMSPER). Used in conjunction with "port_select" described
|
||||||
|
below.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/port_select
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (RW) Used to determine which bank of stimulus port bit in
|
||||||
|
register STMSPER (see above) apply to.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/status
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) List various control and status registers. The specific
|
||||||
|
layout and content is driver specific.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.stm/traceid
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (RW) Holds the trace ID that will appear in the trace stream
|
||||||
|
coming from this trace entity.
|
@@ -6,3 +6,80 @@ Description: (RW) Disables write access to the Trace RAM by stopping the
|
|||||||
formatter after a defined number of words have been stored
|
formatter after a defined number of words have been stored
|
||||||
following the trigger event. Additional interface for this
|
following the trigger event. Additional interface for this
|
||||||
driver are expected to be added as it matures.
|
driver are expected to be added as it matures.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rsz
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Defines the size, in 32-bit words, of the local RAM buffer.
|
||||||
|
The value is read directly from HW register RSZ, 0x004.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/sts
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC status register. The value
|
||||||
|
is read directly from HW register STS, 0x00C.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rrp
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC RAM Read Pointer register
|
||||||
|
that is used to read entries from the Trace RAM over the APB
|
||||||
|
interface. The value is read directly from HW register RRP,
|
||||||
|
0x014.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rwp
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC RAM Write Pointer register
|
||||||
|
that is used to sets the write pointer to write entries from
|
||||||
|
the CoreSight bus into the Trace RAM. The value is read directly
|
||||||
|
from HW register RWP, 0x018.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/trg
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Similar to "trigger_cntr" above except that this value is
|
||||||
|
read directly from HW register TRG, 0x01C.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ctl
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC Control register. The value
|
||||||
|
is read directly from HW register CTL, 0x020.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffsr
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC Formatter and Flush Status
|
||||||
|
register. The value is read directly from HW register FFSR,
|
||||||
|
0x300.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffcr
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC Formatter and Flush Control
|
||||||
|
register. The value is read directly from HW register FFCR,
|
||||||
|
0x304.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/mode
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Shows the value held by the TMC Mode register, which
|
||||||
|
indicate the mode the device has been configured to enact. The
|
||||||
|
The value is read directly from the MODE register, 0x028.
|
||||||
|
|
||||||
|
What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/devid
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
|
Description: (R) Indicates the capabilities of the Coresight TMC.
|
||||||
|
The value is read directly from the DEVID register, 0xFC8,
|
||||||
|
@@ -4,7 +4,7 @@ Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
|
|||||||
Description:
|
Description:
|
||||||
Provides access to the binary "24x7 catalog" provided by the
|
Provides access to the binary "24x7 catalog" provided by the
|
||||||
hypervisor on POWER7 and 8 systems. This catalog lists events
|
hypervisor on POWER7 and 8 systems. This catalog lists events
|
||||||
avaliable from the powerpc "hv_24x7" pmu. Its format is
|
available from the powerpc "hv_24x7" pmu. Its format is
|
||||||
documented here:
|
documented here:
|
||||||
https://raw.githubusercontent.com/jmesmon/catalog-24x7/master/hv-24x7-catalog.h
|
https://raw.githubusercontent.com/jmesmon/catalog-24x7/master/hv-24x7-catalog.h
|
||||||
|
|
||||||
|
@@ -1233,7 +1233,7 @@ KernelVersion: 3.4
|
|||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Proximity measurement indicating that some
|
Proximity measurement indicating that some
|
||||||
object is near the sensor, usually be observing
|
object is near the sensor, usually by observing
|
||||||
reflectivity of infrared or ultrasound emitted.
|
reflectivity of infrared or ultrasound emitted.
|
||||||
Often these sensors are unit less and as such conversion
|
Often these sensors are unit less and as such conversion
|
||||||
to SI units is not possible. Higher proximity measurements
|
to SI units is not possible. Higher proximity measurements
|
||||||
@@ -1255,12 +1255,23 @@ Description:
|
|||||||
What: /sys/.../iio:deviceX/in_intensityY_raw
|
What: /sys/.../iio:deviceX/in_intensityY_raw
|
||||||
What: /sys/.../iio:deviceX/in_intensityY_ir_raw
|
What: /sys/.../iio:deviceX/in_intensityY_ir_raw
|
||||||
What: /sys/.../iio:deviceX/in_intensityY_both_raw
|
What: /sys/.../iio:deviceX/in_intensityY_both_raw
|
||||||
|
What: /sys/.../iio:deviceX/in_intensityY_uv_raw
|
||||||
KernelVersion: 3.4
|
KernelVersion: 3.4
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Unit-less light intensity. Modifiers both and ir indicate
|
Unit-less light intensity. Modifiers both and ir indicate
|
||||||
that measurements contains visible and infrared light
|
that measurements contains visible and infrared light
|
||||||
components or just infrared light, respectively.
|
components or just infrared light, respectively. Modifier uv indicates
|
||||||
|
that measurements contain ultraviolet light components.
|
||||||
|
|
||||||
|
What: /sys/.../iio:deviceX/in_uvindex_input
|
||||||
|
KernelVersion: 4.6
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
UV light intensity index measuring the human skin's response to
|
||||||
|
different wavelength of sunlight weighted according to the
|
||||||
|
standardised CIE Erythemal Action Spectrum. UV index values range
|
||||||
|
from 0 (low) to >=11 (extreme).
|
||||||
|
|
||||||
What: /sys/.../iio:deviceX/in_intensity_red_integration_time
|
What: /sys/.../iio:deviceX/in_intensity_red_integration_time
|
||||||
What: /sys/.../iio:deviceX/in_intensity_green_integration_time
|
What: /sys/.../iio:deviceX/in_intensity_green_integration_time
|
||||||
@@ -1501,3 +1512,56 @@ Contact: linux-iio@vger.kernel.org
|
|||||||
Description:
|
Description:
|
||||||
Raw (unscaled no offset etc.) pH reading of a substance as a negative
|
Raw (unscaled no offset etc.) pH reading of a substance as a negative
|
||||||
base-10 logarithm of hydrodium ions in a litre of water.
|
base-10 logarithm of hydrodium ions in a litre of water.
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/mount_matrix
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_mount_matrix
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/out_mount_matrix
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_mount_matrix
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_accel_mount_matrix
|
||||||
|
KernelVersion: 4.6
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Mounting matrix for IIO sensors. This is a rotation matrix which
|
||||||
|
informs userspace about sensor chip's placement relative to the
|
||||||
|
main hardware it is mounted on.
|
||||||
|
Main hardware placement is defined according to the local
|
||||||
|
reference frame related to the physical quantity the sensor
|
||||||
|
measures.
|
||||||
|
Given that the rotation matrix is defined in a board specific
|
||||||
|
way (platform data and / or device-tree), the main hardware
|
||||||
|
reference frame definition is left to the implementor's choice
|
||||||
|
(see below for a magnetometer example).
|
||||||
|
Applications should apply this rotation matrix to samples so
|
||||||
|
that when main hardware reference frame is aligned onto local
|
||||||
|
reference frame, then sensor chip reference frame is also
|
||||||
|
perfectly aligned with it.
|
||||||
|
Matrix is a 3x3 unitary matrix and typically looks like
|
||||||
|
[0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix
|
||||||
|
[1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware
|
||||||
|
are perfectly aligned with each other.
|
||||||
|
|
||||||
|
For example, a mounting matrix for a magnetometer sensor informs
|
||||||
|
userspace about sensor chip's ORIENTATION relative to the main
|
||||||
|
hardware.
|
||||||
|
More specifically, main hardware orientation is defined with
|
||||||
|
respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where :
|
||||||
|
* Y is in the ground plane and positive towards magnetic North ;
|
||||||
|
* X is in the ground plane, perpendicular to the North axis and
|
||||||
|
positive towards the East ;
|
||||||
|
* Z is perpendicular to the ground plane and positive upwards.
|
||||||
|
|
||||||
|
An implementor might consider that for a hand-held device, a
|
||||||
|
'natural' orientation would be 'front facing camera at the top'.
|
||||||
|
The main hardware reference frame could then be described as :
|
||||||
|
* Y is in the plane of the screen and is positive towards the
|
||||||
|
top of the screen ;
|
||||||
|
* X is in the plane of the screen, perpendicular to Y axis, and
|
||||||
|
positive towards the right hand side of the screen ;
|
||||||
|
* Z is perpendicular to the screen plane and positive out of the
|
||||||
|
screen.
|
||||||
|
Another example for a quadrotor UAV might be :
|
||||||
|
* Y is in the plane of the propellers and positive towards the
|
||||||
|
front-view camera;
|
||||||
|
* X is in the plane of the propellers, perpendicular to Y axis,
|
||||||
|
and positive towards the starboard side of the UAV ;
|
||||||
|
* Z is perpendicular to propellers plane and positive upwards.
|
||||||
|
29
Documentation/ABI/testing/sysfs-bus-mcb
Normal file
29
Documentation/ABI/testing/sysfs-bus-mcb
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
What: /sys/bus/mcb/devices/mcb:X
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Johannes Thumshirn <jth@kernel.org>
|
||||||
|
Description: Hardware chip or device hosting the MEN chameleon bus
|
||||||
|
|
||||||
|
What: /sys/bus/mcb/devices/mcb:X/revision
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Johannes Thumshirn <jth@kernel.org>
|
||||||
|
Description: The FPGA's revision number
|
||||||
|
|
||||||
|
What: /sys/bus/mcb/devices/mcb:X/minor
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Johannes Thumshirn <jth@kernel.org>
|
||||||
|
Description: The FPGA's minor number
|
||||||
|
|
||||||
|
What: /sys/bus/mcb/devices/mcb:X/model
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Johannes Thumshirn <jth@kernel.org>
|
||||||
|
Description: The FPGA's model number
|
||||||
|
|
||||||
|
What: /sys/bus/mcb/devices/mcb:X/name
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Johannes Thumshirn <jth@kernel.org>
|
||||||
|
Description: The FPGA's name
|
@@ -233,3 +233,11 @@ Description: read/write
|
|||||||
0 = don't trust, the image may be different (default)
|
0 = don't trust, the image may be different (default)
|
||||||
1 = trust that the image will not change.
|
1 = trust that the image will not change.
|
||||||
Users: https://github.com/ibm-capi/libcxl
|
Users: https://github.com/ibm-capi/libcxl
|
||||||
|
|
||||||
|
What: /sys/class/cxl/<card>/psl_timebase_synced
|
||||||
|
Date: March 2016
|
||||||
|
Contact: linuxppc-dev@lists.ozlabs.org
|
||||||
|
Description: read only
|
||||||
|
Returns 1 if the psl timebase register is synchronized
|
||||||
|
with the core timebase register, 0 otherwise.
|
||||||
|
Users: https://github.com/ibm-capi/libcxl
|
||||||
|
@@ -12,3 +12,13 @@ KernelVersion: 4.3
|
|||||||
Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com>
|
Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com>
|
||||||
Description:
|
Description:
|
||||||
Shows the number of channels per master on this STM device.
|
Shows the number of channels per master on this STM device.
|
||||||
|
|
||||||
|
What: /sys/class/stm/<stm>/hw_override
|
||||||
|
Date: March 2016
|
||||||
|
KernelVersion: 4.7
|
||||||
|
Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
Reads as 0 if master numbers in the STP stream produced by
|
||||||
|
this stm device will match the master numbers assigned by
|
||||||
|
the software or 1 if the stm hardware overrides software
|
||||||
|
assigned masters.
|
||||||
|
@@ -39,5 +39,5 @@ Description: Make it possible to adjust defio refresh rate.
|
|||||||
Note: As device can barely do 2 complete refreshes a second
|
Note: As device can barely do 2 complete refreshes a second
|
||||||
it only makes sense to adjust this value if only one or two
|
it only makes sense to adjust this value if only one or two
|
||||||
tiles get changed and it's not appropriate to expect the application
|
tiles get changed and it's not appropriate to expect the application
|
||||||
to flush it's tiny changes explicitely at higher than default rate.
|
to flush its tiny changes explicitly at higher than default rate.
|
||||||
|
|
||||||
|
@@ -169,7 +169,7 @@ Description:
|
|||||||
to enable/disable/clear ACPI interrupts in user space, which can be
|
to enable/disable/clear ACPI interrupts in user space, which can be
|
||||||
used to debug some ACPI interrupt storm issues.
|
used to debug some ACPI interrupt storm issues.
|
||||||
|
|
||||||
Note that only writting to VALID GPE/Fixed Event is allowed,
|
Note that only writing to VALID GPE/Fixed Event is allowed,
|
||||||
i.e. user can only change the status of runtime GPE and
|
i.e. user can only change the status of runtime GPE and
|
||||||
Fixed Event with event handler installed.
|
Fixed Event with event handler installed.
|
||||||
|
|
||||||
|
@@ -21,3 +21,13 @@ Contact: Konrad Rzeszutek <ketuzsezr@darnok.org>
|
|||||||
Description: The /sys/firmware/ibft/ethernetX directory will contain
|
Description: The /sys/firmware/ibft/ethernetX directory will contain
|
||||||
files that expose the iSCSI Boot Firmware Table NIC data.
|
files that expose the iSCSI Boot Firmware Table NIC data.
|
||||||
Usually this contains the IP address, MAC, and gateway of the NIC.
|
Usually this contains the IP address, MAC, and gateway of the NIC.
|
||||||
|
|
||||||
|
What: /sys/firmware/ibft/acpi_header
|
||||||
|
Date: March 2016
|
||||||
|
Contact: David Bond <dbond@suse.com>
|
||||||
|
Description: The /sys/firmware/ibft/acpi_header directory will contain files
|
||||||
|
that expose the SIGNATURE, OEM_ID, and OEM_TABLE_ID fields of the
|
||||||
|
acpi table header of the iBFT structure. This will allow for
|
||||||
|
identification of the creator of the table which is useful in
|
||||||
|
determining quirks associated with some adapters when used in
|
||||||
|
hardware vs software iscsi initiator mode.
|
||||||
|
9
Documentation/ABI/testing/sysfs-platform-hidma
Normal file
9
Documentation/ABI/testing/sysfs-platform-hidma
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
What: /sys/devices/platform/hidma-*/chid
|
||||||
|
/sys/devices/platform/QCOM8061:*/chid
|
||||||
|
Date: Dec 2015
|
||||||
|
KernelVersion: 4.4
|
||||||
|
Contact: "Sinan Kaya <okaya@cudeaurora.org>"
|
||||||
|
Description:
|
||||||
|
Contains the ID of the channel within the HIDMA instance.
|
||||||
|
It is used to associate a given HIDMA channel with the
|
||||||
|
priority and weight calls in the management interface.
|
35
Documentation/ABI/testing/sysfs-platform-usbip-vudc
Normal file
35
Documentation/ABI/testing/sysfs-platform-usbip-vudc
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
What: /sys/devices/platform/usbip-vudc.%d/dev_desc
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.6
|
||||||
|
Contact: Krzysztof Opasiak <k.opasiak@samsung.com>
|
||||||
|
Description:
|
||||||
|
This file allows to read device descriptor of
|
||||||
|
gadget driver which is currently bound to this
|
||||||
|
controller. It is possible to read this file
|
||||||
|
only if gadget driver is bound, otherwise error
|
||||||
|
is returned.
|
||||||
|
|
||||||
|
What: /sys/devices/platform/usbip-vudc.%d/usbip_status
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.6
|
||||||
|
Contact: Krzysztof Opasiak <k.opasiak@samsung.com>
|
||||||
|
Description:
|
||||||
|
Current status of the device.
|
||||||
|
Allowed values:
|
||||||
|
1 - Device is available and can be exported
|
||||||
|
2 - Device is currently exported
|
||||||
|
3 - Fatal error occurred during communication
|
||||||
|
with peer
|
||||||
|
|
||||||
|
What: /sys/devices/platform/usbip-vudc.%d/usbip_sockfd
|
||||||
|
Date: April 2016
|
||||||
|
KernelVersion: 4.6
|
||||||
|
Contact: Krzysztof Opasiak <k.opasiak@samsung.com>
|
||||||
|
Description:
|
||||||
|
This file allows to export usb device to
|
||||||
|
connection peer. It is done by writing to this
|
||||||
|
file socket fd (as a string for example "8")
|
||||||
|
associated with a connection to remote peer who
|
||||||
|
would like to use this device. It is possible to
|
||||||
|
close the connection by writing -1 instead of
|
||||||
|
socked fd.
|
@@ -75,7 +75,6 @@
|
|||||||
<chapter>
|
<chapter>
|
||||||
<title>Device registration</title>
|
<title>Device registration</title>
|
||||||
!Pinclude/net/cfg80211.h Device registration
|
!Pinclude/net/cfg80211.h Device registration
|
||||||
!Finclude/net/cfg80211.h ieee80211_band
|
|
||||||
!Finclude/net/cfg80211.h ieee80211_channel_flags
|
!Finclude/net/cfg80211.h ieee80211_channel_flags
|
||||||
!Finclude/net/cfg80211.h ieee80211_channel
|
!Finclude/net/cfg80211.h ieee80211_channel
|
||||||
!Finclude/net/cfg80211.h ieee80211_rate_flags
|
!Finclude/net/cfg80211.h ieee80211_rate_flags
|
||||||
@@ -136,6 +135,7 @@
|
|||||||
!Finclude/net/cfg80211.h cfg80211_tx_mlme_mgmt
|
!Finclude/net/cfg80211.h cfg80211_tx_mlme_mgmt
|
||||||
!Finclude/net/cfg80211.h cfg80211_ibss_joined
|
!Finclude/net/cfg80211.h cfg80211_ibss_joined
|
||||||
!Finclude/net/cfg80211.h cfg80211_connect_result
|
!Finclude/net/cfg80211.h cfg80211_connect_result
|
||||||
|
!Finclude/net/cfg80211.h cfg80211_connect_bss
|
||||||
!Finclude/net/cfg80211.h cfg80211_roamed
|
!Finclude/net/cfg80211.h cfg80211_roamed
|
||||||
!Finclude/net/cfg80211.h cfg80211_disconnected
|
!Finclude/net/cfg80211.h cfg80211_disconnected
|
||||||
!Finclude/net/cfg80211.h cfg80211_ready_on_channel
|
!Finclude/net/cfg80211.h cfg80211_ready_on_channel
|
||||||
|
@@ -1936,9 +1936,9 @@ static int test_skcipher(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
req = skcipher_request_alloc(skcipher, GFP_KERNEL);
|
req = skcipher_request_alloc(skcipher, GFP_KERNEL);
|
||||||
if (IS_ERR(req)) {
|
if (!req) {
|
||||||
pr_info("could not allocate request queue\n");
|
pr_info("could not allocate skcipher request\n");
|
||||||
ret = PTR_ERR(req);
|
ret = -ENOMEM;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -316,8 +316,8 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The function returns 1 when the fixup was successful,
|
The function returns true when the fixup was successful,
|
||||||
otherwise 0. The return value is used to update the
|
otherwise false. The return value is used to update the
|
||||||
statistics.
|
statistics.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@@ -341,8 +341,8 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The function returns 1 when the fixup was successful,
|
The function returns true when the fixup was successful,
|
||||||
otherwise 0. The return value is used to update the
|
otherwise false. The return value is used to update the
|
||||||
statistics.
|
statistics.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@@ -359,7 +359,8 @@
|
|||||||
statically initialized object or not. In case it is it calls
|
statically initialized object or not. In case it is it calls
|
||||||
debug_object_init() and debug_object_activate() to make the
|
debug_object_init() and debug_object_activate() to make the
|
||||||
object known to the tracker and marked active. In this case
|
object known to the tracker and marked active. In this case
|
||||||
the function should return 0 because this is not a real fixup.
|
the function should return false because this is not a real
|
||||||
|
fixup.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
@@ -376,8 +377,8 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The function returns 1 when the fixup was successful,
|
The function returns true when the fixup was successful,
|
||||||
otherwise 0. The return value is used to update the
|
otherwise false. The return value is used to update the
|
||||||
statistics.
|
statistics.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -397,8 +398,8 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The function returns 1 when the fixup was successful,
|
The function returns true when the fixup was successful,
|
||||||
otherwise 0. The return value is used to update the
|
otherwise false. The return value is used to update the
|
||||||
statistics.
|
statistics.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -414,8 +415,8 @@
|
|||||||
debug bucket.
|
debug bucket.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The function returns 1 when the fixup was successful,
|
The function returns true when the fixup was successful,
|
||||||
otherwise 0. The return value is used to update the
|
otherwise false. The return value is used to update the
|
||||||
statistics.
|
statistics.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@@ -427,7 +428,8 @@
|
|||||||
case. The fixup function should check if this is a legitimate
|
case. The fixup function should check if this is a legitimate
|
||||||
case of a statically initialized object or not. In this case only
|
case of a statically initialized object or not. In this case only
|
||||||
debug_object_init() should be called to make the object known to
|
debug_object_init() should be called to make the object known to
|
||||||
the tracker. Then the function should return 0 because this is not
|
the tracker. Then the function should return false because this
|
||||||
|
is not
|
||||||
a real fixup.
|
a real fixup.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@@ -128,14 +128,44 @@ X!Edrivers/base/interface.c
|
|||||||
!Edrivers/base/platform.c
|
!Edrivers/base/platform.c
|
||||||
!Edrivers/base/bus.c
|
!Edrivers/base/bus.c
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1><title>Device Drivers DMA Management</title>
|
<sect1>
|
||||||
|
<title>Buffer Sharing and Synchronization</title>
|
||||||
|
<para>
|
||||||
|
The dma-buf subsystem provides the framework for sharing buffers
|
||||||
|
for hardware (DMA) access across multiple device drivers and
|
||||||
|
subsystems, and for synchronizing asynchronous hardware access.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
This is used, for example, by drm "prime" multi-GPU support, but
|
||||||
|
is of course not limited to GPU use cases.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The three main components of this are: (1) dma-buf, representing
|
||||||
|
a sg_table and exposed to userspace as a file descriptor to allow
|
||||||
|
passing between devices, (2) fence, which provides a mechanism
|
||||||
|
to signal when one device as finished access, and (3) reservation,
|
||||||
|
which manages the shared or exclusive fence(s) associated with
|
||||||
|
the buffer.
|
||||||
|
</para>
|
||||||
|
<sect2><title>dma-buf</title>
|
||||||
!Edrivers/dma-buf/dma-buf.c
|
!Edrivers/dma-buf/dma-buf.c
|
||||||
!Edrivers/dma-buf/fence.c
|
!Iinclude/linux/dma-buf.h
|
||||||
!Edrivers/dma-buf/seqno-fence.c
|
</sect2>
|
||||||
!Iinclude/linux/fence.h
|
<sect2><title>reservation</title>
|
||||||
!Iinclude/linux/seqno-fence.h
|
!Pdrivers/dma-buf/reservation.c Reservation Object Overview
|
||||||
!Edrivers/dma-buf/reservation.c
|
!Edrivers/dma-buf/reservation.c
|
||||||
!Iinclude/linux/reservation.h
|
!Iinclude/linux/reservation.h
|
||||||
|
</sect2>
|
||||||
|
<sect2><title>fence</title>
|
||||||
|
!Edrivers/dma-buf/fence.c
|
||||||
|
!Iinclude/linux/fence.h
|
||||||
|
!Edrivers/dma-buf/seqno-fence.c
|
||||||
|
!Iinclude/linux/seqno-fence.h
|
||||||
|
!Edrivers/dma-buf/sync_file.c
|
||||||
|
!Iinclude/linux/sync_file.h
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
<sect1><title>Device Drivers DMA Management</title>
|
||||||
!Edrivers/base/dma-coherent.c
|
!Edrivers/base/dma-coherent.c
|
||||||
!Edrivers/base/dma-mapping.c
|
!Edrivers/base/dma-mapping.c
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -233,6 +263,7 @@ X!Isound/sound_firmware.c
|
|||||||
!Iinclude/media/v4l2-mediabus.h
|
!Iinclude/media/v4l2-mediabus.h
|
||||||
!Iinclude/media/v4l2-mem2mem.h
|
!Iinclude/media/v4l2-mem2mem.h
|
||||||
!Iinclude/media/v4l2-of.h
|
!Iinclude/media/v4l2-of.h
|
||||||
|
!Iinclude/media/v4l2-rect.h
|
||||||
!Iinclude/media/v4l2-subdev.h
|
!Iinclude/media/v4l2-subdev.h
|
||||||
!Iinclude/media/videobuf2-core.h
|
!Iinclude/media/videobuf2-core.h
|
||||||
!Iinclude/media/videobuf2-v4l2.h
|
!Iinclude/media/videobuf2-v4l2.h
|
||||||
|
@@ -1615,12 +1615,23 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
!Pdrivers/gpu/drm/drm_fb_helper.c fbdev helpers
|
!Pdrivers/gpu/drm/drm_fb_helper.c fbdev helpers
|
||||||
!Edrivers/gpu/drm/drm_fb_helper.c
|
!Edrivers/gpu/drm/drm_fb_helper.c
|
||||||
!Iinclude/drm/drm_fb_helper.h
|
!Iinclude/drm/drm_fb_helper.h
|
||||||
|
</sect2>
|
||||||
|
<sect2>
|
||||||
|
<title>Framebuffer CMA Helper Functions Reference</title>
|
||||||
|
!Pdrivers/gpu/drm/drm_fb_cma_helper.c framebuffer cma helper functions
|
||||||
|
!Edrivers/gpu/drm/drm_fb_cma_helper.c
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Display Port Helper Functions Reference</title>
|
<title>Display Port Helper Functions Reference</title>
|
||||||
!Pdrivers/gpu/drm/drm_dp_helper.c dp helpers
|
!Pdrivers/gpu/drm/drm_dp_helper.c dp helpers
|
||||||
!Iinclude/drm/drm_dp_helper.h
|
!Iinclude/drm/drm_dp_helper.h
|
||||||
!Edrivers/gpu/drm/drm_dp_helper.c
|
!Edrivers/gpu/drm/drm_dp_helper.c
|
||||||
|
</sect2>
|
||||||
|
<sect2>
|
||||||
|
<title>Display Port Dual Mode Adaptor Helper Functions Reference</title>
|
||||||
|
!Pdrivers/gpu/drm/drm_dp_dual_mode_helper.c dp dual mode helpers
|
||||||
|
!Iinclude/drm/drm_dp_dual_mode_helper.h
|
||||||
|
!Edrivers/gpu/drm/drm_dp_dual_mode_helper.c
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Display Port MST Helper Functions Reference</title>
|
<title>Display Port MST Helper Functions Reference</title>
|
||||||
@@ -1682,6 +1693,12 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
</sect3>
|
</sect3>
|
||||||
!Edrivers/gpu/drm/drm_bridge.c
|
!Edrivers/gpu/drm/drm_bridge.c
|
||||||
</sect2>
|
</sect2>
|
||||||
|
<sect2>
|
||||||
|
<title>Panel Helper Reference</title>
|
||||||
|
!Iinclude/drm/drm_panel.h
|
||||||
|
!Edrivers/gpu/drm/drm_panel.c
|
||||||
|
!Pdrivers/gpu/drm/drm_panel.c drm panel
|
||||||
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- Internals: kms properties -->
|
<!-- Internals: kms properties -->
|
||||||
@@ -1817,7 +1834,7 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="42" valign="top" >DRM</td>
|
<td rowspan="42" valign="top" >DRM</td>
|
||||||
<td valign="top" >Generic</td>
|
<td rowspan="2" valign="top" >Generic</td>
|
||||||
<td valign="top" >“rotation”</td>
|
<td valign="top" >“rotation”</td>
|
||||||
<td valign="top" >BITMASK</td>
|
<td valign="top" >BITMASK</td>
|
||||||
<td valign="top" >{ 0, "rotate-0" },
|
<td valign="top" >{ 0, "rotate-0" },
|
||||||
@@ -1832,6 +1849,13 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
image along the specified axis prior to rotation</td>
|
image along the specified axis prior to rotation</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td valign="top" >“scaling mode”</td>
|
||||||
|
<td valign="top" >ENUM</td>
|
||||||
|
<td valign="top" >{ "None", "Full", "Center", "Full aspect" }</td>
|
||||||
|
<td valign="top" >Connector</td>
|
||||||
|
<td valign="top" >Supported by: amdgpu, gma500, i915, nouveau and radeon.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td rowspan="5" valign="top" >Connector</td>
|
<td rowspan="5" valign="top" >Connector</td>
|
||||||
<td valign="top" >“EDID”</td>
|
<td valign="top" >“EDID”</td>
|
||||||
<td valign="top" >BLOB | IMMUTABLE</td>
|
<td valign="top" >BLOB | IMMUTABLE</td>
|
||||||
@@ -2068,21 +2092,12 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
<td valign="top" >property to suggest an Y offset for a connector</td>
|
<td valign="top" >property to suggest an Y offset for a connector</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="8" valign="top" >Optional</td>
|
<td rowspan="7" valign="top" >Optional</td>
|
||||||
<td valign="top" >“scaling mode”</td>
|
|
||||||
<td valign="top" >ENUM</td>
|
|
||||||
<td valign="top" >{ "None", "Full", "Center", "Full aspect" }</td>
|
|
||||||
<td valign="top" >Connector</td>
|
|
||||||
<td valign="top" >TBD</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td valign="top" >"aspect ratio"</td>
|
<td valign="top" >"aspect ratio"</td>
|
||||||
<td valign="top" >ENUM</td>
|
<td valign="top" >ENUM</td>
|
||||||
<td valign="top" >{ "None", "4:3", "16:9" }</td>
|
<td valign="top" >{ "None", "4:3", "16:9" }</td>
|
||||||
<td valign="top" >Connector</td>
|
<td valign="top" >Connector</td>
|
||||||
<td valign="top" >DRM property to set aspect ratio from user space app.
|
<td valign="top" >TDB</td>
|
||||||
This enum is made generic to allow addition of custom aspect
|
|
||||||
ratios.</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" >“dirty”</td>
|
<td valign="top" >“dirty”</td>
|
||||||
@@ -2153,7 +2168,11 @@ void intel_crt_init(struct drm_device *dev)
|
|||||||
<td valign="top" >ENUM</td>
|
<td valign="top" >ENUM</td>
|
||||||
<td valign="top" >{ "Automatic", "Full", "Limited 16:235" }</td>
|
<td valign="top" >{ "Automatic", "Full", "Limited 16:235" }</td>
|
||||||
<td valign="top" >Connector</td>
|
<td valign="top" >Connector</td>
|
||||||
<td valign="top" >TBD</td>
|
<td valign="top" >When this property is set to Limited 16:235
|
||||||
|
and CTM is set, the hardware will be programmed with the
|
||||||
|
result of the multiplication of CTM by the limited range
|
||||||
|
matrix to ensure the pixels normaly in the range 0..1.0 are
|
||||||
|
remapped to the range 16/255..235/255.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" >“audio”</td>
|
<td valign="top" >“audio”</td>
|
||||||
@@ -3334,7 +3353,7 @@ int num_ioctls;</synopsis>
|
|||||||
<title>Video BIOS Table (VBT)</title>
|
<title>Video BIOS Table (VBT)</title>
|
||||||
!Pdrivers/gpu/drm/i915/intel_bios.c Video BIOS Table (VBT)
|
!Pdrivers/gpu/drm/i915/intel_bios.c Video BIOS Table (VBT)
|
||||||
!Idrivers/gpu/drm/i915/intel_bios.c
|
!Idrivers/gpu/drm/i915/intel_bios.c
|
||||||
!Idrivers/gpu/drm/i915/intel_bios.h
|
!Idrivers/gpu/drm/i915/intel_vbt_defs.h
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
that are present on the transport stream. This is done through
|
that are present on the transport stream. This is done through
|
||||||
<constant>/dev/dvb/adapter?/net?</constant> device node.
|
<constant>/dev/dvb/adapter?/net?</constant> device node.
|
||||||
The data will be available via virtual <constant>dvb?_?</constant>
|
The data will be available via virtual <constant>dvb?_?</constant>
|
||||||
network interfaces, and will be controled/routed via the standard
|
network interfaces, and will be controlled/routed via the standard
|
||||||
ip tools (like ip, route, netstat, ifconfig, etc).</para>
|
ip tools (like ip, route, netstat, ifconfig, etc).</para>
|
||||||
<para> Data types and and ioctl definitions are defined via
|
<para> Data types and and ioctl definitions are defined via
|
||||||
<constant>linux/dvb/net.h</constant> header.</para>
|
<constant>linux/dvb/net.h</constant> header.</para>
|
||||||
|
@@ -2685,10 +2685,6 @@ hardware may support both.</para>
|
|||||||
and may change in the future.</para>
|
and may change in the future.</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
|
||||||
<para>Video Output Overlay (OSD) Interface, <xref
|
|
||||||
linkend="osd" />.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>&VIDIOC-DBG-G-REGISTER; and &VIDIOC-DBG-S-REGISTER;
|
<para>&VIDIOC-DBG-G-REGISTER; and &VIDIOC-DBG-S-REGISTER;
|
||||||
ioctls.</para>
|
ioctls.</para>
|
||||||
@@ -2696,40 +2692,6 @@ ioctls.</para>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>&VIDIOC-DBG-G-CHIP-INFO; ioctl.</para>
|
<para>&VIDIOC-DBG-G-CHIP-INFO; ioctl.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
|
||||||
<para>&VIDIOC-ENUM-DV-TIMINGS;, &VIDIOC-QUERY-DV-TIMINGS; and
|
|
||||||
&VIDIOC-DV-TIMINGS-CAP; ioctls.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Flash API. <xref linkend="flash-controls" /></para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>&VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Selection API. <xref linkend="selection-api" /></para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Sub-device selection API: &VIDIOC-SUBDEV-G-SELECTION;
|
|
||||||
and &VIDIOC-SUBDEV-S-SELECTION; ioctls.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Vendor and device specific media bus pixel formats.
|
|
||||||
<xref linkend="v4l2-mbus-vendor-spec-fmts" />.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Importing DMABUF file descriptors as a new IO method described
|
|
||||||
in <xref linkend="dmabuf" />.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Exporting DMABUF files using &VIDIOC-EXPBUF; ioctl.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Software Defined Radio (SDR) Interface, <xref linkend="sdr" />.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@@ -2841,7 +2841,7 @@ for a GOP and keep it below or equal the set bitrate target. Otherwise the rate
|
|||||||
overall average bitrate for the stream and keeps it below or equal to the set bitrate. In the first case
|
overall average bitrate for the stream and keeps it below or equal to the set bitrate. In the first case
|
||||||
the average bitrate for the whole stream will be smaller then the set bitrate. This is caused because the
|
the average bitrate for the whole stream will be smaller then the set bitrate. This is caused because the
|
||||||
average is calculated for smaller number of frames, on the other hand enabling this setting will ensure that
|
average is calculated for smaller number of frames, on the other hand enabling this setting will ensure that
|
||||||
the stream will meet tight bandwidth contraints. Applicable to encoders.
|
the stream will meet tight bandwidth constraints. Applicable to encoders.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry></entry></row>
|
<row><entry></entry></row>
|
||||||
@@ -4272,13 +4272,6 @@ manually or automatically if set to zero. Unit, range and step are driver-specif
|
|||||||
<section id="flash-controls">
|
<section id="flash-controls">
|
||||||
<title>Flash Control Reference</title>
|
<title>Flash Control Reference</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The V4L2 flash controls are intended to provide generic access
|
The V4L2 flash controls are intended to provide generic access
|
||||||
to flash controller devices. Flash controller devices are
|
to flash controller devices. Flash controller devices are
|
||||||
@@ -4743,14 +4736,6 @@ interface and may change in the future.</para>
|
|||||||
<section id="image-source-controls">
|
<section id="image-source-controls">
|
||||||
<title>Image Source Control Reference</title>
|
<title>Image Source Control Reference</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
|
|
||||||
<para>This is an <link
|
|
||||||
linkend="experimental">experimental</link> interface and may
|
|
||||||
change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The Image Source control class is intended for low-level
|
The Image Source control class is intended for low-level
|
||||||
control of image source devices such as image sensors. The
|
control of image source devices such as image sensors. The
|
||||||
@@ -4862,14 +4847,6 @@ interface and may change in the future.</para>
|
|||||||
<section id="image-process-controls">
|
<section id="image-process-controls">
|
||||||
<title>Image Process Control Reference</title>
|
<title>Image Process Control Reference</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
|
|
||||||
<para>This is an <link
|
|
||||||
linkend="experimental">experimental</link> interface and may
|
|
||||||
change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The Image Process control class is intended for low-level control of
|
The Image Process control class is intended for low-level control of
|
||||||
image processing functions. Unlike
|
image processing functions. Unlike
|
||||||
@@ -4955,14 +4932,6 @@ interface and may change in the future.</para>
|
|||||||
<section id="dv-controls">
|
<section id="dv-controls">
|
||||||
<title>Digital Video Control Reference</title>
|
<title>Digital Video Control Reference</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
|
|
||||||
<para>This is an <link
|
|
||||||
linkend="experimental">experimental</link> interface and may
|
|
||||||
change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The Digital Video control class is intended to control receivers
|
The Digital Video control class is intended to control receivers
|
||||||
and transmitters for <ulink url="http://en.wikipedia.org/wiki/Vga">VGA</ulink>,
|
and transmitters for <ulink url="http://en.wikipedia.org/wiki/Vga">VGA</ulink>,
|
||||||
|
@@ -85,7 +85,7 @@ initialize all fields of the &v4l2-vbi-format;
|
|||||||
results of <constant>VIDIOC_G_FMT</constant>, and call the
|
results of <constant>VIDIOC_G_FMT</constant>, and call the
|
||||||
&VIDIOC-S-FMT; ioctl with a pointer to this structure. Drivers return
|
&VIDIOC-S-FMT; ioctl with a pointer to this structure. Drivers return
|
||||||
an &EINVAL; only when the given parameters are ambiguous, otherwise
|
an &EINVAL; only when the given parameters are ambiguous, otherwise
|
||||||
they modify the parameters according to the hardware capabilites and
|
they modify the parameters according to the hardware capabilities and
|
||||||
return the actual parameters. When the driver allocates resources at
|
return the actual parameters. When the driver allocates resources at
|
||||||
this point, it may return an &EBUSY; to indicate the returned
|
this point, it may return an &EBUSY; to indicate the returned
|
||||||
parameters are valid but the required resources are currently not
|
parameters are valid but the required resources are currently not
|
||||||
|
@@ -1,11 +1,5 @@
|
|||||||
<title>Software Defined Radio Interface (SDR)</title>
|
<title>Software Defined Radio Interface (SDR)</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
SDR is an abbreviation of Software Defined Radio, the radio device
|
SDR is an abbreviation of Software Defined Radio, the radio device
|
||||||
which uses application software for modulation or demodulation. This interface
|
which uses application software for modulation or demodulation. This interface
|
||||||
|
@@ -1,11 +1,5 @@
|
|||||||
<title>Sub-device Interface</title>
|
<title>Sub-device Interface</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>The complex nature of V4L2 devices, where hardware is often made of
|
<para>The complex nature of V4L2 devices, where hardware is often made of
|
||||||
several integrated circuits that need to interact with each other in a
|
several integrated circuits that need to interact with each other in a
|
||||||
controlled way, leads to complex V4L2 drivers. The drivers usually reflect
|
controlled way, leads to complex V4L2 drivers. The drivers usually reflect
|
||||||
|
@@ -475,12 +475,6 @@ rest should be evident.</para>
|
|||||||
<section id="dmabuf">
|
<section id="dmabuf">
|
||||||
<title>Streaming I/O (DMA buffer importing)</title>
|
<title>Streaming I/O (DMA buffer importing)</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>The DMABUF framework provides a generic method for sharing buffers
|
<para>The DMABUF framework provides a generic method for sharing buffers
|
||||||
between multiple devices. Device drivers that support DMABUF can export a DMA
|
between multiple devices. Device drivers that support DMABUF can export a DMA
|
||||||
buffer to userspace as a file descriptor (known as the exporter role), import a
|
buffer to userspace as a file descriptor (known as the exporter role), import a
|
||||||
|
@@ -1,13 +1,6 @@
|
|||||||
<section id="selection-api">
|
<section id="selection-api">
|
||||||
|
|
||||||
<title>Experimental API for cropping, composing and scaling</title>
|
<title>API for cropping, composing and scaling</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
|
@@ -4002,12 +4002,6 @@ see <xref linkend="colorspaces" />.</entry>
|
|||||||
<section id="v4l2-mbus-vendor-spec-fmts">
|
<section id="v4l2-mbus-vendor-spec-fmts">
|
||||||
<title>Vendor and Device Specific Formats</title>
|
<title>Vendor and Device Specific Formats</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>This section lists complex data formats that are either vendor or
|
<para>This section lists complex data formats that are either vendor or
|
||||||
device specific.
|
device specific.
|
||||||
</para>
|
</para>
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>This ioctl is used to create buffers for <link linkend="mmap">memory
|
<para>This ioctl is used to create buffers for <link linkend="mmap">memory
|
||||||
mapped</link> or <link linkend="userp">user pointer</link> or <link
|
mapped</link> or <link linkend="userp">user pointer</link> or <link
|
||||||
linkend="dmabuf">DMA buffer</link> I/O. It can be used as an alternative or in
|
linkend="dmabuf">DMA buffer</link> I/O. It can be used as an alternative or in
|
||||||
|
@@ -49,14 +49,9 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
<para>To query the capabilities of the DV receiver/transmitter applications initialize the
|
||||||
<title>Experimental</title>
|
<structfield>pad</structfield> field to 0, zero the reserved array of &v4l2-dv-timings-cap;
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
and call the <constant>VIDIOC_DV_TIMINGS_CAP</constant> ioctl on a video node
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>To query the capabilities of the DV receiver/transmitter applications
|
|
||||||
can call the <constant>VIDIOC_DV_TIMINGS_CAP</constant> ioctl on a video node
|
|
||||||
and the driver will fill in the structure. Note that drivers may return
|
and the driver will fill in the structure. Note that drivers may return
|
||||||
different values after switching the video input or output.</para>
|
different values after switching the video input or output.</para>
|
||||||
|
|
||||||
@@ -65,8 +60,8 @@ queried by calling the <constant>VIDIOC_SUBDEV_DV_TIMINGS_CAP</constant> ioctl
|
|||||||
directly on a subdevice node. The capabilities are specific to inputs (for DV
|
directly on a subdevice node. The capabilities are specific to inputs (for DV
|
||||||
receivers) or outputs (for DV transmitters), applications must specify the
|
receivers) or outputs (for DV transmitters), applications must specify the
|
||||||
desired pad number in the &v4l2-dv-timings-cap; <structfield>pad</structfield>
|
desired pad number in the &v4l2-dv-timings-cap; <structfield>pad</structfield>
|
||||||
field. Attempts to query capabilities on a pad that doesn't support them will
|
field and zero the <structfield>reserved</structfield> array. Attempts to query
|
||||||
return an &EINVAL;.</para>
|
capabilities on a pad that doesn't support them will return an &EINVAL;.</para>
|
||||||
|
|
||||||
<table pgwide="1" frame="none" id="v4l2-bt-timings-cap">
|
<table pgwide="1" frame="none" id="v4l2-bt-timings-cap">
|
||||||
<title>struct <structname>v4l2_bt_timings_cap</structname></title>
|
<title>struct <structname>v4l2_bt_timings_cap</structname></title>
|
||||||
@@ -145,7 +140,8 @@ return an &EINVAL;.</para>
|
|||||||
<row>
|
<row>
|
||||||
<entry>__u32</entry>
|
<entry>__u32</entry>
|
||||||
<entry><structfield>reserved</structfield>[2]</entry>
|
<entry><structfield>reserved</structfield>[2]</entry>
|
||||||
<entry>Reserved for future extensions. Drivers must set the array to zero.</entry>
|
<entry>Reserved for future extensions. Drivers and applications must
|
||||||
|
set the array to zero.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>union</entry>
|
<entry>union</entry>
|
||||||
|
@@ -49,20 +49,15 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>While some DV receivers or transmitters support a wide range of timings, others
|
<para>While some DV receivers or transmitters support a wide range of timings, others
|
||||||
support only a limited number of timings. With this ioctl applications can enumerate a list
|
support only a limited number of timings. With this ioctl applications can enumerate a list
|
||||||
of known supported timings. Call &VIDIOC-DV-TIMINGS-CAP; to check if it also supports other
|
of known supported timings. Call &VIDIOC-DV-TIMINGS-CAP; to check if it also supports other
|
||||||
standards or even custom timings that are not in this list.</para>
|
standards or even custom timings that are not in this list.</para>
|
||||||
|
|
||||||
<para>To query the available timings, applications initialize the
|
<para>To query the available timings, applications initialize the
|
||||||
<structfield>index</structfield> field and zero the reserved array of &v4l2-enum-dv-timings;
|
<structfield>index</structfield> field, set the <structfield>pad</structfield> field to 0,
|
||||||
and call the <constant>VIDIOC_ENUM_DV_TIMINGS</constant> ioctl on a video node with a
|
zero the reserved array of &v4l2-enum-dv-timings; and call the
|
||||||
|
<constant>VIDIOC_ENUM_DV_TIMINGS</constant> ioctl on a video node with a
|
||||||
pointer to this structure. Drivers fill the rest of the structure or return an
|
pointer to this structure. Drivers fill the rest of the structure or return an
|
||||||
&EINVAL; when the index is out of bounds. To enumerate all supported DV timings,
|
&EINVAL; when the index is out of bounds. To enumerate all supported DV timings,
|
||||||
applications shall begin at index zero, incrementing by one until the
|
applications shall begin at index zero, incrementing by one until the
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>Enumerates the frequency bands that a tuner or modulator supports.
|
<para>Enumerates the frequency bands that a tuner or modulator supports.
|
||||||
To do this applications initialize the <structfield>tuner</structfield>,
|
To do this applications initialize the <structfield>tuner</structfield>,
|
||||||
<structfield>type</structfield> and <structfield>index</structfield> fields,
|
<structfield>type</structfield> and <structfield>index</structfield> fields,
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>This ioctl is an extension to the <link linkend="mmap">memory
|
<para>This ioctl is an extension to the <link linkend="mmap">memory
|
||||||
mapping</link> I/O method, therefore it is available only for
|
mapping</link> I/O method, therefore it is available only for
|
||||||
<constant>V4L2_MEMORY_MMAP</constant> buffers. It can be used to export a
|
<constant>V4L2_MEMORY_MMAP</constant> buffers. It can be used to export a
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<refentry id="vidioc-g-edid">
|
<refentry id="vidioc-g-edid">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>ioctl VIDIOC_G_EDID, VIDIOC_S_EDID</refentrytitle>
|
<refentrytitle>ioctl VIDIOC_G_EDID, VIDIOC_S_EDID, VIDIOC_SUBDEV_G_EDID, VIDIOC_SUBDEV_S_EDID</refentrytitle>
|
||||||
&manvol;
|
&manvol;
|
||||||
</refmeta>
|
</refmeta>
|
||||||
|
|
||||||
@@ -71,7 +71,8 @@
|
|||||||
|
|
||||||
<para>To get the EDID data the application has to fill in the <structfield>pad</structfield>,
|
<para>To get the EDID data the application has to fill in the <structfield>pad</structfield>,
|
||||||
<structfield>start_block</structfield>, <structfield>blocks</structfield> and <structfield>edid</structfield>
|
<structfield>start_block</structfield>, <structfield>blocks</structfield> and <structfield>edid</structfield>
|
||||||
fields and call <constant>VIDIOC_G_EDID</constant>. The current EDID from block
|
fields, zero the <structfield>reserved</structfield> array and call
|
||||||
|
<constant>VIDIOC_G_EDID</constant>. The current EDID from block
|
||||||
<structfield>start_block</structfield> and of size <structfield>blocks</structfield>
|
<structfield>start_block</structfield> and of size <structfield>blocks</structfield>
|
||||||
will be placed in the memory <structfield>edid</structfield> points to. The <structfield>edid</structfield>
|
will be placed in the memory <structfield>edid</structfield> points to. The <structfield>edid</structfield>
|
||||||
pointer must point to memory at least <structfield>blocks</structfield> * 128 bytes
|
pointer must point to memory at least <structfield>blocks</structfield> * 128 bytes
|
||||||
@@ -92,8 +93,9 @@
|
|||||||
the driver will set <structfield>blocks</structfield> to 0 and it returns 0.</para>
|
the driver will set <structfield>blocks</structfield> to 0 and it returns 0.</para>
|
||||||
|
|
||||||
<para>To set the EDID blocks of a receiver the application has to fill in the <structfield>pad</structfield>,
|
<para>To set the EDID blocks of a receiver the application has to fill in the <structfield>pad</structfield>,
|
||||||
<structfield>blocks</structfield> and <structfield>edid</structfield> fields and set
|
<structfield>blocks</structfield> and <structfield>edid</structfield> fields, set
|
||||||
<structfield>start_block</structfield> to 0. It is not possible to set part of an EDID,
|
<structfield>start_block</structfield> to 0 and zero the <structfield>reserved</structfield> array.
|
||||||
|
It is not possible to set part of an EDID,
|
||||||
it is always all or nothing. Setting the EDID data is only valid for receivers as it makes
|
it is always all or nothing. Setting the EDID data is only valid for receivers as it makes
|
||||||
no sense for a transmitter.</para>
|
no sense for a transmitter.</para>
|
||||||
|
|
||||||
|
@@ -50,12 +50,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>The ioctls are used to query and configure selection rectangles.</para>
|
<para>The ioctls are used to query and configure selection rectangles.</para>
|
||||||
|
|
||||||
<para>To query the cropping (composing) rectangle set &v4l2-selection;
|
<para>To query the cropping (composing) rectangle set &v4l2-selection;
|
||||||
@@ -222,7 +216,7 @@ or the <structfield>flags</structfield> argument is not valid.</para>
|
|||||||
<term><errorcode>ERANGE</errorcode></term>
|
<term><errorcode>ERANGE</errorcode></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>It is not possible to adjust &v4l2-rect; <structfield>
|
<para>It is not possible to adjust &v4l2-rect; <structfield>
|
||||||
r</structfield> rectangle to satisfy all contraints given in the
|
r</structfield> rectangle to satisfy all constraints given in the
|
||||||
<structfield>flags</structfield> argument.</para>
|
<structfield>flags</structfield> argument.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@@ -48,12 +48,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>Applications can optionally call the
|
<para>Applications can optionally call the
|
||||||
<constant>VIDIOC_PREPARE_BUF</constant> ioctl to pass ownership of the buffer
|
<constant>VIDIOC_PREPARE_BUF</constant> ioctl to pass ownership of the buffer
|
||||||
to the driver before actually enqueuing it, using the
|
to the driver before actually enqueuing it, using the
|
||||||
|
@@ -50,12 +50,6 @@ input</refpurpose>
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental"> experimental </link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>The hardware may be able to detect the current DV timings
|
<para>The hardware may be able to detect the current DV timings
|
||||||
automatically, similar to sensing the video standard. To do so, applications
|
automatically, similar to sensing the video standard. To do so, applications
|
||||||
call <constant>VIDIOC_QUERY_DV_TIMINGS</constant> with a pointer to a
|
call <constant>VIDIOC_QUERY_DV_TIMINGS</constant> with a pointer to a
|
||||||
|
@@ -123,6 +123,14 @@ synchronize with other events.</para>
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><errorcode>ENOLINK</errorcode></term>
|
||||||
|
<listitem>
|
||||||
|
<para>The driver implements Media Controller interface and
|
||||||
|
the pipeline link configuration is invalid.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
</refentry>
|
</refentry>
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>This ioctl lets applications enumerate available frame intervals on a
|
<para>This ioctl lets applications enumerate available frame intervals on a
|
||||||
given sub-device pad. Frame intervals only makes sense for sub-devices that
|
given sub-device pad. Frame intervals only makes sense for sub-devices that
|
||||||
can control the frame period on their own. This includes, for instance,
|
can control the frame period on their own. This includes, for instance,
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>This ioctl allows applications to enumerate all frame sizes
|
<para>This ioctl allows applications to enumerate all frame sizes
|
||||||
supported by a sub-device on the given pad for the given media bus format.
|
supported by a sub-device on the given pad for the given media bus format.
|
||||||
Supported formats can be retrieved with the &VIDIOC-SUBDEV-ENUM-MBUS-CODE;
|
Supported formats can be retrieved with the &VIDIOC-SUBDEV-ENUM-MBUS-CODE;
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>To enumerate media bus formats available at a given sub-device pad
|
<para>To enumerate media bus formats available at a given sub-device pad
|
||||||
applications initialize the <structfield>pad</structfield>, <structfield>which</structfield>
|
applications initialize the <structfield>pad</structfield>, <structfield>which</structfield>
|
||||||
and <structfield>index</structfield> fields of &v4l2-subdev-mbus-code-enum; and
|
and <structfield>index</structfield> fields of &v4l2-subdev-mbus-code-enum; and
|
||||||
|
@@ -50,12 +50,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>These ioctls are used to negotiate the frame format at specific
|
<para>These ioctls are used to negotiate the frame format at specific
|
||||||
subdev pads in the image pipeline.</para>
|
subdev pads in the image pipeline.</para>
|
||||||
|
|
||||||
|
@@ -50,12 +50,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>These ioctls are used to get and set the frame interval at specific
|
<para>These ioctls are used to get and set the frame interval at specific
|
||||||
subdev pads in the image pipeline. The frame interval only makes sense for
|
subdev pads in the image pipeline. The frame interval only makes sense for
|
||||||
sub-devices that can control the frame period on their own. This includes,
|
sub-devices that can control the frame period on their own. This includes,
|
||||||
|
@@ -49,12 +49,6 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<note>
|
|
||||||
<title>Experimental</title>
|
|
||||||
<para>This is an <link linkend="experimental">experimental</link>
|
|
||||||
interface and may change in the future.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>The selections are used to configure various image
|
<para>The selections are used to configure various image
|
||||||
processing functionality performed by the subdevs which affect the
|
processing functionality performed by the subdevs which affect the
|
||||||
image size. This currently includes cropping, scaling and
|
image size. This currently includes cropping, scaling and
|
||||||
|
@@ -70,6 +70,7 @@ of the reverse map types are described below:
|
|||||||
|
|
||||||
==== Linear ====
|
==== Linear ====
|
||||||
irq_domain_add_linear()
|
irq_domain_add_linear()
|
||||||
|
irq_domain_create_linear()
|
||||||
|
|
||||||
The linear reverse map maintains a fixed size table indexed by the
|
The linear reverse map maintains a fixed size table indexed by the
|
||||||
hwirq number. When a hwirq is mapped, an irq_desc is allocated for
|
hwirq number. When a hwirq is mapped, an irq_desc is allocated for
|
||||||
@@ -81,10 +82,16 @@ map are fixed time lookup for IRQ numbers, and irq_descs are only
|
|||||||
allocated for in-use IRQs. The disadvantage is that the table must be
|
allocated for in-use IRQs. The disadvantage is that the table must be
|
||||||
as large as the largest possible hwirq number.
|
as large as the largest possible hwirq number.
|
||||||
|
|
||||||
|
irq_domain_add_linear() and irq_domain_create_linear() are functionally
|
||||||
|
equivalent, except for the first argument is different - the former
|
||||||
|
accepts an Open Firmware specific 'struct device_node', while the latter
|
||||||
|
accepts a more general abstraction 'struct fwnode_handle'.
|
||||||
|
|
||||||
The majority of drivers should use the linear map.
|
The majority of drivers should use the linear map.
|
||||||
|
|
||||||
==== Tree ====
|
==== Tree ====
|
||||||
irq_domain_add_tree()
|
irq_domain_add_tree()
|
||||||
|
irq_domain_create_tree()
|
||||||
|
|
||||||
The irq_domain maintains a radix tree map from hwirq numbers to Linux
|
The irq_domain maintains a radix tree map from hwirq numbers to Linux
|
||||||
IRQs. When an hwirq is mapped, an irq_desc is allocated and the
|
IRQs. When an hwirq is mapped, an irq_desc is allocated and the
|
||||||
@@ -95,6 +102,11 @@ since it doesn't need to allocate a table as large as the largest
|
|||||||
hwirq number. The disadvantage is that hwirq to IRQ number lookup is
|
hwirq number. The disadvantage is that hwirq to IRQ number lookup is
|
||||||
dependent on how many entries are in the table.
|
dependent on how many entries are in the table.
|
||||||
|
|
||||||
|
irq_domain_add_tree() and irq_domain_create_tree() are functionally
|
||||||
|
equivalent, except for the first argument is different - the former
|
||||||
|
accepts an Open Firmware specific 'struct device_node', while the latter
|
||||||
|
accepts a more general abstraction 'struct fwnode_handle'.
|
||||||
|
|
||||||
Very few drivers should need this mapping.
|
Very few drivers should need this mapping.
|
||||||
|
|
||||||
==== No Map ===-
|
==== No Map ===-
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
subdir-y := accounting auxdisplay blackfin connector \
|
subdir-y := accounting auxdisplay blackfin \
|
||||||
filesystems filesystems ia64 laptops mic misc-devices \
|
filesystems filesystems ia64 laptops mic misc-devices \
|
||||||
networking pcmcia prctl ptp timers vDSO video4linux \
|
networking pcmcia prctl ptp timers vDSO watchdog
|
||||||
watchdog
|
|
||||||
|
@@ -176,13 +176,13 @@ a history of how Linux changed RCU more than RCU changed Linux
|
|||||||
which Mathieu Desnoyers is now maintaining [MathieuDesnoyers2009URCU]
|
which Mathieu Desnoyers is now maintaining [MathieuDesnoyers2009URCU]
|
||||||
[MathieuDesnoyersPhD]. TINY_RCU [PaulEMcKenney2009BloatWatchRCU] made
|
[MathieuDesnoyersPhD]. TINY_RCU [PaulEMcKenney2009BloatWatchRCU] made
|
||||||
its appearance, as did expedited RCU [PaulEMcKenney2009expeditedRCU].
|
its appearance, as did expedited RCU [PaulEMcKenney2009expeditedRCU].
|
||||||
The problem of resizeable RCU-protected hash tables may now be on a path
|
The problem of resizable RCU-protected hash tables may now be on a path
|
||||||
to a solution [JoshTriplett2009RPHash]. A few academic researchers are now
|
to a solution [JoshTriplett2009RPHash]. A few academic researchers are now
|
||||||
using RCU to solve their parallel problems [HariKannan2009DynamicAnalysisRCU].
|
using RCU to solve their parallel problems [HariKannan2009DynamicAnalysisRCU].
|
||||||
|
|
||||||
2010 produced a simpler preemptible-RCU implementation
|
2010 produced a simpler preemptible-RCU implementation
|
||||||
based on TREE_RCU [PaulEMcKenney2010SimpleOptRCU], lockdep-RCU
|
based on TREE_RCU [PaulEMcKenney2010SimpleOptRCU], lockdep-RCU
|
||||||
[PaulEMcKenney2010LockdepRCU], another resizeable RCU-protected hash
|
[PaulEMcKenney2010LockdepRCU], another resizable RCU-protected hash
|
||||||
table [HerbertXu2010RCUResizeHash] (this one consuming more memory,
|
table [HerbertXu2010RCUResizeHash] (this one consuming more memory,
|
||||||
but allowing arbitrary changes in hash function, as required for DoS
|
but allowing arbitrary changes in hash function, as required for DoS
|
||||||
avoidance in the networking code), realization of the 2009 RCU-protected
|
avoidance in the networking code), realization of the 2009 RCU-protected
|
||||||
@@ -193,7 +193,7 @@ the RCU API [PaulEMcKenney2010RCUAPI].
|
|||||||
[LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS], an RCU-protected red-black
|
[LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS], an RCU-protected red-black
|
||||||
tree using software transactional memory to protect concurrent updates
|
tree using software transactional memory to protect concurrent updates
|
||||||
(strange, but true!) [PhilHoward2011RCUTMRBTree], yet another variant of
|
(strange, but true!) [PhilHoward2011RCUTMRBTree], yet another variant of
|
||||||
RCU-protected resizeable hash tables [Triplett:2011:RPHash], the 3.0 RCU
|
RCU-protected resizable hash tables [Triplett:2011:RPHash], the 3.0 RCU
|
||||||
trainwreck [PaulEMcKenney2011RCU3.0trainwreck], and Neil Brown's "Meet the
|
trainwreck [PaulEMcKenney2011RCU3.0trainwreck], and Neil Brown's "Meet the
|
||||||
Lockers" LWN article [NeilBrown2011MeetTheLockers]. Some academic
|
Lockers" LWN article [NeilBrown2011MeetTheLockers]. Some academic
|
||||||
work looked at debugging uses of RCU [Seyster:2011:RFA:2075416.2075425].
|
work looked at debugging uses of RCU [Seyster:2011:RFA:2075416.2075425].
|
||||||
|
@@ -505,6 +505,8 @@ int main(int argc, char *argv[])
|
|||||||
if (!loop)
|
if (!loop)
|
||||||
goto done;
|
goto done;
|
||||||
break;
|
break;
|
||||||
|
case TASKSTATS_TYPE_NULL:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "Unknown nested"
|
fprintf(stderr, "Unknown nested"
|
||||||
" nla_type %d\n",
|
" nla_type %d\n",
|
||||||
@@ -512,7 +514,8 @@ int main(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
len2 += NLA_ALIGN(na->nla_len);
|
len2 += NLA_ALIGN(na->nla_len);
|
||||||
na = (struct nlattr *) ((char *) na + len2);
|
na = (struct nlattr *)((char *)na +
|
||||||
|
NLA_ALIGN(na->nla_len));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
Overriding ACPI tables via initrd
|
Upgrading ACPI tables via initrd
|
||||||
=================================
|
================================
|
||||||
|
|
||||||
1) Introduction (What is this about)
|
1) Introduction (What is this about)
|
||||||
2) What is this for
|
2) What is this for
|
||||||
@@ -9,12 +9,14 @@ Overriding ACPI tables via initrd
|
|||||||
1) What is this about
|
1) What is this about
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
If the ACPI_INITRD_TABLE_OVERRIDE compile option is true, it is possible to
|
If the ACPI_TABLE_UPGRADE compile option is true, it is possible to
|
||||||
override nearly any ACPI table provided by the BIOS with an instrumented,
|
upgrade the ACPI execution environment that is defined by the ACPI tables
|
||||||
modified one.
|
via upgrading the ACPI tables provided by the BIOS with an instrumented,
|
||||||
|
modified, more recent version one, or installing brand new ACPI tables.
|
||||||
|
|
||||||
For a full list of ACPI tables that can be overridden, take a look at
|
For a full list of ACPI tables that can be upgraded/installed, take a look
|
||||||
the char *table_sigs[MAX_ACPI_SIGNATURE]; definition in drivers/acpi/osl.c
|
at the char *table_sigs[MAX_ACPI_SIGNATURE]; definition in
|
||||||
|
drivers/acpi/tables.c.
|
||||||
All ACPI tables iasl (Intel's ACPI compiler and disassembler) knows should
|
All ACPI tables iasl (Intel's ACPI compiler and disassembler) knows should
|
||||||
be overridable, except:
|
be overridable, except:
|
||||||
- ACPI_SIG_RSDP (has a signature of 6 bytes)
|
- ACPI_SIG_RSDP (has a signature of 6 bytes)
|
||||||
@@ -25,17 +27,20 @@ Both could get implemented as well.
|
|||||||
2) What is this for
|
2) What is this for
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Please keep in mind that this is a debug option.
|
Complain to your platform/BIOS vendor if you find a bug which is so severe
|
||||||
ACPI tables should not get overridden for productive use.
|
that a workaround is not accepted in the Linux kernel. And this facility
|
||||||
If BIOS ACPI tables are overridden the kernel will get tainted with the
|
allows you to upgrade the buggy tables before your platform/BIOS vendor
|
||||||
TAINT_OVERRIDDEN_ACPI_TABLE flag.
|
releases an upgraded BIOS binary.
|
||||||
Complain to your platform/BIOS vendor if you find a bug which is so sever
|
|
||||||
that a workaround is not accepted in the Linux kernel.
|
|
||||||
|
|
||||||
Still, it can and should be enabled in any kernel, because:
|
This facility can be used by platform/BIOS vendors to provide a Linux
|
||||||
- There is no functional change with not instrumented initrds
|
compatible environment without modifying the underlying platform firmware.
|
||||||
- It provides a powerful feature to easily debug and test ACPI BIOS table
|
|
||||||
compatibility with the Linux kernel.
|
This facility also provides a powerful feature to easily debug and test
|
||||||
|
ACPI BIOS table compatibility with the Linux kernel by modifying old
|
||||||
|
platform provided ACPI tables or inserting new ACPI tables.
|
||||||
|
|
||||||
|
It can and should be enabled in any kernel because there is no functional
|
||||||
|
change with not instrumented initrds.
|
||||||
|
|
||||||
|
|
||||||
3) How does it work
|
3) How does it work
|
||||||
@@ -50,23 +55,31 @@ iasl -d *.dat
|
|||||||
# For example add this statement into a _PRT (PCI Routing Table) function
|
# For example add this statement into a _PRT (PCI Routing Table) function
|
||||||
# of the DSDT:
|
# of the DSDT:
|
||||||
Store("HELLO WORLD", debug)
|
Store("HELLO WORLD", debug)
|
||||||
|
# And increase the OEM Revision. For example, before modification:
|
||||||
|
DefinitionBlock ("DSDT.aml", "DSDT", 2, "INTEL ", "TEMPLATE", 0x00000000)
|
||||||
|
# After modification:
|
||||||
|
DefinitionBlock ("DSDT.aml", "DSDT", 2, "INTEL ", "TEMPLATE", 0x00000001)
|
||||||
iasl -sa dsdt.dsl
|
iasl -sa dsdt.dsl
|
||||||
# Add the raw ACPI tables to an uncompressed cpio archive.
|
# Add the raw ACPI tables to an uncompressed cpio archive.
|
||||||
# They must be put into a /kernel/firmware/acpi directory inside the
|
# They must be put into a /kernel/firmware/acpi directory inside the cpio
|
||||||
# cpio archive.
|
# archive. Note that if the table put here matches a platform table
|
||||||
# The uncompressed cpio archive must be the first.
|
# (similar Table Signature, and similar OEMID, and similar OEM Table ID)
|
||||||
# Other, typically compressed cpio archives, must be
|
# with a more recent OEM Revision, the platform table will be upgraded by
|
||||||
# concatenated on top of the uncompressed one.
|
# this table. If the table put here doesn't match a platform table
|
||||||
|
# (dissimilar Table Signature, or dissimilar OEMID, or dissimilar OEM Table
|
||||||
|
# ID), this table will be appended.
|
||||||
mkdir -p kernel/firmware/acpi
|
mkdir -p kernel/firmware/acpi
|
||||||
cp dsdt.aml kernel/firmware/acpi
|
cp dsdt.aml kernel/firmware/acpi
|
||||||
# A maximum of: #define ACPI_OVERRIDE_TABLES 10
|
# A maximum of "NR_ACPI_INITRD_TABLES (64)" tables are currently allowed
|
||||||
# tables are currently allowed (see osl.c):
|
# (see osl.c):
|
||||||
iasl -sa facp.dsl
|
iasl -sa facp.dsl
|
||||||
iasl -sa ssdt1.dsl
|
iasl -sa ssdt1.dsl
|
||||||
cp facp.aml kernel/firmware/acpi
|
cp facp.aml kernel/firmware/acpi
|
||||||
cp ssdt1.aml kernel/firmware/acpi
|
cp ssdt1.aml kernel/firmware/acpi
|
||||||
# Create the uncompressed cpio archive and concatenate the original initrd
|
# The uncompressed cpio archive must be the first. Other, typically
|
||||||
# on top:
|
# compressed cpio archives, must be concatenated on top of the uncompressed
|
||||||
|
# one. Following command creates the uncompressed cpio archive and
|
||||||
|
# concatenates the original initrd on top:
|
||||||
find kernel | cpio -H newc --create > /boot/instrumented_initrd
|
find kernel | cpio -H newc --create > /boot/instrumented_initrd
|
||||||
cat /boot/initrd >>/boot/instrumented_initrd
|
cat /boot/initrd >>/boot/instrumented_initrd
|
||||||
# reboot with increased acpi debug level, e.g. boot params:
|
# reboot with increased acpi debug level, e.g. boot params:
|
||||||
|
@@ -136,7 +136,7 @@ an fxyzzy(3) operation for free:
|
|||||||
- xyzzyat(fd, "", ..., AT_EMPTY_PATH) is equivalent to fxyzzy(fd, ...)
|
- xyzzyat(fd, "", ..., AT_EMPTY_PATH) is equivalent to fxyzzy(fd, ...)
|
||||||
|
|
||||||
(For more details on the rationale of the *at() calls, see the openat(2) man
|
(For more details on the rationale of the *at() calls, see the openat(2) man
|
||||||
page; for an example of AT_EMPTY_PATH, see the statat(2) man page.)
|
page; for an example of AT_EMPTY_PATH, see the fstatat(2) man page.)
|
||||||
|
|
||||||
If your new xyzzy(2) system call involves a parameter describing an offset
|
If your new xyzzy(2) system call involves a parameter describing an offset
|
||||||
within a file, make its type loff_t so that 64-bit offsets can be supported
|
within a file, make its type loff_t so that 64-bit offsets can be supported
|
||||||
|
@@ -214,7 +214,7 @@ RedBoot scripting
|
|||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
All the commands above aren't so useful if they have to be typed in every
|
All the commands above aren't so useful if they have to be typed in every
|
||||||
time the Assabet is rebooted. Therefore it's possible to automatize the boot
|
time the Assabet is rebooted. Therefore it's possible to automate the boot
|
||||||
process using RedBoot's scripting capability.
|
process using RedBoot's scripting capability.
|
||||||
|
|
||||||
For example, I use this to boot Linux with both the kernel and the ramdisk
|
For example, I use this to boot Linux with both the kernel and the ramdisk
|
||||||
|
@@ -132,6 +132,10 @@ NOTE: versions prior to v4.6 cannot make use of memory below the
|
|||||||
physical offset of the Image so it is recommended that the Image be
|
physical offset of the Image so it is recommended that the Image be
|
||||||
placed as close as possible to the start of system RAM.
|
placed as close as possible to the start of system RAM.
|
||||||
|
|
||||||
|
If an initrd/initramfs is passed to the kernel at boot, it must reside
|
||||||
|
entirely within a 1 GB aligned physical memory window of up to 32 GB in
|
||||||
|
size that fully covers the kernel Image as well.
|
||||||
|
|
||||||
Any memory described to the kernel (even that below the start of the
|
Any memory described to the kernel (even that below the start of the
|
||||||
image) which is not marked as reserved from the kernel (e.g., with a
|
image) which is not marked as reserved from the kernel (e.g., with a
|
||||||
memreserve region in the device tree) will be considered as available to
|
memreserve region in the device tree) will be considered as available to
|
||||||
|
@@ -53,7 +53,10 @@ stable kernels.
|
|||||||
| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
|
| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
|
||||||
| ARM | Cortex-A57 | #852523 | N/A |
|
| ARM | Cortex-A57 | #852523 | N/A |
|
||||||
| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
|
| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
|
||||||
|
| ARM | MMU-500 | #841119,#826419 | N/A |
|
||||||
| | | | |
|
| | | | |
|
||||||
| Cavium | ThunderX ITS | #22375, #24313 | CAVIUM_ERRATUM_22375 |
|
| Cavium | ThunderX ITS | #22375, #24313 | CAVIUM_ERRATUM_22375 |
|
||||||
|
| Cavium | ThunderX ITS | #23144 | CAVIUM_ERRATUM_23144 |
|
||||||
| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
|
| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
|
||||||
| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
|
| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
|
||||||
|
| Cavium | ThunderX SMMUv2 | #27704 | N/A |
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
- This file
|
- This file
|
||||||
biodoc.txt
|
biodoc.txt
|
||||||
- Notes on the Generic Block Layer Rewrite in Linux 2.5
|
- Notes on the Generic Block Layer Rewrite in Linux 2.5
|
||||||
|
biovecs.txt
|
||||||
|
- Immutable biovecs and biovec iterators
|
||||||
capability.txt
|
capability.txt
|
||||||
- Generic Block Device Capability (/sys/block/<device>/capability)
|
- Generic Block Device Capability (/sys/block/<device>/capability)
|
||||||
cfq-iosched.txt
|
cfq-iosched.txt
|
||||||
@@ -14,6 +16,8 @@ deadline-iosched.txt
|
|||||||
- Deadline IO scheduler tunables
|
- Deadline IO scheduler tunables
|
||||||
ioprio.txt
|
ioprio.txt
|
||||||
- Block io priorities (in CFQ scheduler)
|
- Block io priorities (in CFQ scheduler)
|
||||||
|
pr.txt
|
||||||
|
- Block layer support for Persistent Reservations
|
||||||
null_blk.txt
|
null_blk.txt
|
||||||
- Null block for block-layer benchmarking.
|
- Null block for block-layer benchmarking.
|
||||||
queue-sysfs.txt
|
queue-sysfs.txt
|
||||||
|
@@ -141,6 +141,15 @@ control of this block device to that new IO scheduler. Note that writing
|
|||||||
an IO scheduler name to this file will attempt to load that IO scheduler
|
an IO scheduler name to this file will attempt to load that IO scheduler
|
||||||
module, if it isn't already present in the system.
|
module, if it isn't already present in the system.
|
||||||
|
|
||||||
|
write_cache (RW)
|
||||||
|
----------------
|
||||||
|
When read, this file will display whether the device has write back
|
||||||
|
caching enabled or not. It will return "write back" for the former
|
||||||
|
case, and "write through" for the latter. Writing to this file can
|
||||||
|
change the kernels view of the device, but it doesn't alter the
|
||||||
|
device state. This means that it might not be safe to toggle the
|
||||||
|
setting from "write back" to "write through", since that will also
|
||||||
|
eliminate cache flushes issued by the kernel.
|
||||||
|
|
||||||
|
|
||||||
Jens Axboe <jens.axboe@oracle.com>, February 2009
|
Jens Axboe <jens.axboe@oracle.com>, February 2009
|
||||||
|
@@ -71,7 +71,7 @@ requests that have a payload. For devices with volatile write caches the
|
|||||||
driver needs to tell the block layer that it supports flushing caches by
|
driver needs to tell the block layer that it supports flushing caches by
|
||||||
doing:
|
doing:
|
||||||
|
|
||||||
blk_queue_flush(sdkp->disk->queue, REQ_FLUSH);
|
blk_queue_write_cache(sdkp->disk->queue, true, false);
|
||||||
|
|
||||||
and handle empty REQ_FLUSH requests in its prep_fn/request_fn. Note that
|
and handle empty REQ_FLUSH requests in its prep_fn/request_fn. Note that
|
||||||
REQ_FLUSH requests with a payload are automatically turned into a sequence
|
REQ_FLUSH requests with a payload are automatically turned into a sequence
|
||||||
@@ -79,7 +79,7 @@ of an empty REQ_FLUSH request followed by the actual write by the block
|
|||||||
layer. For devices that also support the FUA bit the block layer needs
|
layer. For devices that also support the FUA bit the block layer needs
|
||||||
to be told to pass through the REQ_FUA bit using:
|
to be told to pass through the REQ_FUA bit using:
|
||||||
|
|
||||||
blk_queue_flush(sdkp->disk->queue, REQ_FLUSH | REQ_FUA);
|
blk_queue_write_cache(sdkp->disk->queue, true, true);
|
||||||
|
|
||||||
and the driver must handle write requests that have the REQ_FUA bit set
|
and the driver must handle write requests that have the REQ_FUA bit set
|
||||||
in prep_fn/request_fn. If the FUA bit is not natively supported the block
|
in prep_fn/request_fn. If the FUA bit is not natively supported the block
|
||||||
|
@@ -59,27 +59,16 @@ num_devices parameter is optional and tells zram how many devices should be
|
|||||||
pre-created. Default: 1.
|
pre-created. Default: 1.
|
||||||
|
|
||||||
2) Set max number of compression streams
|
2) Set max number of compression streams
|
||||||
Compression backend may use up to max_comp_streams compression streams,
|
Regardless the value passed to this attribute, ZRAM will always
|
||||||
thus allowing up to max_comp_streams concurrent compression operations.
|
allocate multiple compression streams - one per online CPUs - thus
|
||||||
By default, compression backend uses single compression stream.
|
allowing several concurrent compression operations. The number of
|
||||||
|
allocated compression streams goes down when some of the CPUs
|
||||||
|
become offline. There is no single-compression-stream mode anymore,
|
||||||
|
unless you are running a UP system or has only 1 CPU online.
|
||||||
|
|
||||||
Examples:
|
To find out how many streams are currently available:
|
||||||
#show max compression streams number
|
|
||||||
cat /sys/block/zram0/max_comp_streams
|
cat /sys/block/zram0/max_comp_streams
|
||||||
|
|
||||||
#set max compression streams number to 3
|
|
||||||
echo 3 > /sys/block/zram0/max_comp_streams
|
|
||||||
|
|
||||||
Note:
|
|
||||||
In order to enable compression backend's multi stream support max_comp_streams
|
|
||||||
must be initially set to desired concurrency level before ZRAM device
|
|
||||||
initialisation. Once the device initialised as a single stream compression
|
|
||||||
backend (max_comp_streams equals to 1), you will see error if you try to change
|
|
||||||
the value of max_comp_streams because single stream compression backend
|
|
||||||
implemented as a special case by lock overhead issue and does not support
|
|
||||||
dynamic max_comp_streams. Only multi stream backend supports dynamic
|
|
||||||
max_comp_streams adjustment.
|
|
||||||
|
|
||||||
3) Select compression algorithm
|
3) Select compression algorithm
|
||||||
Using comp_algorithm device attribute one can see available and
|
Using comp_algorithm device attribute one can see available and
|
||||||
currently selected (shown in square brackets) compression algorithms,
|
currently selected (shown in square brackets) compression algorithms,
|
||||||
@@ -183,6 +172,7 @@ mem_limit RW the maximum amount of memory ZRAM can use to store
|
|||||||
pages_compacted RO the number of pages freed during compaction
|
pages_compacted RO the number of pages freed during compaction
|
||||||
(available only via zram<id>/mm_stat node)
|
(available only via zram<id>/mm_stat node)
|
||||||
compact WO trigger memory compaction
|
compact WO trigger memory compaction
|
||||||
|
debug_stat RO this file is used for zram debugging purposes
|
||||||
|
|
||||||
WARNING
|
WARNING
|
||||||
=======
|
=======
|
||||||
|
@@ -280,17 +280,9 @@ the amount of kernel memory used by the system. Kernel memory is fundamentally
|
|||||||
different than user memory, since it can't be swapped out, which makes it
|
different than user memory, since it can't be swapped out, which makes it
|
||||||
possible to DoS the system by consuming too much of this precious resource.
|
possible to DoS the system by consuming too much of this precious resource.
|
||||||
|
|
||||||
Kernel memory won't be accounted at all until limit on a group is set. This
|
Kernel memory accounting is enabled for all memory cgroups by default. But
|
||||||
allows for existing setups to continue working without disruption. The limit
|
it can be disabled system-wide by passing cgroup.memory=nokmem to the kernel
|
||||||
cannot be set if the cgroup have children, or if there are already tasks in the
|
at boot time. In this case, kernel memory will not be accounted at all.
|
||||||
cgroup. Attempting to set the limit under those conditions will return -EBUSY.
|
|
||||||
When use_hierarchy == 1 and a group is accounted, its children will
|
|
||||||
automatically be accounted regardless of their limit value.
|
|
||||||
|
|
||||||
After a group is first limited, it will be kept being accounted until it
|
|
||||||
is removed. The memory limitation itself, can of course be removed by writing
|
|
||||||
-1 to memory.kmem.limit_in_bytes. In this case, kmem will be accounted, but not
|
|
||||||
limited.
|
|
||||||
|
|
||||||
Kernel memory limits are not imposed for the root cgroup. Usage for the root
|
Kernel memory limits are not imposed for the root cgroup. Usage for the root
|
||||||
cgroup may or may not be accounted. The memory used is accumulated into
|
cgroup may or may not be accounted. The memory used is accumulated into
|
||||||
|
@@ -186,3 +186,11 @@ only cn_test.c test module used it.
|
|||||||
Some work in netlink area is still being done, so things can be changed in
|
Some work in netlink area is still being done, so things can be changed in
|
||||||
2.6.15 timeframe, if it will happen, documentation will be updated for that
|
2.6.15 timeframe, if it will happen, documentation will be updated for that
|
||||||
kernel.
|
kernel.
|
||||||
|
|
||||||
|
/*****************************************/
|
||||||
|
Code samples
|
||||||
|
/*****************************************/
|
||||||
|
|
||||||
|
Sample code for a connector test module and user space can be found
|
||||||
|
in samples/connector/. To build this code, enable CONFIG_CONNECTOR
|
||||||
|
and CONFIG_SAMPLES.
|
||||||
|
@@ -11,7 +11,7 @@ Every bio that is mapped by the target is referred to the policy.
|
|||||||
The policy can return a simple HIT or MISS or issue a migration.
|
The policy can return a simple HIT or MISS or issue a migration.
|
||||||
|
|
||||||
Currently there's no way for the policy to issue background work,
|
Currently there's no way for the policy to issue background work,
|
||||||
e.g. to start writing back dirty blocks that are going to be evicte
|
e.g. to start writing back dirty blocks that are going to be evicted
|
||||||
soon.
|
soon.
|
||||||
|
|
||||||
Because we map bios, rather than requests it's easy for the policy
|
Because we map bios, rather than requests it's easy for the policy
|
||||||
@@ -48,7 +48,7 @@ with the multiqueue (mq) policy.
|
|||||||
|
|
||||||
The smq policy (vs mq) offers the promise of less memory utilization,
|
The smq policy (vs mq) offers the promise of less memory utilization,
|
||||||
improved performance and increased adaptability in the face of changing
|
improved performance and increased adaptability in the face of changing
|
||||||
workloads. SMQ also does not have any cumbersome tuning knobs.
|
workloads. smq also does not have any cumbersome tuning knobs.
|
||||||
|
|
||||||
Users may switch from "mq" to "smq" simply by appropriately reloading a
|
Users may switch from "mq" to "smq" simply by appropriately reloading a
|
||||||
DM table that is using the cache target. Doing so will cause all of the
|
DM table that is using the cache target. Doing so will cause all of the
|
||||||
@@ -57,47 +57,45 @@ degrade slightly until smq recalculates the origin device's hotspots
|
|||||||
that should be cached.
|
that should be cached.
|
||||||
|
|
||||||
Memory usage:
|
Memory usage:
|
||||||
The mq policy uses a lot of memory; 88 bytes per cache block on a 64
|
The mq policy used a lot of memory; 88 bytes per cache block on a 64
|
||||||
bit machine.
|
bit machine.
|
||||||
|
|
||||||
SMQ uses 28bit indexes to implement it's data structures rather than
|
smq uses 28bit indexes to implement it's data structures rather than
|
||||||
pointers. It avoids storing an explicit hit count for each block. It
|
pointers. It avoids storing an explicit hit count for each block. It
|
||||||
has a 'hotspot' queue rather than a pre cache which uses a quarter of
|
has a 'hotspot' queue, rather than a pre-cache, which uses a quarter of
|
||||||
the entries (each hotspot block covers a larger area than a single
|
the entries (each hotspot block covers a larger area than a single
|
||||||
cache block).
|
cache block).
|
||||||
|
|
||||||
All these mean smq uses ~25bytes per cache block. Still a lot of
|
All this means smq uses ~25bytes per cache block. Still a lot of
|
||||||
memory, but a substantial improvement nontheless.
|
memory, but a substantial improvement nontheless.
|
||||||
|
|
||||||
Level balancing:
|
Level balancing:
|
||||||
MQ places entries in different levels of the multiqueue structures
|
mq placed entries in different levels of the multiqueue structures
|
||||||
based on their hit count (~ln(hit count)). This means the bottom
|
based on their hit count (~ln(hit count)). This meant the bottom
|
||||||
levels generally have the most entries, and the top ones have very
|
levels generally had the most entries, and the top ones had very
|
||||||
few. Having unbalanced levels like this reduces the efficacy of the
|
few. Having unbalanced levels like this reduced the efficacy of the
|
||||||
multiqueue.
|
multiqueue.
|
||||||
|
|
||||||
SMQ does not maintain a hit count, instead it swaps hit entries with
|
smq does not maintain a hit count, instead it swaps hit entries with
|
||||||
the least recently used entry from the level above. The over all
|
the least recently used entry from the level above. The overall
|
||||||
ordering being a side effect of this stochastic process. With this
|
ordering being a side effect of this stochastic process. With this
|
||||||
scheme we can decide how many entries occupy each multiqueue level,
|
scheme we can decide how many entries occupy each multiqueue level,
|
||||||
resulting in better promotion/demotion decisions.
|
resulting in better promotion/demotion decisions.
|
||||||
|
|
||||||
Adaptability:
|
Adaptability:
|
||||||
The MQ policy maintains a hit count for each cache block. For a
|
The mq policy maintained a hit count for each cache block. For a
|
||||||
different block to get promoted to the cache it's hit count has to
|
different block to get promoted to the cache it's hit count has to
|
||||||
exceed the lowest currently in the cache. This means it can take a
|
exceed the lowest currently in the cache. This meant it could take a
|
||||||
long time for the cache to adapt between varying IO patterns.
|
long time for the cache to adapt between varying IO patterns.
|
||||||
Periodically degrading the hit counts could help with this, but I
|
|
||||||
haven't found a nice general solution.
|
|
||||||
|
|
||||||
SMQ doesn't maintain hit counts, so a lot of this problem just goes
|
smq doesn't maintain hit counts, so a lot of this problem just goes
|
||||||
away. In addition it tracks performance of the hotspot queue, which
|
away. In addition it tracks performance of the hotspot queue, which
|
||||||
is used to decide which blocks to promote. If the hotspot queue is
|
is used to decide which blocks to promote. If the hotspot queue is
|
||||||
performing badly then it starts moving entries more quickly between
|
performing badly then it starts moving entries more quickly between
|
||||||
levels. This lets it adapt to new IO patterns very quickly.
|
levels. This lets it adapt to new IO patterns very quickly.
|
||||||
|
|
||||||
Performance:
|
Performance:
|
||||||
Testing SMQ shows substantially better performance than MQ.
|
Testing smq shows substantially better performance than mq.
|
||||||
|
|
||||||
cleaner
|
cleaner
|
||||||
-------
|
-------
|
||||||
|
@@ -205,7 +205,7 @@ statistics on them:
|
|||||||
|
|
||||||
dmsetup message vol 0 @stats_create - /100
|
dmsetup message vol 0 @stats_create - /100
|
||||||
|
|
||||||
Set the auxillary data string to "foo bar baz" (the escape for each
|
Set the auxiliary data string to "foo bar baz" (the escape for each
|
||||||
space must also be escaped, otherwise the shell will consume them):
|
space must also be escaped, otherwise the shell will consume them):
|
||||||
|
|
||||||
dmsetup message vol 0 @stats_set_aux 0 foo\\ bar\\ baz
|
dmsetup message vol 0 @stats_set_aux 0 foo\\ bar\\ baz
|
||||||
|
@@ -1,20 +1,17 @@
|
|||||||
|
|
||||||
LINUX ALLOCATED DEVICES (2.6+ version)
|
LINUX ALLOCATED DEVICES (4.x+ version)
|
||||||
|
|
||||||
Maintained by Alan Cox <device@lanana.org>
|
|
||||||
|
|
||||||
Last revised: 6th April 2009
|
|
||||||
|
|
||||||
This list is the Linux Device List, the official registry of allocated
|
This list is the Linux Device List, the official registry of allocated
|
||||||
device numbers and /dev directory nodes for the Linux operating
|
device numbers and /dev directory nodes for the Linux operating
|
||||||
system.
|
system.
|
||||||
|
|
||||||
The latest version of this list is available from
|
The LaTeX version of this document is no longer maintained, nor is
|
||||||
http://www.lanana.org/docs/device-list/ or
|
the document that used to reside at lanana.org. This version in the
|
||||||
ftp://ftp.kernel.org/pub/linux/docs/device-list/. This version may be
|
mainline Linux kernel is the master document. Updates shall be sent
|
||||||
newer than the one distributed with the Linux kernel.
|
as patches to the kernel maintainers (see the SubmittingPatches document).
|
||||||
|
Specifically explore the sections titled "CHAR and MISC DRIVERS", and
|
||||||
The LaTeX version of this document is no longer maintained.
|
"BLOCK LAYER" in the MAINTAINERS file to find the right maintainers
|
||||||
|
to involve for character and block devices.
|
||||||
|
|
||||||
This document is included by reference into the Filesystem Hierarchy
|
This document is included by reference into the Filesystem Hierarchy
|
||||||
Standard (FHS). The FHS is available from http://www.pathname.com/fhs/.
|
Standard (FHS). The FHS is available from http://www.pathname.com/fhs/.
|
||||||
@@ -23,60 +20,33 @@ Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
|
|||||||
platform only. Allocations marked (68k/Atari) apply to Linux/68k on
|
platform only. Allocations marked (68k/Atari) apply to Linux/68k on
|
||||||
the Atari platform only.
|
the Atari platform only.
|
||||||
|
|
||||||
The symbol {2.6} means the allocation is obsolete and scheduled for
|
This document is in the public domain. The authors requests, however,
|
||||||
removal once kernel version 2.6 (or equivalent) is released. Some of these
|
|
||||||
allocations have already been removed.
|
|
||||||
|
|
||||||
This document is in the public domain. The author requests, however,
|
|
||||||
that semantically altered versions are not distributed without
|
that semantically altered versions are not distributed without
|
||||||
permission of the author, assuming the author can be contacted without
|
permission of the authors, assuming the authors can be contacted without
|
||||||
an unreasonable effort.
|
an unreasonable effort.
|
||||||
|
|
||||||
In particular, please don't sent patches for this list to Linus, at
|
|
||||||
least not without contacting me first.
|
|
||||||
|
|
||||||
I do not have any information about these devices beyond what appears
|
|
||||||
on this list. Any such information requests will be deleted without
|
|
||||||
reply.
|
|
||||||
|
|
||||||
|
|
||||||
**** DEVICE DRIVERS AUTHORS PLEASE READ THIS ****
|
**** DEVICE DRIVERS AUTHORS PLEASE READ THIS ****
|
||||||
|
|
||||||
|
Linux now has extensive support for dynamic allocation of device numbering
|
||||||
|
and can use sysfs and udev (systemd) to handle the naming needs. There are
|
||||||
|
still some exceptions in the serial and boot device area. Before asking
|
||||||
|
for a device number make sure you actually need one.
|
||||||
|
|
||||||
To have a major number allocated, or a minor number in situations
|
To have a major number allocated, or a minor number in situations
|
||||||
where that applies (e.g. busmice), please contact me with the
|
where that applies (e.g. busmice), please submit a patch and send to
|
||||||
appropriate device information. Also, if you have additional
|
the authors as indicated above.
|
||||||
information regarding any of the devices listed below, or if I have
|
|
||||||
made a mistake, I would greatly appreciate a note.
|
|
||||||
|
|
||||||
I do, however, make a few requests about the nature of your report.
|
Keep the description of the device *in the same format
|
||||||
This is necessary for me to be able to keep this list up to date and
|
as this list*. The reason for this is that it is the only way we have
|
||||||
correct in a timely manner. First of all, *please* send it to the
|
found to ensure we have all the requisite information to publish your
|
||||||
correct address... <device@lanana.org>. I receive hundreds of email
|
|
||||||
messages a day, so mail sent to other addresses may very well get lost
|
|
||||||
in the avalanche. Please put in a descriptive subject, so I can find
|
|
||||||
your mail again should I need to. Too many people send me email
|
|
||||||
saying just "device number request" in the subject.
|
|
||||||
|
|
||||||
Second, please include a description of the device *in the same format
|
|
||||||
as this list*. The reason for this is that it is the only way I have
|
|
||||||
found to ensure I have all the requisite information to publish your
|
|
||||||
device and avoid conflicts.
|
device and avoid conflicts.
|
||||||
|
|
||||||
Third, please don't assume that the distributed version of the list is
|
Finally, sometimes we have to play "namespace police." Please don't be
|
||||||
up to date. Due to the number of registrations I have to maintain it
|
offended. We often get submissions for /dev names that would be bound
|
||||||
in "batch mode", so there is likely additional registrations that
|
to cause conflicts down the road. We are trying to avoid getting in a
|
||||||
haven't been listed yet.
|
|
||||||
|
|
||||||
Fourth, remember that Linux now has extensive support for dynamic allocation
|
|
||||||
of device numbering and can use sysfs and udev to handle the naming needs.
|
|
||||||
There are still some exceptions in the serial and boot device area. Before
|
|
||||||
asking for a device number make sure you actually need one.
|
|
||||||
|
|
||||||
Finally, sometimes I have to play "namespace police." Please don't be
|
|
||||||
offended. I often get submissions for /dev names that would be bound
|
|
||||||
to cause conflicts down the road. I am trying to avoid getting in a
|
|
||||||
situation where we would have to suffer an incompatible forward
|
situation where we would have to suffer an incompatible forward
|
||||||
change. Therefore, please consult with me *before* you make your
|
change. Therefore, please consult with us *before* you make your
|
||||||
device names and numbers in any way public, at least to the point
|
device names and numbers in any way public, at least to the point
|
||||||
where it would be at all difficult to get them changed.
|
where it would be at all difficult to get them changed.
|
||||||
|
|
||||||
@@ -3099,9 +3069,9 @@ Your cooperation is appreciated.
|
|||||||
129 = /dev/ipath_sma Device used by Subnet Management Agent
|
129 = /dev/ipath_sma Device used by Subnet Management Agent
|
||||||
130 = /dev/ipath_diag Device used by diagnostics programs
|
130 = /dev/ipath_diag Device used by diagnostics programs
|
||||||
|
|
||||||
234-239 UNASSIGNED
|
234-254 char RESERVED FOR DYNAMIC ASSIGNMENT
|
||||||
|
Character devices that request a dynamic allocation of major number will
|
||||||
240-254 char LOCAL/EXPERIMENTAL USE
|
take numbers starting from 254 and downward.
|
||||||
|
|
||||||
240-254 block LOCAL/EXPERIMENTAL USE
|
240-254 block LOCAL/EXPERIMENTAL USE
|
||||||
Allocated for local/experimental use. For devices not
|
Allocated for local/experimental use. For devices not
|
||||||
|
7
Documentation/devicetree/bindings/arc/eznps.txt
Normal file
7
Documentation/devicetree/bindings/arc/eznps.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
EZchip NPS Network Processor Platforms Device Tree Bindings
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Appliance main board with NPS400 ASIC.
|
||||||
|
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "ezchip,arc-nps";
|
@@ -3,6 +3,7 @@ This driver uses the EDAC framework to implement the SOCFPGA ECC Manager.
|
|||||||
The ECC Manager counts and corrects single bit errors and counts/handles
|
The ECC Manager counts and corrects single bit errors and counts/handles
|
||||||
double bit errors which are uncorrectable.
|
double bit errors which are uncorrectable.
|
||||||
|
|
||||||
|
Cyclone5 and Arria5 ECC Manager
|
||||||
Required Properties:
|
Required Properties:
|
||||||
- compatible : Should be "altr,socfpga-ecc-manager"
|
- compatible : Should be "altr,socfpga-ecc-manager"
|
||||||
- #address-cells: must be 1
|
- #address-cells: must be 1
|
||||||
@@ -47,3 +48,52 @@ Example:
|
|||||||
interrupts = <0 178 1>, <0 179 1>;
|
interrupts = <0 178 1>, <0 179 1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Arria10 SoCFPGA ECC Manager
|
||||||
|
The Arria10 SoC ECC Manager handles the IRQs for each peripheral
|
||||||
|
in a shared register instead of individual IRQs like the Cyclone5
|
||||||
|
and Arria5. Therefore the device tree is different as well.
|
||||||
|
|
||||||
|
Required Properties:
|
||||||
|
- compatible : Should be "altr,socfpga-a10-ecc-manager"
|
||||||
|
- altr,sysgr-syscon : phandle to Arria10 System Manager Block
|
||||||
|
containing the ECC manager registers.
|
||||||
|
- #address-cells: must be 1
|
||||||
|
- #size-cells: must be 1
|
||||||
|
- interrupts : Should be single bit error interrupt, then double bit error
|
||||||
|
interrupt. Note the rising edge type.
|
||||||
|
- ranges : standard definition, should translate from local addresses
|
||||||
|
|
||||||
|
Subcomponents:
|
||||||
|
|
||||||
|
L2 Cache ECC
|
||||||
|
Required Properties:
|
||||||
|
- compatible : Should be "altr,socfpga-a10-l2-ecc"
|
||||||
|
- reg : Address and size for ECC error interrupt clear registers.
|
||||||
|
|
||||||
|
On-Chip RAM ECC
|
||||||
|
Required Properties:
|
||||||
|
- compatible : Should be "altr,socfpga-a10-ocram-ecc"
|
||||||
|
- reg : Address and size for ECC block registers.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
eccmgr: eccmgr@ffd06000 {
|
||||||
|
compatible = "altr,socfpga-a10-ecc-manager";
|
||||||
|
altr,sysmgr-syscon = <&sysmgr>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<0 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
l2-ecc@ffd06010 {
|
||||||
|
compatible = "altr,socfpga-a10-l2-ecc";
|
||||||
|
reg = <0xffd06010 0x4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ocram-ecc@ff8c3000 {
|
||||||
|
compatible = "altr,socfpga-a10-ocram-ecc";
|
||||||
|
reg = <0xff8c3000 0x90>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
@@ -25,3 +25,6 @@ Board compatible values:
|
|||||||
- "tronsmart,vega-s95-pro", "tronsmart,vega-s95" (Meson gxbb)
|
- "tronsmart,vega-s95-pro", "tronsmart,vega-s95" (Meson gxbb)
|
||||||
- "tronsmart,vega-s95-meta", "tronsmart,vega-s95" (Meson gxbb)
|
- "tronsmart,vega-s95-meta", "tronsmart,vega-s95" (Meson gxbb)
|
||||||
- "tronsmart,vega-s95-telos", "tronsmart,vega-s95" (Meson gxbb)
|
- "tronsmart,vega-s95-telos", "tronsmart,vega-s95" (Meson gxbb)
|
||||||
|
- "hardkernel,odroid-c2" (Meson gxbb)
|
||||||
|
- "amlogic,p200" (Meson gxbb)
|
||||||
|
- "amlogic,p201" (Meson gxbb)
|
||||||
|
@@ -93,6 +93,14 @@ Required nodes:
|
|||||||
a core-module with regs and the compatible strings
|
a core-module with regs and the compatible strings
|
||||||
"arm,core-module-versatile", "syscon"
|
"arm,core-module-versatile", "syscon"
|
||||||
|
|
||||||
|
Optional nodes:
|
||||||
|
|
||||||
|
- arm,versatile-ib2-syscon : if the Versatile has an IB2 interface
|
||||||
|
board mounted, this has a separate system controller that is
|
||||||
|
defined in this node.
|
||||||
|
Required properties:
|
||||||
|
compatible = "arm,versatile-ib2-syscon", "syscon"
|
||||||
|
|
||||||
ARM RealView Boards
|
ARM RealView Boards
|
||||||
-------------------
|
-------------------
|
||||||
The RealView boards cover tailored evaluation boards that are used to explore
|
The RealView boards cover tailored evaluation boards that are used to explore
|
||||||
|
@@ -41,6 +41,10 @@ compatible: must be one of:
|
|||||||
- "atmel,sama5d43"
|
- "atmel,sama5d43"
|
||||||
- "atmel,sama5d44"
|
- "atmel,sama5d44"
|
||||||
|
|
||||||
|
Chipid required properties:
|
||||||
|
- compatible: Should be "atmel,sama5d2-chipid"
|
||||||
|
- reg : Should contain registers location and length
|
||||||
|
|
||||||
PIT Timer required properties:
|
PIT Timer required properties:
|
||||||
- compatible: Should be "atmel,at91sam9260-pit"
|
- compatible: Should be "atmel,at91sam9260-pit"
|
||||||
- reg: Should contain registers location and length
|
- reg: Should contain registers location and length
|
||||||
@@ -147,6 +151,65 @@ Example:
|
|||||||
clocks = <&clk32k>;
|
clocks = <&clk32k>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SHDWC SAMA5D2-Compatible Shutdown Controller
|
||||||
|
|
||||||
|
1) shdwc node
|
||||||
|
|
||||||
|
required properties:
|
||||||
|
- compatible: should be "atmel,sama5d2-shdwc".
|
||||||
|
- reg: should contain registers location and length
|
||||||
|
- clocks: phandle to input clock.
|
||||||
|
- #address-cells: should be one. The cell is the wake-up input index.
|
||||||
|
- #size-cells: should be zero.
|
||||||
|
|
||||||
|
optional properties:
|
||||||
|
|
||||||
|
- debounce-delay-us: minimum wake-up inputs debouncer period in
|
||||||
|
microseconds. It's usually a board-related property.
|
||||||
|
- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
|
||||||
|
|
||||||
|
The node contains child nodes for each wake-up input that the platform uses.
|
||||||
|
|
||||||
|
2) input nodes
|
||||||
|
|
||||||
|
Wake-up input nodes are usually described in the "board" part of the Device
|
||||||
|
Tree. Note also that input 0 is linked to the wake-up pin and is frequently
|
||||||
|
used.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- reg: should contain the wake-up input index [0 - 15].
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- atmel,wakeup-active-high: boolean, the corresponding wake-up input described
|
||||||
|
by the child, forces the wake-up of the core power supply on a high level.
|
||||||
|
The default is to be active low.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
On the SoC side:
|
||||||
|
shdwc@f8048010 {
|
||||||
|
compatible = "atmel,sama5d2-shdwc";
|
||||||
|
reg = <0xf8048010 0x10>;
|
||||||
|
clocks = <&clk32k>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
atmel,wakeup-rtc-timer;
|
||||||
|
};
|
||||||
|
|
||||||
|
On the board side:
|
||||||
|
shdwc@f8048010 {
|
||||||
|
debounce-delay-us = <976>;
|
||||||
|
|
||||||
|
input@0 {
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
input@1 {
|
||||||
|
reg = <1>;
|
||||||
|
atmel,wakeup-active-high;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
Special Function Registers (SFR)
|
Special Function Registers (SFR)
|
||||||
|
|
||||||
Special Function Registers (SFR) manage specific aspects of the integrated
|
Special Function Registers (SFR) manage specific aspects of the integrated
|
||||||
@@ -155,7 +218,7 @@ elsewhere.
|
|||||||
|
|
||||||
required properties:
|
required properties:
|
||||||
- compatible: Should be "atmel,<chip>-sfr", "syscon".
|
- compatible: Should be "atmel,<chip>-sfr", "syscon".
|
||||||
<chip> can be "sama5d3" or "sama5d4".
|
<chip> can be "sama5d3", "sama5d4" or "sama5d2".
|
||||||
- reg: Should contain registers location and length
|
- reg: Should contain registers location and length
|
||||||
|
|
||||||
sfr@f0038000 {
|
sfr@f0038000 {
|
||||||
|
@@ -100,7 +100,7 @@ specific to ARM.
|
|||||||
"arm,cci-400-pmu,r0"
|
"arm,cci-400-pmu,r0"
|
||||||
"arm,cci-400-pmu,r1"
|
"arm,cci-400-pmu,r1"
|
||||||
"arm,cci-400-pmu" - DEPRECATED, permitted only where OS has
|
"arm,cci-400-pmu" - DEPRECATED, permitted only where OS has
|
||||||
secure acces to CCI registers
|
secure access to CCI registers
|
||||||
"arm,cci-500-pmu,r0"
|
"arm,cci-500-pmu,r0"
|
||||||
"arm,cci-550-pmu,r0"
|
"arm,cci-550-pmu,r0"
|
||||||
- reg:
|
- reg:
|
||||||
|
@@ -19,6 +19,7 @@ its hardware characteristcs.
|
|||||||
- "arm,coresight-etm3x", "arm,primecell";
|
- "arm,coresight-etm3x", "arm,primecell";
|
||||||
- "arm,coresight-etm4x", "arm,primecell";
|
- "arm,coresight-etm4x", "arm,primecell";
|
||||||
- "qcom,coresight-replicator1x", "arm,primecell";
|
- "qcom,coresight-replicator1x", "arm,primecell";
|
||||||
|
- "arm,coresight-stm", "arm,primecell"; [1]
|
||||||
|
|
||||||
* reg: physical base address and length of the register
|
* reg: physical base address and length of the register
|
||||||
set(s) of the component.
|
set(s) of the component.
|
||||||
@@ -36,6 +37,14 @@ its hardware characteristcs.
|
|||||||
layout using the generic DT graph presentation found in
|
layout using the generic DT graph presentation found in
|
||||||
"bindings/graph.txt".
|
"bindings/graph.txt".
|
||||||
|
|
||||||
|
* Additional required properties for System Trace Macrocells (STM):
|
||||||
|
* reg: along with the physical base address and length of the register
|
||||||
|
set as described above, another entry is required to describe the
|
||||||
|
mapping of the extended stimulus port area.
|
||||||
|
|
||||||
|
* reg-names: the only acceptable values are "stm-base" and
|
||||||
|
"stm-stimulus-base", each corresponding to the areas defined in "reg".
|
||||||
|
|
||||||
* Required properties for devices that don't show up on the AMBA bus, such as
|
* Required properties for devices that don't show up on the AMBA bus, such as
|
||||||
non-configurable replicators:
|
non-configurable replicators:
|
||||||
|
|
||||||
@@ -202,3 +211,22 @@ Example:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
4. STM
|
||||||
|
stm@20100000 {
|
||||||
|
compatible = "arm,coresight-stm", "arm,primecell";
|
||||||
|
reg = <0 0x20100000 0 0x1000>,
|
||||||
|
<0 0x28000000 0 0x180000>;
|
||||||
|
reg-names = "stm-base", "stm-stimulus-base";
|
||||||
|
|
||||||
|
clocks = <&soc_smc50mhz>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
port {
|
||||||
|
stm_out_port: endpoint {
|
||||||
|
remote-endpoint = <&main_funnel_in_port2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
[1]. There is currently two version of STM: STM32 and STM500. Both
|
||||||
|
have the same HW interface and as such don't need an explicit binding name.
|
||||||
|
@@ -135,6 +135,10 @@ LS1043A ARMv8 based RDB Board
|
|||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "fsl,ls1043a-rdb", "fsl,ls1043a";
|
- compatible = "fsl,ls1043a-rdb", "fsl,ls1043a";
|
||||||
|
|
||||||
|
LS1043A ARMv8 based QDS Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,ls1043a-qds", "fsl,ls1043a";
|
||||||
|
|
||||||
LS2080A ARMv8 based Simulator model
|
LS2080A ARMv8 based Simulator model
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "fsl,ls2080a-simu", "fsl,ls2080a";
|
- compatible = "fsl,ls2080a-simu", "fsl,ls2080a";
|
||||||
|
@@ -1,29 +1,33 @@
|
|||||||
Hisilicon Platforms Device Tree Bindings
|
Hisilicon Platforms Device Tree Bindings
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
Hi6220 SoC
|
|
||||||
Required root node properties:
|
|
||||||
- compatible = "hisilicon,hi6220";
|
|
||||||
|
|
||||||
Hi4511 Board
|
Hi4511 Board
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "hisilicon,hi3620-hi4511";
|
- compatible = "hisilicon,hi3620-hi4511";
|
||||||
|
|
||||||
HiP04 D01 Board
|
Hi6220 SoC
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "hisilicon,hip04-d01";
|
- compatible = "hisilicon,hi6220";
|
||||||
|
|
||||||
HiP01 ca9x2 Board
|
|
||||||
Required root node properties:
|
|
||||||
- compatible = "hisilicon,hip01-ca9x2";
|
|
||||||
|
|
||||||
HiKey Board
|
HiKey Board
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
|
- compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
|
||||||
|
|
||||||
|
HiP01 ca9x2 Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "hisilicon,hip01-ca9x2";
|
||||||
|
|
||||||
|
HiP04 D01 Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "hisilicon,hip04-d01";
|
||||||
|
|
||||||
HiP05 D02 Board
|
HiP05 D02 Board
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "hisilicon,hip05-d02";
|
- compatible = "hisilicon,hip05-d02";
|
||||||
|
|
||||||
|
HiP06 D03 Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "hisilicon,hip06-d03";
|
||||||
|
|
||||||
Hisilicon system controller
|
Hisilicon system controller
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
@@ -84,6 +84,12 @@ Optional properties:
|
|||||||
- prefetch-instr : Instruction prefetch. Value: <0> (forcibly disable),
|
- prefetch-instr : Instruction prefetch. Value: <0> (forcibly disable),
|
||||||
<1> (forcibly enable), property absent (retain settings set by
|
<1> (forcibly enable), property absent (retain settings set by
|
||||||
firmware)
|
firmware)
|
||||||
|
- arm,dynamic-clock-gating : L2 dynamic clock gating. Value: <0> (forcibly
|
||||||
|
disable), <1> (forcibly enable), property absent (OS specific behavior,
|
||||||
|
preferrably retain firmware settings)
|
||||||
|
- arm,standby-mode: L2 standby mode enable. Value <0> (forcibly disable),
|
||||||
|
<1> (forcibly enable), property absent (OS specific behavior,
|
||||||
|
preferrably retain firmware settings)
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
@@ -0,0 +1,35 @@
|
|||||||
|
Marvell Armada AP806 System Controller
|
||||||
|
======================================
|
||||||
|
|
||||||
|
The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K
|
||||||
|
SoCs. It contains a system controller, which provides a number
|
||||||
|
registers giving access to numerous features: clocks, pin-muxing and
|
||||||
|
many other SoC configuration items. This DT binding allows to describe
|
||||||
|
this system controller.
|
||||||
|
|
||||||
|
The Device Tree node representing the AP806 system controller provides
|
||||||
|
a number of clocks:
|
||||||
|
|
||||||
|
- 0: clock of CPU cluster 0
|
||||||
|
- 1: clock of CPU cluster 1
|
||||||
|
- 2: fixed PLL at 1200 Mhz
|
||||||
|
- 3: MSS clock, derived from the fixed PLL
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
|
||||||
|
- compatible: must be:
|
||||||
|
"marvell,ap806-system-controller", "syscon"
|
||||||
|
- reg: register area of the AP806 system controller
|
||||||
|
- #clock-cells: must be set to 1
|
||||||
|
- clock-output-names: must be defined to:
|
||||||
|
"ap-cpu-cluster-0", "ap-cpu-cluster-1", "ap-fixed", "ap-mss"
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
syscon: system-controller@6f4000 {
|
||||||
|
compatible = "marvell,ap806-system-controller", "syscon";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clock-output-names = "ap-cpu-cluster-0", "ap-cpu-cluster-1",
|
||||||
|
"ap-fixed", "ap-mss";
|
||||||
|
reg = <0x6f4000 0x1000>;
|
||||||
|
};
|
@@ -0,0 +1,83 @@
|
|||||||
|
Marvell Armada CP110 System Controller 0
|
||||||
|
========================================
|
||||||
|
|
||||||
|
The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K
|
||||||
|
SoCs. It contains two sets of system control registers, System
|
||||||
|
Controller 0 and System Controller 1. This Device Tree binding allows
|
||||||
|
to describe the first system controller, which provides registers to
|
||||||
|
configure various aspects of the SoC.
|
||||||
|
|
||||||
|
The Device Tree node representing this System Controller 0 provides a
|
||||||
|
number of clocks:
|
||||||
|
|
||||||
|
- a set of core clocks
|
||||||
|
- a set of gatable clocks
|
||||||
|
|
||||||
|
Those clocks can be referenced by other Device Tree nodes using two
|
||||||
|
cells:
|
||||||
|
- The first cell must be 0 or 1. 0 for the core clocks and 1 for the
|
||||||
|
gatable clocks.
|
||||||
|
- The second cell identifies the particular core clock or gatable
|
||||||
|
clocks.
|
||||||
|
|
||||||
|
The following clocks are available:
|
||||||
|
- Core clocks
|
||||||
|
- 0 0 APLL
|
||||||
|
- 0 1 PPv2 core
|
||||||
|
- 0 2 EIP
|
||||||
|
- 0 3 Core
|
||||||
|
- 0 4 NAND core
|
||||||
|
- Gatable clocks
|
||||||
|
- 1 0 Audio
|
||||||
|
- 1 1 Comm Unit
|
||||||
|
- 1 2 NAND
|
||||||
|
- 1 3 PPv2
|
||||||
|
- 1 4 SDIO
|
||||||
|
- 1 5 MG Domain
|
||||||
|
- 1 6 MG Core
|
||||||
|
- 1 7 XOR1
|
||||||
|
- 1 8 XOR0
|
||||||
|
- 1 9 GOP DP
|
||||||
|
- 1 11 PCIe x1 0
|
||||||
|
- 1 12 PCIe x1 1
|
||||||
|
- 1 13 PCIe x4
|
||||||
|
- 1 14 PCIe / XOR
|
||||||
|
- 1 15 SATA
|
||||||
|
- 1 16 SATA USB
|
||||||
|
- 1 17 Main
|
||||||
|
- 1 18 SD/MMC
|
||||||
|
- 1 21 Slow IO (SPI, NOR, BootROM, I2C, UART)
|
||||||
|
- 1 22 USB3H0
|
||||||
|
- 1 23 USB3H1
|
||||||
|
- 1 24 USB3 Device
|
||||||
|
- 1 25 EIP150
|
||||||
|
- 1 26 EIP197
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
|
||||||
|
- compatible: must be:
|
||||||
|
"marvell,cp110-system-controller0", "syscon";
|
||||||
|
- reg: register area of the CP110 system controller 0
|
||||||
|
- #clock-cells: must be set to 2
|
||||||
|
- core-clock-output-names must be set to:
|
||||||
|
"cpm-apll", "cpm-ppv2-core", "cpm-eip", "cpm-core", "cpm-nand-core"
|
||||||
|
- gate-clock-output-names must be set to:
|
||||||
|
"cpm-audio", "cpm-communit", "cpm-nand", "cpm-ppv2", "cpm-sdio",
|
||||||
|
"cpm-mg-domain", "cpm-mg-core", "cpm-xor1", "cpm-xor0", "cpm-gop-dp", "none",
|
||||||
|
"cpm-pcie_x10", "cpm-pcie_x11", "cpm-pcie_x4", "cpm-pcie-xor", "cpm-sata",
|
||||||
|
"cpm-sata-usb", "cpm-main", "cpm-sd-mmc", "none", "none", "cpm-slow-io",
|
||||||
|
"cpm-usb3h0", "cpm-usb3h1", "cpm-usb3dev", "cpm-eip150", "cpm-eip197";
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
cpm_syscon0: system-controller@440000 {
|
||||||
|
compatible = "marvell,cp110-system-controller0", "syscon";
|
||||||
|
reg = <0x440000 0x1000>;
|
||||||
|
#clock-cells = <2>;
|
||||||
|
core-clock-output-names = "cpm-apll", "cpm-ppv2-core", "cpm-eip", "cpm-core", "cpm-nand-core";
|
||||||
|
gate-clock-output-names = "cpm-audio", "cpm-communit", "cpm-nand", "cpm-ppv2", "cpm-sdio",
|
||||||
|
"cpm-mg-domain", "cpm-mg-core", "cpm-xor1", "cpm-xor0", "cpm-gop-dp", "none",
|
||||||
|
"cpm-pcie_x10", "cpm-pcie_x11", "cpm-pcie_x4", "cpm-pcie-xor", "cpm-sata",
|
||||||
|
"cpm-sata-usb", "cpm-main", "cpm-sd-mmc", "none", "none", "cpm-slow-io",
|
||||||
|
"cpm-usb3h0", "cpm-usb3h1", "cpm-usb3dev", "cpm-eip150", "cpm-eip197";
|
||||||
|
};
|
@@ -42,7 +42,8 @@ Examples:
|
|||||||
Consumer:
|
Consumer:
|
||||||
========
|
========
|
||||||
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt and
|
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt and
|
||||||
Documentation/devicetree/bindings/arm/gic.txt for further details.
|
Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt for
|
||||||
|
further details.
|
||||||
|
|
||||||
An interrupt consumer on an SoC using crossbar will use:
|
An interrupt consumer on an SoC using crossbar will use:
|
||||||
interrupts = <GIC_SPI request_number interrupt_level>
|
interrupts = <GIC_SPI request_number interrupt_level>
|
||||||
|
@@ -133,6 +133,9 @@ Boards:
|
|||||||
- AM335X Bone : Low cost community board
|
- AM335X Bone : Low cost community board
|
||||||
compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
|
compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
|
||||||
|
|
||||||
|
- AM3359 ICEv2 : Low cost Industrial Communication Engine EVM.
|
||||||
|
compatible = "ti,am3359-icev2", "ti,am33xx", "ti,omap3"
|
||||||
|
|
||||||
- AM335X OrionLXm : Substation Automation Platform
|
- AM335X OrionLXm : Substation Automation Platform
|
||||||
compatible = "novatech,am335x-lxm", "ti,am33xx"
|
compatible = "novatech,am335x-lxm", "ti,am33xx"
|
||||||
|
|
||||||
@@ -169,6 +172,9 @@ Boards:
|
|||||||
- AM57XX SBC-AM57x
|
- AM57XX SBC-AM57x
|
||||||
compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
|
compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
|
||||||
|
|
||||||
|
- AM5728 IDK
|
||||||
|
compatible = "ti,am5728-idk", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
|
||||||
|
|
||||||
- DRA742 EVM: Software Development Board for DRA742
|
- DRA742 EVM: Software Development Board for DRA742
|
||||||
compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
|
compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
|
||||||
|
|
||||||
|
9
Documentation/devicetree/bindings/arm/oxnas.txt
Normal file
9
Documentation/devicetree/bindings/arm/oxnas.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Oxford Semiconductor OXNAS SoCs Family device tree bindings
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
Boards with the OX810SE SoC shall have the following properties:
|
||||||
|
Required root node property:
|
||||||
|
compatible: "oxsemi,ox810se"
|
||||||
|
|
||||||
|
Board compatible values:
|
||||||
|
- "wd,mbwe" (OX810SE)
|
@@ -22,10 +22,11 @@ Required properties:
|
|||||||
"arm,arm11mpcore-pmu"
|
"arm,arm11mpcore-pmu"
|
||||||
"arm,arm1176-pmu"
|
"arm,arm1176-pmu"
|
||||||
"arm,arm1136-pmu"
|
"arm,arm1136-pmu"
|
||||||
|
"brcm,vulcan-pmu"
|
||||||
|
"cavium,thunder-pmu"
|
||||||
"qcom,scorpion-pmu"
|
"qcom,scorpion-pmu"
|
||||||
"qcom,scorpion-mp-pmu"
|
"qcom,scorpion-mp-pmu"
|
||||||
"qcom,krait-pmu"
|
"qcom,krait-pmu"
|
||||||
"cavium,thunder-pmu"
|
|
||||||
- interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu
|
- interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu
|
||||||
interrupt (PPI) then 1 interrupt should be specified.
|
interrupt (PPI) then 1 interrupt should be specified.
|
||||||
|
|
||||||
|
@@ -39,6 +39,10 @@ Rockchip platforms device tree bindings
|
|||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "netxeon,r89", "rockchip,rk3288";
|
- compatible = "netxeon,r89", "rockchip,rk3288";
|
||||||
|
|
||||||
|
- GeekBuying GeekBox:
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "geekbuying,geekbox", "rockchip,rk3368";
|
||||||
|
|
||||||
- Google Brain (dev-board):
|
- Google Brain (dev-board):
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "google,veyron-brain-rev0", "google,veyron-brain",
|
- compatible = "google,veyron-brain-rev0", "google,veyron-brain",
|
||||||
@@ -87,6 +91,10 @@ Rockchip platforms device tree bindings
|
|||||||
"google,veyron-speedy-rev3", "google,veyron-speedy-rev2",
|
"google,veyron-speedy-rev3", "google,veyron-speedy-rev2",
|
||||||
"google,veyron-speedy", "google,veyron", "rockchip,rk3288";
|
"google,veyron-speedy", "google,veyron", "rockchip,rk3288";
|
||||||
|
|
||||||
|
- mqmaker MiQi:
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "mqmaker,miqi", "rockchip,rk3288";
|
||||||
|
|
||||||
- Rockchip RK3368 evb:
|
- Rockchip RK3368 evb:
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368";
|
- compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368";
|
||||||
@@ -98,3 +106,7 @@ Rockchip platforms device tree bindings
|
|||||||
- Rockchip RK3228 Evaluation board:
|
- Rockchip RK3228 Evaluation board:
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "rockchip,rk3228-evb", "rockchip,rk3228";
|
- compatible = "rockchip,rk3228-evb", "rockchip,rk3228";
|
||||||
|
|
||||||
|
- Rockchip RK3399 evb:
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = should be one or more of the following.
|
- compatible = should be one or more of the following.
|
||||||
|
- "samsung,artik5" - for Exynos3250-based Samsung ARTIK5 module.
|
||||||
|
- "samsung,artik5-eval" - for Exynos3250-based Samsung ARTIK5 eval board.
|
||||||
- "samsung,monk" - for Exynos3250-based Samsung Simband board.
|
- "samsung,monk" - for Exynos3250-based Samsung Simband board.
|
||||||
- "samsung,rinato" - for Exynos3250-based Samsung Gear2 board.
|
- "samsung,rinato" - for Exynos3250-based Samsung Gear2 board.
|
||||||
- "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board.
|
- "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board.
|
||||||
|
@@ -6,4 +6,4 @@ few properties of different peripheral controllers.
|
|||||||
misc node required properties:
|
misc node required properties:
|
||||||
|
|
||||||
- compatible Should be "st,spear1340-misc", "syscon".
|
- compatible Should be "st,spear1340-misc", "syscon".
|
||||||
- reg: Address range of misc space upto 8K
|
- reg: Address range of misc space up to 8K
|
||||||
|
@@ -1,16 +1,20 @@
|
|||||||
NVIDIA Tegra Power Management Controller (PMC)
|
NVIDIA Tegra Power Management Controller (PMC)
|
||||||
|
|
||||||
|
== Power Management Controller Node ==
|
||||||
|
|
||||||
The PMC block interacts with an external Power Management Unit. The PMC
|
The PMC block interacts with an external Power Management Unit. The PMC
|
||||||
mostly controls the entry and exit of the system from different sleep
|
mostly controls the entry and exit of the system from different sleep
|
||||||
modes. It provides power-gating controllers for SoC and CPU power-islands.
|
modes. It provides power-gating controllers for SoC and CPU power-islands.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- name : Should be pmc
|
- name : Should be pmc
|
||||||
- compatible : For Tegra20, must contain "nvidia,tegra20-pmc". For Tegra30,
|
- compatible : Should contain one of the following:
|
||||||
must contain "nvidia,tegra30-pmc". For Tegra114, must contain
|
For Tegra20 must contain "nvidia,tegra20-pmc".
|
||||||
"nvidia,tegra114-pmc". For Tegra124, must contain "nvidia,tegra124-pmc".
|
For Tegra30 must contain "nvidia,tegra30-pmc".
|
||||||
Otherwise, must contain "nvidia,<chip>-pmc", plus at least one of the
|
For Tegra114 must contain "nvidia,tegra114-pmc"
|
||||||
above, where <chip> is tegra132.
|
For Tegra124 must contain "nvidia,tegra124-pmc"
|
||||||
|
For Tegra132 must contain "nvidia,tegra124-pmc"
|
||||||
|
For Tegra210 must contain "nvidia,tegra210-pmc"
|
||||||
- reg : Offset and length of the register set for the device
|
- reg : Offset and length of the register set for the device
|
||||||
- clocks : Must contain an entry for each entry in clock-names.
|
- clocks : Must contain an entry for each entry in clock-names.
|
||||||
See ../clocks/clock-bindings.txt for details.
|
See ../clocks/clock-bindings.txt for details.
|
||||||
@@ -68,6 +72,11 @@ Optional properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'
|
|||||||
Defaults to 0. Valid values are described in section 12.5.2
|
Defaults to 0. Valid values are described in section 12.5.2
|
||||||
"Pinmux Support" of the Tegra4 Technical Reference Manual.
|
"Pinmux Support" of the Tegra4 Technical Reference Manual.
|
||||||
|
|
||||||
|
Optional nodes:
|
||||||
|
- powergates : This node contains a hierarchy of power domain nodes, which
|
||||||
|
should match the powergates on the Tegra SoC. See "Powergate
|
||||||
|
Nodes" below.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
/ SoC dts including file
|
/ SoC dts including file
|
||||||
@@ -113,3 +122,76 @@ pmc@7000f400 {
|
|||||||
};
|
};
|
||||||
...
|
...
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
== Powergate Nodes ==
|
||||||
|
|
||||||
|
Each of the powergate nodes represents a power-domain on the Tegra SoC
|
||||||
|
that can be power-gated by the Tegra PMC. The name of the powergate node
|
||||||
|
should be one of the below. Note that not every powergate is applicable
|
||||||
|
to all Tegra devices and the following list shows which powergates are
|
||||||
|
applicable to which devices. Please refer to the Tegra TRM for more
|
||||||
|
details on the various powergates.
|
||||||
|
|
||||||
|
Name Description Devices Applicable
|
||||||
|
3d 3D Graphics Tegra20/114/124/210
|
||||||
|
3d0 3D Graphics 0 Tegra30
|
||||||
|
3d1 3D Graphics 1 Tegra30
|
||||||
|
aud Audio Tegra210
|
||||||
|
dfd Debug Tegra210
|
||||||
|
dis Display A Tegra114/124/210
|
||||||
|
disb Display B Tegra114/124/210
|
||||||
|
heg 2D Graphics Tegra30/114/124/210
|
||||||
|
iram Internal RAM Tegra124/210
|
||||||
|
mpe MPEG Encode All
|
||||||
|
nvdec NVIDIA Video Decode Engine Tegra210
|
||||||
|
nvjpg NVIDIA JPEG Engine Tegra210
|
||||||
|
pcie PCIE Tegra20/30/124/210
|
||||||
|
sata SATA Tegra30/124/210
|
||||||
|
sor Display interfaces Tegra124/210
|
||||||
|
ve2 Video Encode Engine 2 Tegra210
|
||||||
|
venc Video Encode Engine All
|
||||||
|
vdec Video Decode Engine Tegra20/30/114/124
|
||||||
|
vic Video Imaging Compositor Tegra124/210
|
||||||
|
xusba USB Partition A Tegra114/124/210
|
||||||
|
xusbb USB Partition B Tegra114/124/210
|
||||||
|
xusbc USB Partition C Tegra114/124/210
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- clocks: Must contain an entry for each clock required by the PMC for
|
||||||
|
controlling a power-gate. See ../clocks/clock-bindings.txt for details.
|
||||||
|
- resets: Must contain an entry for each reset required by the PMC for
|
||||||
|
controlling a power-gate. See ../reset/reset.txt for details.
|
||||||
|
- #power-domain-cells: Must be 0.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
pmc: pmc@7000e400 {
|
||||||
|
compatible = "nvidia,tegra210-pmc";
|
||||||
|
reg = <0x0 0x7000e400 0x0 0x400>;
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
|
||||||
|
clock-names = "pclk", "clk32k_in";
|
||||||
|
|
||||||
|
powergates {
|
||||||
|
pd_audio: aud {
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_APE>,
|
||||||
|
<&tegra_car TEGRA210_CLK_APB2APE>;
|
||||||
|
resets = <&tegra_car 198>;
|
||||||
|
#power-domain-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
== Powergate Clients ==
|
||||||
|
|
||||||
|
Hardware blocks belonging to a power domain should contain a "power-domains"
|
||||||
|
property that is a phandle pointing to the corresponding powergate node.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
adma: adma@702e2000 {
|
||||||
|
...
|
||||||
|
power-domains = <&pd_audio>;
|
||||||
|
...
|
||||||
|
};
|
||||||
|
@@ -23,7 +23,7 @@ scu:
|
|||||||
see binding for arm/scu.txt
|
see binding for arm/scu.txt
|
||||||
|
|
||||||
interrupt-controller:
|
interrupt-controller:
|
||||||
see binding for arm/gic.txt
|
see binding for interrupt-controller/arm,gic.txt
|
||||||
|
|
||||||
timer:
|
timer:
|
||||||
see binding for arm/twd.txt
|
see binding for arm/twd.txt
|
||||||
|
@@ -1,29 +0,0 @@
|
|||||||
btmrvl
|
|
||||||
------
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : must be "btmrvl,cfgdata"
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- btmrvl,cal-data : Calibration data downloaded to the device during
|
|
||||||
initialization. This is an array of 28 values(u8).
|
|
||||||
|
|
||||||
- btmrvl,gpio-gap : gpio and gap (in msecs) combination to be
|
|
||||||
configured.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
GPIO pin 13 is configured as a wakeup source and GAP is set to 100 msecs
|
|
||||||
in below example.
|
|
||||||
|
|
||||||
btmrvl {
|
|
||||||
compatible = "btmrvl,cfgdata";
|
|
||||||
|
|
||||||
btmrvl,cal-data = /bits/ 8 <
|
|
||||||
0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
|
|
||||||
0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
|
|
||||||
0x00 0x00 0xf0 0x00>;
|
|
||||||
btmrvl,gpio-gap = <0x0d64>;
|
|
||||||
};
|
|
41
Documentation/devicetree/bindings/clock/artpec6.txt
Normal file
41
Documentation/devicetree/bindings/clock/artpec6.txt
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
* Clock bindings for Axis ARTPEC-6 chip
|
||||||
|
|
||||||
|
The bindings are based on the clock provider binding in
|
||||||
|
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
|
|
||||||
|
External clocks:
|
||||||
|
----------------
|
||||||
|
|
||||||
|
There are two external inputs to the main clock controller which should be
|
||||||
|
provided using the common clock bindings.
|
||||||
|
- "sys_refclk": External 50 Mhz oscillator (required)
|
||||||
|
- "i2s_refclk": Alternate audio reference clock (optional).
|
||||||
|
|
||||||
|
Main clock controller
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- #clock-cells: Should be <1>
|
||||||
|
See dt-bindings/clock/axis,artpec6-clkctrl.h for the list of valid identifiers.
|
||||||
|
- compatible: Should be "axis,artpec6-clkctrl"
|
||||||
|
- reg: Must contain the base address and length of the system controller
|
||||||
|
- clocks: Must contain a phandle entry for each clock in clock-names
|
||||||
|
- clock-names: Must include the external oscillator ("sys_refclk"). Optional
|
||||||
|
ones are the audio reference clock ("i2s_refclk") and the audio fractional
|
||||||
|
dividers ("frac_clk0" and "frac_clk1").
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
ext_clk: ext_clk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <50000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
clkctrl: clkctrl@f8000000 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "axis,artpec6-clkctrl";
|
||||||
|
reg = <0xf8000000 0x48>;
|
||||||
|
clocks = <&ext_clk>;
|
||||||
|
clock-names = "sys_refclk";
|
||||||
|
};
|
@@ -0,0 +1,25 @@
|
|||||||
|
Binding for the AXS10X I2S PLL clock
|
||||||
|
|
||||||
|
This binding uses the common clock binding[1].
|
||||||
|
|
||||||
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: shall be "snps,axs10x-i2s-pll-clock"
|
||||||
|
- reg : address and length of the I2S PLL register set.
|
||||||
|
- clocks: shall be the input parent clock phandle for the PLL.
|
||||||
|
- #clock-cells: from common clock binding; Should always be set to 0.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
pll_clock: pll_clock {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <27000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2s_clock@100a0 {
|
||||||
|
compatible = "snps,axs10x-i2s-pll-clock";
|
||||||
|
reg = <0x100a0 0x10>;
|
||||||
|
clocks = <&pll_clock>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
};
|
46
Documentation/devicetree/bindings/clock/hi3519-crg.txt
Normal file
46
Documentation/devicetree/bindings/clock/hi3519-crg.txt
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
* Hisilicon Hi3519 Clock and Reset Generator(CRG)
|
||||||
|
|
||||||
|
The Hi3519 CRG module provides clock and reset signals to various
|
||||||
|
controllers within the SoC.
|
||||||
|
|
||||||
|
This binding uses the following bindings:
|
||||||
|
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
|
Documentation/devicetree/bindings/reset/reset.txt
|
||||||
|
|
||||||
|
Required Properties:
|
||||||
|
|
||||||
|
- compatible: should be one of the following.
|
||||||
|
- "hisilicon,hi3519-crg" - controller compatible with Hi3519 SoC.
|
||||||
|
|
||||||
|
- reg: physical base address of the controller and length of memory mapped
|
||||||
|
region.
|
||||||
|
|
||||||
|
- #clock-cells: should be 1.
|
||||||
|
|
||||||
|
Each clock is assigned an identifier and client nodes use this identifier
|
||||||
|
to specify the clock which they consume.
|
||||||
|
|
||||||
|
All these identifier could be found in <dt-bindings/clock/hi3519-clock.h>.
|
||||||
|
|
||||||
|
- #reset-cells: should be 2.
|
||||||
|
|
||||||
|
A reset signal can be controlled by writing a bit register in the CRG module.
|
||||||
|
The reset specifier consists of two cells. The first cell represents the
|
||||||
|
register offset relative to the base address. The second cell represents the
|
||||||
|
bit index in the register.
|
||||||
|
|
||||||
|
Example: CRG nodes
|
||||||
|
CRG: clock-reset-controller@12010000 {
|
||||||
|
compatible = "hisilicon,hi3519-crg";
|
||||||
|
reg = <0x12010000 0x10000>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
#reset-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
Example: consumer nodes
|
||||||
|
i2c0: i2c@12110000 {
|
||||||
|
compatible = "hisilicon,hi3519-i2c";
|
||||||
|
reg = <0x12110000 0x1000>;
|
||||||
|
clocks = <&CRG HI3519_I2C0_RST>;
|
||||||
|
resets = <&CRG 0xe4 0>;
|
||||||
|
};
|
@@ -94,6 +94,7 @@ clocks and IDs.
|
|||||||
csi_sel 79
|
csi_sel 79
|
||||||
iim_gate 80
|
iim_gate 80
|
||||||
gpu2d_gate 81
|
gpu2d_gate 81
|
||||||
|
ckli_gate 82
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
39
Documentation/devicetree/bindings/clock/microchip,pic32.txt
Normal file
39
Documentation/devicetree/bindings/clock/microchip,pic32.txt
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Microchip PIC32 Clock Controller Binding
|
||||||
|
----------------------------------------
|
||||||
|
Microchip clock controller is consists of few oscillators, PLL, multiplexer
|
||||||
|
and few divider modules.
|
||||||
|
|
||||||
|
This binding uses common clock bindings.
|
||||||
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: shall be "microchip,pic32mzda-clk".
|
||||||
|
- reg: shall contain base address and length of clock registers.
|
||||||
|
- #clock-cells: shall be 1.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- microchip,pic32mzda-sosc: shall be added only if platform has
|
||||||
|
secondary oscillator connected.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
rootclk: clock-controller@1f801200 {
|
||||||
|
compatible = "microchip,pic32mzda-clk";
|
||||||
|
reg = <0x1f801200 0x200>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
/* optional */
|
||||||
|
microchip,pic32mzda-sosc;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
The clock consumer shall specify the desired clock-output of the clock
|
||||||
|
controller (as defined in [2]) by specifying output-id in its "clock"
|
||||||
|
phandle cell.
|
||||||
|
[2] include/dt-bindings/clock/microchip,pic32-clock.h
|
||||||
|
|
||||||
|
For example for UART2:
|
||||||
|
uart2: serial@2 {
|
||||||
|
compatible = "microchip,pic32mzda-uart";
|
||||||
|
reg = <>;
|
||||||
|
interrupts = <>;
|
||||||
|
clocks = <&rootclk PB2CLK>;
|
||||||
|
};
|
@@ -50,7 +50,7 @@ Required properties for I2C mode:
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
clock@0,70110000 {
|
clock@70110000 {
|
||||||
compatible = "nvidia,tegra124-dfll";
|
compatible = "nvidia,tegra124-dfll";
|
||||||
reg = <0 0x70110000 0 0x100>, /* DFLL control */
|
reg = <0 0x70110000 0 0x100>, /* DFLL control */
|
||||||
<0 0x70110000 0 0x100>, /* I2C output control */
|
<0 0x70110000 0 0x100>, /* I2C output control */
|
||||||
|
35
Documentation/devicetree/bindings/clock/oxnas,stdclk.txt
Normal file
35
Documentation/devicetree/bindings/clock/oxnas,stdclk.txt
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Oxford Semiconductor OXNAS SoC Family Standard Clocks
|
||||||
|
================================================
|
||||||
|
|
||||||
|
Please also refer to clock-bindings.txt in this directory for common clock
|
||||||
|
bindings usage.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: Should be "oxsemi,ox810se-stdclk"
|
||||||
|
- #clock-cells: 1, see below
|
||||||
|
|
||||||
|
Parent node should have the following properties :
|
||||||
|
- compatible: Should be "oxsemi,ox810se-sys-ctrl", "syscon", "simple-mfd"
|
||||||
|
|
||||||
|
For OX810SE, the clock indices are :
|
||||||
|
- 0: LEON
|
||||||
|
- 1: DMA_SGDMA
|
||||||
|
- 2: CIPHER
|
||||||
|
- 3: SATA
|
||||||
|
- 4: AUDIO
|
||||||
|
- 5: USBMPH
|
||||||
|
- 6: ETHA
|
||||||
|
- 7: PCIA
|
||||||
|
- 8: NAND
|
||||||
|
|
||||||
|
example:
|
||||||
|
|
||||||
|
sys: sys-ctrl@000000 {
|
||||||
|
compatible = "oxsemi,ox810se-sys-ctrl", "syscon", "simple-mfd";
|
||||||
|
reg = <0x000000 0x100000>;
|
||||||
|
|
||||||
|
stdclk: stdclk {
|
||||||
|
compatible = "oxsemi,ox810se-stdclk";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
@@ -16,7 +16,7 @@ Required Properties:
|
|||||||
Optional Properties:
|
Optional Properties:
|
||||||
|
|
||||||
- rockchip,grf: phandle to the syscon managing the "general register files"
|
- rockchip,grf: phandle to the syscon managing the "general register files"
|
||||||
If missing pll rates are not changable, due to the missing pll lock status.
|
If missing pll rates are not changeable, due to the missing pll lock status.
|
||||||
|
|
||||||
Each clock is assigned an identifier and client nodes can use this identifier
|
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
|
to specify the clock which they consume. All available clocks are defined as
|
||||||
|
@@ -15,7 +15,7 @@ Required Properties:
|
|||||||
Optional Properties:
|
Optional Properties:
|
||||||
|
|
||||||
- rockchip,grf: phandle to the syscon managing the "general register files"
|
- rockchip,grf: phandle to the syscon managing the "general register files"
|
||||||
If missing pll rates are not changable, due to the missing pll lock status.
|
If missing pll rates are not changeable, due to the missing pll lock status.
|
||||||
|
|
||||||
Each clock is assigned an identifier and client nodes can use this identifier
|
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
|
to specify the clock which they consume. All available clocks are defined as
|
||||||
|
@@ -0,0 +1,62 @@
|
|||||||
|
* Rockchip RK3399 Clock and Reset Unit
|
||||||
|
|
||||||
|
The RK3399 clock controller generates and supplies clock to various
|
||||||
|
controllers within the SoC and also implements a reset controller for SoC
|
||||||
|
peripherals.
|
||||||
|
|
||||||
|
Required Properties:
|
||||||
|
|
||||||
|
- compatible: PMU for CRU should be "rockchip,rk3399-pmucru"
|
||||||
|
- compatible: CRU should be "rockchip,rk3399-cru"
|
||||||
|
- reg: physical base address of the controller and length of memory mapped
|
||||||
|
region.
|
||||||
|
- #clock-cells: should be 1.
|
||||||
|
- #reset-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 the dt-bindings/clock/rk3399-cru.h headers and can be
|
||||||
|
used in device tree sources. Similar macros exist for the reset sources in
|
||||||
|
these files.
|
||||||
|
|
||||||
|
External clocks:
|
||||||
|
|
||||||
|
There are several clocks that are generated outside the SoC. It is expected
|
||||||
|
that they are defined using standard clock bindings with following
|
||||||
|
clock-output-names:
|
||||||
|
- "xin24m" - crystal input - required,
|
||||||
|
- "xin32k" - rtc clock - optional,
|
||||||
|
- "clkin_gmac" - external GMAC clock - optional,
|
||||||
|
- "clkin_i2s" - external I2S clock - optional,
|
||||||
|
- "pclkin_cif" - external ISP clock - optional,
|
||||||
|
- "clk_usbphy0_480m" - output clock of the pll in the usbphy0
|
||||||
|
- "clk_usbphy1_480m" - output clock of the pll in the usbphy1
|
||||||
|
|
||||||
|
Example: Clock controller node:
|
||||||
|
|
||||||
|
pmucru: pmu-clock-controller@ff750000 {
|
||||||
|
compatible = "rockchip,rk3399-pmucru";
|
||||||
|
reg = <0x0 0xff750000 0x0 0x1000>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
cru: clock-controller@ff760000 {
|
||||||
|
compatible = "rockchip,rk3399-cru";
|
||||||
|
reg = <0x0 0xff760000 0x0 0x1000>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
Example: UART controller node that consumes the clock generated by the clock
|
||||||
|
controller:
|
||||||
|
|
||||||
|
uart0: serial@ff1a0000 {
|
||||||
|
compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
|
||||||
|
reg = <0x0 0xff180000 0x0 0x100>;
|
||||||
|
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
|
||||||
|
clock-names = "baudclk", "apb_pclk";
|
||||||
|
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
reg-shift = <2>;
|
||||||
|
reg-io-width = <4>;
|
||||||
|
};
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user