Skip to content

Commit d5acba2

Browse files
committed
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() ...
2 parents 2475c51 + 128f380 commit d5acba2

File tree

302 files changed

+18142
-1559
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

302 files changed

+18142
-1559
lines changed

Documentation/ABI/stable/sysfs-bus-vmbus

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ Contact: K. Y. Srinivasan <[email protected]>
4242
Description: The 16 bit vendor ID of the device
4343
Users: tools/hv/lsvmbus and user level RDMA libraries
4444

45+
What: /sys/bus/vmbus/devices/<UUID>/numa_node
46+
Date: Jul 2018
47+
KernelVersion: 4.19
48+
Contact: Stephen Hemminger <[email protected]>
49+
Description: This NUMA node to which the VMBUS device is
50+
attached, or -1 if the node is unknown.
51+
4552
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>
4653
Date: September. 2017
4754
KernelVersion: 4.14

Documentation/ABI/testing/sysfs-bus-coresight-devices-tmc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,11 @@ KernelVersion: 4.7
8383
Contact: Mathieu Poirier <[email protected]>
8484
Description: (R) Indicates the capabilities of the Coresight TMC.
8585
The value is read directly from the DEVID register, 0xFC8,
86+
87+
What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size
88+
Date: December 2018
89+
KernelVersion: 4.19
90+
Contact: Mathieu Poirier <[email protected]>
91+
Description: (RW) Size of the trace buffer for TMC-ETR when used in SYSFS
92+
mode. Writable only for TMC-ETR configurations. The value
93+
should be aligned to the kernel pagesize.

Documentation/ABI/testing/sysfs-class-fpga-manager

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,27 @@ Description: Read fpga manager state as a string.
3535
* write complete = Doing post programming steps
3636
* write complete error = Error while doing post programming
3737
* operating = FPGA is programmed and operating
38+
39+
What: /sys/class/fpga_manager/<fpga>/status
40+
Date: June 2018
41+
KernelVersion: 4.19
42+
Contact: Wu Hao <[email protected]>
43+
Description: Read fpga manager status as a string.
44+
If FPGA programming operation fails, it could be caused by crc
45+
error or incompatible bitstream image. The intent of this
46+
interface is to provide more detailed information for FPGA
47+
programming errors to userspace. This is a list of strings for
48+
the supported status.
49+
50+
* reconfig operation error - invalid operations detected by
51+
reconfiguration hardware.
52+
e.g. start reconfiguration
53+
with errors not cleared
54+
* reconfig CRC error - CRC error detected by
55+
reconfiguration hardware.
56+
* reconfig incompatible image - reconfiguration image is
57+
incompatible with hardware
58+
* reconfig IP protocol error - protocol errors detected by
59+
reconfiguration hardware
60+
* reconfig fifo overflow error - FIFO overflow detected by
61+
reconfiguration hardware
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
What: /sys/class/fpga_region/<region>/compat_id
2+
Date: June 2018
3+
KernelVersion: 4.19
4+
Contact: Wu Hao <[email protected]>
5+
Description: FPGA region id for compatibility check, e.g. compatibility
6+
of the FPGA reconfiguration hardware and image. This value
7+
is defined or calculated by the layer that is creating the
8+
FPGA region. This interface returns the compat_id value or
9+
just error code -ENOENT in case compat_id is not used.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
What: /sys/class/gnss/gnssN/type
2+
Date: May 2018
3+
KernelVersion: 4.18
4+
Contact: Johan Hovold <[email protected]>
5+
Description:
6+
The GNSS receiver type. The currently identified types reflect
7+
the protocol(s) supported by the receiver:
8+
9+
"NMEA" NMEA 0183
10+
"SiRF" SiRF Binary
11+
"UBX" UBX
12+
13+
Note that also non-"NMEA" type receivers typically support a
14+
subset of NMEA 0183 with vendor extensions (e.g. to allow
15+
switching to a vendor protocol).

Documentation/ABI/testing/sysfs-class-mei

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,14 @@ Description: Configure tx queue limit
5454

5555
Set maximal number of pending writes
5656
per opened session.
57+
58+
What: /sys/class/mei/meiN/fw_ver
59+
Date: May 2018
60+
KernelVersion: 4.18
61+
Contact: Tomas Winkler <[email protected]>
62+
Description: Display the ME firmware version.
63+
64+
The version of the platform ME firmware is in format:
65+
<platform>:<major>.<minor>.<milestone>.<build_no>.
66+
There can be up to three such blocks for different
67+
FW components.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
What: /sys/bus/platform/devices/dfl-fme.0/ports_num
2+
Date: June 2018
3+
KernelVersion: 4.19
4+
Contact: Wu Hao <[email protected]>
5+
Description: Read-only. One DFL FPGA device may have more than 1
6+
port/Accelerator Function Unit (AFU). It returns the
7+
number of ports on the FPGA device when read it.
8+
9+
What: /sys/bus/platform/devices/dfl-fme.0/bitstream_id
10+
Date: June 2018
11+
KernelVersion: 4.19
12+
Contact: Wu Hao <[email protected]>
13+
Description: Read-only. It returns Bitstream (static FPGA region)
14+
identifier number, which includes the detailed version
15+
and other information of this static FPGA region.
16+
17+
What: /sys/bus/platform/devices/dfl-fme.0/bitstream_metadata
18+
Date: June 2018
19+
KernelVersion: 4.19
20+
Contact: Wu Hao <[email protected]>
21+
Description: Read-only. It returns Bitstream (static FPGA region) meta
22+
data, which includes the synthesis date, seed and other
23+
information of this static FPGA region.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
What: /sys/bus/platform/devices/dfl-port.0/id
2+
Date: June 2018
3+
KernelVersion: 4.19
4+
Contact: Wu Hao <[email protected]>
5+
Description: Read-only. It returns id of this port. One DFL FPGA device
6+
may have more than one port. Userspace could use this id to
7+
distinguish different ports under same FPGA device.
8+
9+
What: /sys/bus/platform/devices/dfl-port.0/afu_id
10+
Date: June 2018
11+
KernelVersion: 4.19
12+
Contact: Wu Hao <[email protected]>
13+
Description: Read-only. User can program different PR bitstreams to FPGA
14+
Accelerator Function Unit (AFU) for different functions. It
15+
returns uuid which could be used to identify which PR bitstream
16+
is programmed in this AFU.

Documentation/devicetree/bindings/arm/coresight.txt

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ its hardware characteristcs.
3939

4040
- System Trace Macrocell:
4141
"arm,coresight-stm", "arm,primecell"; [1]
42+
- Coresight Address Translation Unit (CATU)
43+
"arm,coresight-catu", "arm,primecell";
4244

4345
* reg: physical base address and length of the register
4446
set(s) of the component.
@@ -84,8 +86,15 @@ its hardware characteristcs.
8486
* Optional property for TMC:
8587

8688
* arm,buffer-size: size of contiguous buffer space for TMC ETR
87-
(embedded trace router)
89+
(embedded trace router). This property is obsolete. The buffer size
90+
can be configured dynamically via buffer_size property in sysfs.
8891

92+
* arm,scatter-gather: boolean. Indicates that the TMC-ETR can safely
93+
use the SG mode on this system.
94+
95+
* Optional property for CATU :
96+
* interrupts : Exactly one SPI may be listed for reporting the address
97+
error
8998

9099
Example:
91100

@@ -118,6 +127,35 @@ Example:
118127
};
119128
};
120129

130+
etr@20070000 {
131+
compatible = "arm,coresight-tmc", "arm,primecell";
132+
reg = <0 0x20070000 0 0x1000>;
133+
134+
clocks = <&oscclk6a>;
135+
clock-names = "apb_pclk";
136+
ports {
137+
#address-cells = <1>;
138+
#size-cells = <0>;
139+
140+
/* input port */
141+
port@0 {
142+
reg = <0>;
143+
etr_in_port: endpoint {
144+
slave-mode;
145+
remote-endpoint = <&replicator2_out_port0>;
146+
};
147+
};
148+
149+
/* CATU link represented by output port */
150+
port@1 {
151+
reg = <1>;
152+
etr_out_port: endpoint {
153+
remote-endpoint = <&catu_in_port>;
154+
};
155+
};
156+
};
157+
};
158+
121159
2. Links
122160
replicator {
123161
/* non-configurable replicators don't show up on the
@@ -247,5 +285,23 @@ Example:
247285
};
248286
};
249287

288+
5. CATU
289+
290+
catu@207e0000 {
291+
compatible = "arm,coresight-catu", "arm,primecell";
292+
reg = <0 0x207e0000 0 0x1000>;
293+
294+
clocks = <&oscclk6a>;
295+
clock-names = "apb_pclk";
296+
297+
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
298+
port {
299+
catu_in_port: endpoint {
300+
slave-mode;
301+
remote-endpoint = <&etr_out_port>;
302+
};
303+
};
304+
};
305+
250306
[1]. There is currently two version of STM: STM32 and STM500. Both
251307
have the same HW interface and as such don't need an explicit binding name.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Device-tree bindings for ColdFire offloaded gpio-based FSI master driver
2+
------------------------------------------------------------------------
3+
4+
Required properties:
5+
- compatible =
6+
"aspeed,ast2400-cf-fsi-master" for an AST2400 based system
7+
or
8+
"aspeed,ast2500-cf-fsi-master" for an AST2500 based system
9+
10+
- clock-gpios = <gpio-descriptor>; : GPIO for FSI clock
11+
- data-gpios = <gpio-descriptor>; : GPIO for FSI data signal
12+
- enable-gpios = <gpio-descriptor>; : GPIO for enable signal
13+
- trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable
14+
- mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other
15+
functions (eg, external FSI masters)
16+
- memory-region = <phandle>; : Reference to the reserved memory for
17+
the ColdFire. Must be 2M aligned on
18+
AST2400 and 1M aligned on AST2500
19+
- aspeed,sram = <phandle>; : Reference to the SRAM node.
20+
- aspeed,cvic = <phandle>; : Reference to the CVIC node.
21+
22+
Examples:
23+
24+
fsi-master {
25+
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
26+
27+
clock-gpios = <&gpio 0>;
28+
data-gpios = <&gpio 1>;
29+
enable-gpios = <&gpio 2>;
30+
trans-gpios = <&gpio 3>;
31+
mux-gpios = <&gpio 4>;
32+
33+
memory-region = <&coldfire_memory>;
34+
aspeed,sram = <&sram>;
35+
aspeed,cvic = <&cvic>;
36+
}

Documentation/devicetree/bindings/fsi/fsi.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ addresses and sizes in the slave address space:
8383
#address-cells = <1>;
8484
#size-cells = <1>;
8585

86+
Optionally, a slave can provide a global unique chip ID which is used to
87+
identify the physical location of the chip in a system specific way
88+
89+
chip-id = <0>;
8690

8791
FSI engines (devices)
8892
---------------------
@@ -125,6 +129,7 @@ device tree if no extra platform information is required.
125129
reg = <0 0>;
126130
#address-cells = <1>;
127131
#size-cells = <1>;
132+
chip-id = <0>;
128133

129134
/* FSI engine at 0xc00, using a single page. In this example,
130135
* it's an I2C master controller, so subnodes describe the
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
GNSS Receiver DT binding
2+
3+
This documents the binding structure and common properties for GNSS receiver
4+
devices.
5+
6+
A GNSS receiver node is a node named "gnss" and typically resides on a serial
7+
bus (e.g. UART, I2C or SPI).
8+
9+
Please refer to the following documents for generic properties:
10+
11+
Documentation/devicetree/bindings/serial/slave-device.txt
12+
Documentation/devicetree/bindings/spi/spi-bus.txt
13+
14+
Required properties:
15+
16+
- compatible : A string reflecting the vendor and specific device the node
17+
represents
18+
19+
Optional properties:
20+
- enable-gpios : GPIO used to enable the device
21+
- timepulse-gpios : Time pulse GPIO
22+
23+
Example:
24+
25+
serial@1234 {
26+
compatible = "ns16550a";
27+
28+
gnss {
29+
compatible = "u-blox,neo-8";
30+
31+
vcc-supply = <&gnss_reg>;
32+
timepulse-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
33+
34+
current-speed = <4800>;
35+
};
36+
};
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
SiRFstar-based GNSS Receiver DT binding
2+
3+
SiRFstar chipsets are used in GNSS-receiver modules produced by several
4+
vendors and can use UART, SPI or I2C interfaces.
5+
6+
Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
7+
properties.
8+
9+
Required properties:
10+
11+
- compatible : Must be one of
12+
13+
"fastrax,uc430"
14+
"linx,r4"
15+
"wi2wi,w2sg0008i"
16+
"wi2wi,w2sg0084i"
17+
18+
- vcc-supply : Main voltage regulator (pin name: 3V3_IN, VCC, VDD)
19+
20+
Required properties (I2C):
21+
- reg : I2C slave address
22+
23+
Required properties (SPI):
24+
- reg : SPI chip select address
25+
26+
Optional properties:
27+
28+
- sirf,onoff-gpios : GPIO used to power on and off device (pin name: ON_OFF)
29+
- sirf,wakeup-gpios : GPIO used to determine device power state
30+
(pin name: RFPWRUP, WAKEUP)
31+
- timepulse-gpios : Time pulse GPIO (pin name: 1PPS, TM)
32+
33+
Example:
34+
35+
serial@1234 {
36+
compatible = "ns16550a";
37+
38+
gnss {
39+
compatible = "wi2wi,w2sg0084i";
40+
41+
vcc-supply = <&gnss_reg>;
42+
sirf,onoff-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
43+
sirf,wakeup-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
44+
};
45+
};

0 commit comments

Comments
 (0)