Skip to content

Commit

Permalink
Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/…
Browse files Browse the repository at this point in the history
…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()
  ...
  • Loading branch information
torvalds committed Aug 18, 2018
2 parents 2475c51 + 128f380 commit d5acba2
Show file tree
Hide file tree
Showing 302 changed files with 18,142 additions and 1,559 deletions.
7 changes: 7 additions & 0 deletions Documentation/ABI/stable/sysfs-bus-vmbus
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ Contact: K. Y. Srinivasan <[email protected]>
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 <[email protected]>
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
Expand Down
8 changes: 8 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-coresight-devices-tmc
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,11 @@ KernelVersion: 4.7
Contact: Mathieu Poirier <[email protected]>
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 <[email protected]>
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.
24 changes: 24 additions & 0 deletions Documentation/ABI/testing/sysfs-class-fpga-manager
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]>
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 changes: 9 additions & 0 deletions Documentation/ABI/testing/sysfs-class-fpga-region
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
What: /sys/class/fpga_region/<region>/compat_id
Date: June 2018
KernelVersion: 4.19
Contact: Wu Hao <[email protected]>
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 changes: 15 additions & 0 deletions Documentation/ABI/testing/sysfs-class-gnss
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
What: /sys/class/gnss/gnssN/type
Date: May 2018
KernelVersion: 4.18
Contact: Johan Hovold <[email protected]>
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).
11 changes: 11 additions & 0 deletions Documentation/ABI/testing/sysfs-class-mei
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]>
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 changes: 23 additions & 0 deletions Documentation/ABI/testing/sysfs-platform-dfl-fme
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
What: /sys/bus/platform/devices/dfl-fme.0/ports_num
Date: June 2018
KernelVersion: 4.19
Contact: Wu Hao <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 changes: 16 additions & 0 deletions Documentation/ABI/testing/sysfs-platform-dfl-port
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
What: /sys/bus/platform/devices/dfl-port.0/id
Date: June 2018
KernelVersion: 4.19
Contact: Wu Hao <[email protected]>
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 <[email protected]>
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.
58 changes: 57 additions & 1 deletion Documentation/devicetree/bindings/arm/coresight.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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:

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 changes: 36 additions & 0 deletions Documentation/devicetree/bindings/fsi/fsi-master-ast-cf.txt
Original file line number Diff line number Diff line change
@@ -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>;
}
5 changes: 5 additions & 0 deletions Documentation/devicetree/bindings/fsi/fsi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
---------------------
Expand Down Expand Up @@ -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
Expand Down
36 changes: 36 additions & 0 deletions Documentation/devicetree/bindings/gnss/gnss.txt
Original file line number Diff line number Diff line change
@@ -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 changes: 45 additions & 0 deletions Documentation/devicetree/bindings/gnss/sirfstar.txt
Original file line number Diff line number Diff line change
@@ -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>;
};
};
Loading

0 comments on commit d5acba2

Please sign in to comment.