mirror of
https://github.com/a52xq-dev/kernel.git
synced 2026-10-18 21:58:11 +07:00
Char/Misc driver patches for 4.19-rc1
Here is the bit set of char/misc drivers for 4.19-rc1
There is a lot here, much more than normal, seems like everyone is
writing new driver subsystems these days... Anyway, major things here
are:
- new FSI driver subsystem, yet-another-powerpc low-level
hardware bus
- gnss, finally an in-kernel GPS subsystem to try to tame all of
the crazy out-of-tree drivers that have been floating around
for years, combined with some really hacky userspace
implementations. This is only for GNSS receivers, but you
have to start somewhere, and this is great to see.
Other than that, there are new slimbus drivers, new coresight drivers,
new fpga drivers, and loads of DT bindings for all of these and existing
drivers.
Full details of everything is in the shortlog.
All of these have been in linux-next for a while with no reported
issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCW3g7ew8cZ3JlZ0Brcm9h
aC5jb20ACgkQMUfUDdst+ykfBgCeOG0RkSI92XVZe0hs/QYFW9kk8JYAnRBf3Qpm
cvW7a+McOoKz/MGmEKsi
=TNfn
-----END PGP SIGNATURE-----
Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here is the bit set of char/misc drivers for 4.19-rc1
There is a lot here, much more than normal, seems like everyone is
writing new driver subsystems these days... Anyway, major things here
are:
- new FSI driver subsystem, yet-another-powerpc low-level hardware
bus
- gnss, finally an in-kernel GPS subsystem to try to tame all of the
crazy out-of-tree drivers that have been floating around for years,
combined with some really hacky userspace implementations. This is
only for GNSS receivers, but you have to start somewhere, and this
is great to see.
Other than that, there are new slimbus drivers, new coresight drivers,
new fpga drivers, and loads of DT bindings for all of these and
existing drivers.
All of these have been in linux-next for a while with no reported
issues"
* tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
android: binder: Rate-limit debug and userspace triggered err msgs
fsi: sbefifo: Bump max command length
fsi: scom: Fix NULL dereference
misc: mic: SCIF Fix scif_get_new_port() error handling
misc: cxl: changed asterisk position
genwqe: card_base: Use true and false for boolean values
misc: eeprom: assignment outside the if statement
uio: potential double frees if __uio_register_device() fails
eeprom: idt_89hpesx: clean up an error pointer vs NULL inconsistency
misc: ti-st: Fix memory leak in the error path of probe()
android: binder: Show extra_buffers_size in trace
firmware: vpd: Fix section enabled flag on vpd_section_destroy
platform: goldfish: Retire pdev_bus
goldfish: Use dedicated macros instead of manual bit shifting
goldfish: Add missing includes to goldfish.h
mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux
dt-bindings: mux: add adi,adgs1408
Drivers: hv: vmbus: Cleanup synic memory free path
Drivers: hv: vmbus: Remove use of slow_virt_to_phys()
Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
...
This commit is contained in:
commit
d5acba26bf
302 changed files with 18142 additions and 1559 deletions
|
|
@ -42,6 +42,13 @@ Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|||
Description: The 16 bit vendor ID of the device
|
||||
Users: tools/hv/lsvmbus and user level RDMA libraries
|
||||
|
||||
What: /sys/bus/vmbus/devices/<UUID>/numa_node
|
||||
Date: Jul 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
||||
Description: This NUMA node to which the VMBUS device is
|
||||
attached, or -1 if the node is unknown.
|
||||
|
||||
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>
|
||||
Date: September. 2017
|
||||
KernelVersion: 4.14
|
||||
|
|
|
|||
|
|
@ -83,3 +83,11 @@ 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,
|
||||
|
||||
What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size
|
||||
Date: December 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||
Description: (RW) Size of the trace buffer for TMC-ETR when used in SYSFS
|
||||
mode. Writable only for TMC-ETR configurations. The value
|
||||
should be aligned to the kernel pagesize.
|
||||
|
|
|
|||
|
|
@ -35,3 +35,27 @@ Description: Read fpga manager state as a string.
|
|||
* write complete = Doing post programming steps
|
||||
* write complete error = Error while doing post programming
|
||||
* operating = FPGA is programmed and operating
|
||||
|
||||
What: /sys/class/fpga_manager/<fpga>/status
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: Read fpga manager status as a string.
|
||||
If FPGA programming operation fails, it could be caused by crc
|
||||
error or incompatible bitstream image. The intent of this
|
||||
interface is to provide more detailed information for FPGA
|
||||
programming errors to userspace. This is a list of strings for
|
||||
the supported status.
|
||||
|
||||
* reconfig operation error - invalid operations detected by
|
||||
reconfiguration hardware.
|
||||
e.g. start reconfiguration
|
||||
with errors not cleared
|
||||
* reconfig CRC error - CRC error detected by
|
||||
reconfiguration hardware.
|
||||
* reconfig incompatible image - reconfiguration image is
|
||||
incompatible with hardware
|
||||
* reconfig IP protocol error - protocol errors detected by
|
||||
reconfiguration hardware
|
||||
* reconfig fifo overflow error - FIFO overflow detected by
|
||||
reconfiguration hardware
|
||||
|
|
|
|||
9
Documentation/ABI/testing/sysfs-class-fpga-region
Normal file
9
Documentation/ABI/testing/sysfs-class-fpga-region
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
What: /sys/class/fpga_region/<region>/compat_id
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: FPGA region id for compatibility check, e.g. compatibility
|
||||
of the FPGA reconfiguration hardware and image. This value
|
||||
is defined or calculated by the layer that is creating the
|
||||
FPGA region. This interface returns the compat_id value or
|
||||
just error code -ENOENT in case compat_id is not used.
|
||||
15
Documentation/ABI/testing/sysfs-class-gnss
Normal file
15
Documentation/ABI/testing/sysfs-class-gnss
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
What: /sys/class/gnss/gnssN/type
|
||||
Date: May 2018
|
||||
KernelVersion: 4.18
|
||||
Contact: Johan Hovold <johan@kernel.org>
|
||||
Description:
|
||||
The GNSS receiver type. The currently identified types reflect
|
||||
the protocol(s) supported by the receiver:
|
||||
|
||||
"NMEA" NMEA 0183
|
||||
"SiRF" SiRF Binary
|
||||
"UBX" UBX
|
||||
|
||||
Note that also non-"NMEA" type receivers typically support a
|
||||
subset of NMEA 0183 with vendor extensions (e.g. to allow
|
||||
switching to a vendor protocol).
|
||||
|
|
@ -54,3 +54,14 @@ Description: Configure tx queue limit
|
|||
|
||||
Set maximal number of pending writes
|
||||
per opened session.
|
||||
|
||||
What: /sys/class/mei/meiN/fw_ver
|
||||
Date: May 2018
|
||||
KernelVersion: 4.18
|
||||
Contact: Tomas Winkler <tomas.winkler@intel.com>
|
||||
Description: Display the ME firmware version.
|
||||
|
||||
The version of the platform ME firmware is in format:
|
||||
<platform>:<major>.<minor>.<milestone>.<build_no>.
|
||||
There can be up to three such blocks for different
|
||||
FW components.
|
||||
|
|
|
|||
23
Documentation/ABI/testing/sysfs-platform-dfl-fme
Normal file
23
Documentation/ABI/testing/sysfs-platform-dfl-fme
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
What: /sys/bus/platform/devices/dfl-fme.0/ports_num
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: Read-only. One DFL FPGA device may have more than 1
|
||||
port/Accelerator Function Unit (AFU). It returns the
|
||||
number of ports on the FPGA device when read it.
|
||||
|
||||
What: /sys/bus/platform/devices/dfl-fme.0/bitstream_id
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: Read-only. It returns Bitstream (static FPGA region)
|
||||
identifier number, which includes the detailed version
|
||||
and other information of this static FPGA region.
|
||||
|
||||
What: /sys/bus/platform/devices/dfl-fme.0/bitstream_metadata
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: Read-only. It returns Bitstream (static FPGA region) meta
|
||||
data, which includes the synthesis date, seed and other
|
||||
information of this static FPGA region.
|
||||
16
Documentation/ABI/testing/sysfs-platform-dfl-port
Normal file
16
Documentation/ABI/testing/sysfs-platform-dfl-port
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
What: /sys/bus/platform/devices/dfl-port.0/id
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: Read-only. It returns id of this port. One DFL FPGA device
|
||||
may have more than one port. Userspace could use this id to
|
||||
distinguish different ports under same FPGA device.
|
||||
|
||||
What: /sys/bus/platform/devices/dfl-port.0/afu_id
|
||||
Date: June 2018
|
||||
KernelVersion: 4.19
|
||||
Contact: Wu Hao <hao.wu@intel.com>
|
||||
Description: Read-only. User can program different PR bitstreams to FPGA
|
||||
Accelerator Function Unit (AFU) for different functions. It
|
||||
returns uuid which could be used to identify which PR bitstream
|
||||
is programmed in this AFU.
|
||||
|
|
@ -39,6 +39,8 @@ its hardware characteristcs.
|
|||
|
||||
- System Trace Macrocell:
|
||||
"arm,coresight-stm", "arm,primecell"; [1]
|
||||
- Coresight Address Translation Unit (CATU)
|
||||
"arm,coresight-catu", "arm,primecell";
|
||||
|
||||
* reg: physical base address and length of the register
|
||||
set(s) of the component.
|
||||
|
|
@ -84,8 +86,15 @@ its hardware characteristcs.
|
|||
* Optional property for TMC:
|
||||
|
||||
* arm,buffer-size: size of contiguous buffer space for TMC ETR
|
||||
(embedded trace router)
|
||||
(embedded trace router). This property is obsolete. The buffer size
|
||||
can be configured dynamically via buffer_size property in sysfs.
|
||||
|
||||
* arm,scatter-gather: boolean. Indicates that the TMC-ETR can safely
|
||||
use the SG mode on this system.
|
||||
|
||||
* Optional property for CATU :
|
||||
* interrupts : Exactly one SPI may be listed for reporting the address
|
||||
error
|
||||
|
||||
Example:
|
||||
|
||||
|
|
@ -118,6 +127,35 @@ Example:
|
|||
};
|
||||
};
|
||||
|
||||
etr@20070000 {
|
||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||
reg = <0 0x20070000 0 0x1000>;
|
||||
|
||||
clocks = <&oscclk6a>;
|
||||
clock-names = "apb_pclk";
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* input port */
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
etr_in_port: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&replicator2_out_port0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* CATU link represented by output port */
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
etr_out_port: endpoint {
|
||||
remote-endpoint = <&catu_in_port>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
2. Links
|
||||
replicator {
|
||||
/* non-configurable replicators don't show up on the
|
||||
|
|
@ -247,5 +285,23 @@ Example:
|
|||
};
|
||||
};
|
||||
|
||||
5. CATU
|
||||
|
||||
catu@207e0000 {
|
||||
compatible = "arm,coresight-catu", "arm,primecell";
|
||||
reg = <0 0x207e0000 0 0x1000>;
|
||||
|
||||
clocks = <&oscclk6a>;
|
||||
clock-names = "apb_pclk";
|
||||
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
port {
|
||||
catu_in_port: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&etr_out_port>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
[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.
|
||||
|
|
|
|||
36
Documentation/devicetree/bindings/fsi/fsi-master-ast-cf.txt
Normal file
36
Documentation/devicetree/bindings/fsi/fsi-master-ast-cf.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Device-tree bindings for ColdFire offloaded gpio-based FSI master driver
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible =
|
||||
"aspeed,ast2400-cf-fsi-master" for an AST2400 based system
|
||||
or
|
||||
"aspeed,ast2500-cf-fsi-master" for an AST2500 based system
|
||||
|
||||
- clock-gpios = <gpio-descriptor>; : GPIO for FSI clock
|
||||
- data-gpios = <gpio-descriptor>; : GPIO for FSI data signal
|
||||
- enable-gpios = <gpio-descriptor>; : GPIO for enable signal
|
||||
- trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable
|
||||
- mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other
|
||||
functions (eg, external FSI masters)
|
||||
- memory-region = <phandle>; : Reference to the reserved memory for
|
||||
the ColdFire. Must be 2M aligned on
|
||||
AST2400 and 1M aligned on AST2500
|
||||
- aspeed,sram = <phandle>; : Reference to the SRAM node.
|
||||
- aspeed,cvic = <phandle>; : Reference to the CVIC node.
|
||||
|
||||
Examples:
|
||||
|
||||
fsi-master {
|
||||
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
|
||||
|
||||
clock-gpios = <&gpio 0>;
|
||||
data-gpios = <&gpio 1>;
|
||||
enable-gpios = <&gpio 2>;
|
||||
trans-gpios = <&gpio 3>;
|
||||
mux-gpios = <&gpio 4>;
|
||||
|
||||
memory-region = <&coldfire_memory>;
|
||||
aspeed,sram = <&sram>;
|
||||
aspeed,cvic = <&cvic>;
|
||||
}
|
||||
|
|
@ -83,6 +83,10 @@ addresses and sizes in the slave address space:
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
Optionally, a slave can provide a global unique chip ID which is used to
|
||||
identify the physical location of the chip in a system specific way
|
||||
|
||||
chip-id = <0>;
|
||||
|
||||
FSI engines (devices)
|
||||
---------------------
|
||||
|
|
@ -125,6 +129,7 @@ device tree if no extra platform information is required.
|
|||
reg = <0 0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
chip-id = <0>;
|
||||
|
||||
/* FSI engine at 0xc00, using a single page. In this example,
|
||||
* it's an I2C master controller, so subnodes describe the
|
||||
|
|
|
|||
36
Documentation/devicetree/bindings/gnss/gnss.txt
Normal file
36
Documentation/devicetree/bindings/gnss/gnss.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
GNSS Receiver DT binding
|
||||
|
||||
This documents the binding structure and common properties for GNSS receiver
|
||||
devices.
|
||||
|
||||
A GNSS receiver node is a node named "gnss" and typically resides on a serial
|
||||
bus (e.g. UART, I2C or SPI).
|
||||
|
||||
Please refer to the following documents for generic properties:
|
||||
|
||||
Documentation/devicetree/bindings/serial/slave-device.txt
|
||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : A string reflecting the vendor and specific device the node
|
||||
represents
|
||||
|
||||
Optional properties:
|
||||
- enable-gpios : GPIO used to enable the device
|
||||
- timepulse-gpios : Time pulse GPIO
|
||||
|
||||
Example:
|
||||
|
||||
serial@1234 {
|
||||
compatible = "ns16550a";
|
||||
|
||||
gnss {
|
||||
compatible = "u-blox,neo-8";
|
||||
|
||||
vcc-supply = <&gnss_reg>;
|
||||
timepulse-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
current-speed = <4800>;
|
||||
};
|
||||
};
|
||||
45
Documentation/devicetree/bindings/gnss/sirfstar.txt
Normal file
45
Documentation/devicetree/bindings/gnss/sirfstar.txt
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
SiRFstar-based GNSS Receiver DT binding
|
||||
|
||||
SiRFstar chipsets are used in GNSS-receiver modules produced by several
|
||||
vendors and can use UART, SPI or I2C interfaces.
|
||||
|
||||
Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
|
||||
properties.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Must be one of
|
||||
|
||||
"fastrax,uc430"
|
||||
"linx,r4"
|
||||
"wi2wi,w2sg0008i"
|
||||
"wi2wi,w2sg0084i"
|
||||
|
||||
- vcc-supply : Main voltage regulator (pin name: 3V3_IN, VCC, VDD)
|
||||
|
||||
Required properties (I2C):
|
||||
- reg : I2C slave address
|
||||
|
||||
Required properties (SPI):
|
||||
- reg : SPI chip select address
|
||||
|
||||
Optional properties:
|
||||
|
||||
- sirf,onoff-gpios : GPIO used to power on and off device (pin name: ON_OFF)
|
||||
- sirf,wakeup-gpios : GPIO used to determine device power state
|
||||
(pin name: RFPWRUP, WAKEUP)
|
||||
- timepulse-gpios : Time pulse GPIO (pin name: 1PPS, TM)
|
||||
|
||||
Example:
|
||||
|
||||
serial@1234 {
|
||||
compatible = "ns16550a";
|
||||
|
||||
gnss {
|
||||
compatible = "wi2wi,w2sg0084i";
|
||||
|
||||
vcc-supply = <&gnss_reg>;
|
||||
sirf,onoff-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
|
||||
sirf,wakeup-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
44
Documentation/devicetree/bindings/gnss/u-blox.txt
Normal file
44
Documentation/devicetree/bindings/gnss/u-blox.txt
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
u-blox GNSS Receiver DT binding
|
||||
|
||||
The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
|
||||
|
||||
Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
|
||||
properties.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Must be one of
|
||||
|
||||
"u-blox,neo-8"
|
||||
"u-blox,neo-m8"
|
||||
|
||||
- vcc-supply : Main voltage regulator
|
||||
|
||||
Required properties (DDC):
|
||||
- reg : DDC (I2C) slave address
|
||||
|
||||
Required properties (SPI):
|
||||
- reg : SPI chip select address
|
||||
|
||||
Required properties (USB):
|
||||
- reg : Number of the USB hub port or the USB host-controller port
|
||||
to which this device is attached
|
||||
|
||||
Optional properties:
|
||||
|
||||
- timepulse-gpios : Time pulse GPIO
|
||||
- u-blox,extint-gpios : GPIO connected to the "external interrupt" input pin
|
||||
- v-bckp-supply : Backup voltage regulator
|
||||
|
||||
Example:
|
||||
|
||||
serial@1234 {
|
||||
compatible = "ns16550a";
|
||||
|
||||
gnss {
|
||||
compatible = "u-blox,neo-8";
|
||||
|
||||
v-bckp-supply = <&gnss_v_bckp_reg>;
|
||||
vcc-supply = <&gnss_vcc_reg>;
|
||||
};
|
||||
};
|
||||
48
Documentation/devicetree/bindings/mux/adi,adgs1408.txt
Normal file
48
Documentation/devicetree/bindings/mux/adi,adgs1408.txt
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
Bindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be one of
|
||||
* "adi,adgs1408"
|
||||
* "adi,adgs1409"
|
||||
* Standard mux-controller bindings as described in mux-controller.txt
|
||||
|
||||
Optional properties for ADGS1408/1409:
|
||||
- gpio-controller : if present, #gpio-cells is required.
|
||||
- #gpio-cells : should be <2>
|
||||
- First cell is the GPO line number, i.e. 0 to 3
|
||||
for ADGS1408 and 0 to 4 for ADGS1409
|
||||
- Second cell is used to specify active high (0)
|
||||
or active low (1)
|
||||
|
||||
Optional properties:
|
||||
- idle-state : if present, the state that the mux controller will have
|
||||
when idle. The special state MUX_IDLE_AS_IS is the default and
|
||||
MUX_IDLE_DISCONNECT is also supported.
|
||||
|
||||
States 0 through 7 correspond to signals S1 through S8 in the datasheet.
|
||||
For ADGS1409 only states 0 to 3 are available.
|
||||
|
||||
Example:
|
||||
|
||||
/*
|
||||
* One mux controller.
|
||||
* Mux state set to idle as is (no idle-state declared)
|
||||
*/
|
||||
&spi0 {
|
||||
mux: mux-controller@0 {
|
||||
compatible = "adi,adgs1408";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
#mux-control-cells = <0>;
|
||||
};
|
||||
}
|
||||
|
||||
adc-mux {
|
||||
compatible = "io-channel-mux";
|
||||
io-channels = <&adc 1>;
|
||||
io-channel-names = "parent";
|
||||
mux-controls = <&mux>;
|
||||
|
||||
channels = "out_a0", "out_a1", "test0", "test1",
|
||||
"out_b0", "out_b1", "testb0", "testb1";
|
||||
};
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
Freescale i.MX6 On-Chip OTP Controller (OCOTP) device tree bindings
|
||||
|
||||
This binding represents the on-chip eFuse OTP controller found on
|
||||
i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX and i.MX6UL SoCs.
|
||||
i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX, i.MX6UL and i.MX6SLL SoCs.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of
|
||||
|
|
@ -10,6 +10,7 @@ Required properties:
|
|||
"fsl,imx6sx-ocotp" (i.MX6SX),
|
||||
"fsl,imx6ul-ocotp" (i.MX6UL),
|
||||
"fsl,imx7d-ocotp" (i.MX7D/S),
|
||||
"fsl,imx6sll-ocotp" (i.MX6SLL),
|
||||
followed by "syscon".
|
||||
- #address-cells : Should be 1
|
||||
- #size-cells : Should be 1
|
||||
|
|
|
|||
52
Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt
Normal file
52
Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
= Spreadtrum SC27XX PMIC eFuse device tree bindings =
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following.
|
||||
"sprd,sc2720-efuse"
|
||||
"sprd,sc2721-efuse"
|
||||
"sprd,sc2723-efuse"
|
||||
"sprd,sc2730-efuse"
|
||||
"sprd,sc2731-efuse"
|
||||
- reg: Specify the address offset of efuse controller.
|
||||
- hwlocks: Reference to a phandle of a hwlock provider node.
|
||||
|
||||
= Data cells =
|
||||
Are child nodes of eFuse, bindings of which as described in
|
||||
bindings/nvmem/nvmem.txt
|
||||
|
||||
Example:
|
||||
|
||||
sc2731_pmic: pmic@0 {
|
||||
compatible = "sprd,sc2731";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <26000000>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
efuse@380 {
|
||||
compatible = "sprd,sc2731-efuse";
|
||||
reg = <0x380>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
hwlocks = <&hwlock 12>;
|
||||
|
||||
/* Data cells */
|
||||
thermal_calib: calib@10 {
|
||||
reg = <0x10 0x2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
= Data consumers =
|
||||
Are device nodes which consume nvmem data cells.
|
||||
|
||||
Example:
|
||||
|
||||
thermal {
|
||||
...
|
||||
nvmem-cells = <&thermal_calib>;
|
||||
nvmem-cell-names = "calibration";
|
||||
};
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
Qualcomm SLIMBus Non Generic Device (NGD) Controller binding
|
||||
|
||||
SLIMBus NGD controller is a light-weight driver responsible for communicating
|
||||
with SLIMBus slaves directly over the bus using messaging interface and
|
||||
communicating with master component residing on ADSP for bandwidth and
|
||||
data-channel management
|
||||
|
||||
Please refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,slim-ngd-v<MAJOR>.<MINOR>.<STEP>"
|
||||
must be one of the following.
|
||||
"qcom,slim-ngd-v1.5.0" for MSM8996
|
||||
"qcom,slim-ngd-v2.1.0" for SDM845
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: must specify the base address and size of the controller
|
||||
register space.
|
||||
- dmas
|
||||
Usage: required
|
||||
Value type: <array of phandles>
|
||||
Definition: List of rx and tx dma channels
|
||||
|
||||
- dma-names
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "rx" and "tx".
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: must list controller IRQ.
|
||||
|
||||
#address-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should be 1, reflecting the instance id of ngd.
|
||||
|
||||
#size-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should be 0
|
||||
|
||||
= NGD Devices
|
||||
Each subnode represents an instance of NGD, must contain the following
|
||||
properties:
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should be instance id of ngd.
|
||||
|
||||
#address-cells
|
||||
Usage: required
|
||||
Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
||||
|
||||
#size-cells
|
||||
Usage: required
|
||||
Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
||||
|
||||
= EXAMPLE
|
||||
|
||||
slim@91c0000 {
|
||||
compatible = "qcom,slim-ngd-v1.5.0";
|
||||
reg = <0x91c0000 0x2c000>;
|
||||
interrupts = <0 163 0>;
|
||||
dmas = <&slimbam 3>, <&slimbam 4>;
|
||||
dma-names = "rx", "tx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ngd@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
codec@1 {
|
||||
compatible = "slim217,1a0";
|
||||
reg = <1 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -129,6 +129,7 @@ excito Excito
|
|||
ezchip EZchip Semiconductor
|
||||
fairphone Fairphone B.V.
|
||||
faraday Faraday Technology Corporation
|
||||
fastrax Fastrax Oy
|
||||
fcs Fairchild Semiconductor
|
||||
firefly Firefly
|
||||
focaltech FocalTech Systems Co.,Ltd
|
||||
|
|
@ -209,6 +210,7 @@ licheepi Lichee Pi
|
|||
linaro Linaro Limited
|
||||
linksys Belkin International, Inc. (Linksys)
|
||||
linux Linux-specific binding
|
||||
linx Linx Technologies
|
||||
lltc Linear Technology Corporation
|
||||
logicpd Logic PD, Inc.
|
||||
lsi LSI Corp. (LSI Logic)
|
||||
|
|
@ -390,6 +392,7 @@ tronsmart Tronsmart
|
|||
truly Truly Semiconductors Limited
|
||||
tsd Theobroma Systems Design und Consulting GmbH
|
||||
tyan Tyan Computer Corporation
|
||||
u-blox u-blox
|
||||
ucrobotics uCRobotics
|
||||
ubnt Ubiquiti Networks
|
||||
udoo Udoo
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ The programming sequence is::
|
|||
3. .write_complete
|
||||
|
||||
The .write_init function will prepare the FPGA to receive the image data. The
|
||||
buffer passed into .write_init will be atmost .initial_header_size bytes long,
|
||||
buffer passed into .write_init will be at most .initial_header_size bytes long;
|
||||
if the whole bitstream is not immediately available then the core code will
|
||||
buffer up at least this much before starting.
|
||||
|
||||
|
|
@ -98,9 +98,9 @@ scatter list. This interface is suitable for drivers which use DMA.
|
|||
The .write_complete function is called after all the image has been written
|
||||
to put the FPGA into operating mode.
|
||||
|
||||
The ops include a .state function which will read the hardware FPGA manager and
|
||||
return a code of type enum fpga_mgr_states. It doesn't result in a change in
|
||||
hardware state.
|
||||
The ops include a .state function which will determine the state the FPGA is in
|
||||
and return a code of type enum fpga_mgr_states. It doesn't result in a change
|
||||
in state.
|
||||
|
||||
How to write an image buffer to a supported FPGA
|
||||
------------------------------------------------
|
||||
|
|
@ -181,8 +181,8 @@ API for implementing a new FPGA Manager driver
|
|||
.. kernel-doc:: drivers/fpga/fpga-mgr.c
|
||||
:functions: fpga_mgr_unregister
|
||||
|
||||
API for programming a FPGA
|
||||
--------------------------
|
||||
API for programming an FPGA
|
||||
---------------------------
|
||||
|
||||
.. kernel-doc:: include/linux/fpga/fpga-mgr.h
|
||||
:functions: fpga_image_info
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue