Skip to content

Commit af82455

Browse files
committed
Merge tag 'char-misc-4.12-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 big set of new char/misc driver drivers and features for 4.12-rc1. There's lots of new drivers added this time around, new firmware drivers from Google, more auxdisplay drivers, extcon drivers, fpga drivers, and a bunch of other driver updates. Nothing major, except if you happen to have the hardware for these drivers, and then you will be happy :) All of these have been in linux-next for a while with no reported issues" * tag 'char-misc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (136 commits) firmware: google memconsole: Fix return value check in platform_memconsole_init() firmware: Google VPD: Fix return value check in vpd_platform_init() goldfish_pipe: fix build warning about using too much stack. goldfish_pipe: An implementation of more parallel pipe fpga fr br: update supported version numbers fpga: region: release FPGA region reference in error path fpga altera-hps2fpga: disable/unprepare clock on error in alt_fpga_bridge_probe() mei: drop the TODO from samples firmware: Google VPD sysfs driver firmware: Google VPD: import lib_vpd source files misc: lkdtm: Add volatile to intentional NULL pointer reference eeprom: idt_89hpesx: Add OF device ID table misc: ds1682: Add OF device ID table misc: tsl2550: Add OF device ID table w1: Remove unneeded use of assert() and remove w1_log.h w1: Use kernel common min() implementation uio_mf624: Align memory regions to page size and set correct offsets uio_mf624: Refactor memory info initialization uio: Allow handling of non page-aligned memory regions hangcheck-timer: Fix typo in comment ...
2 parents 0be7517 + 2a76f89 commit af82455

File tree

166 files changed

+8064
-3259
lines changed

Some content is hidden

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

166 files changed

+8064
-3259
lines changed

Documentation/DocBook/rapidio.tmpl

-3
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,6 @@
128128
</sect1>
129129
<sect1 id="Device_model_support"><title>Device model support</title>
130130
!Idrivers/rapidio/rio-driver.c
131-
</sect1>
132-
<sect1 id="Sysfs_support"><title>Sysfs support</title>
133-
!Idrivers/rapidio/rio-sysfs.c
134131
</sect1>
135132
<sect1 id="PPC32_support"><title>PPC32 support</title>
136133
!Iarch/powerpc/sysdev/fsl_rio.c
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
DT bindings for the Hitachi HD44780 Character LCD Controller
2+
3+
The Hitachi HD44780 Character LCD Controller is commonly used on character LCDs
4+
that can display one or more lines of text. It exposes an M6800 bus interface,
5+
which can be used in either 4-bit or 8-bit mode.
6+
7+
Required properties:
8+
- compatible: Must contain "hit,hd44780",
9+
- data-gpios: Must contain an array of either 4 or 8 GPIO specifiers,
10+
referring to the GPIO pins connected to the data signal lines DB0-DB7
11+
(8-bit mode) or DB4-DB7 (4-bit mode) of the LCD Controller's bus interface,
12+
- enable-gpios: Must contain a GPIO specifier, referring to the GPIO pin
13+
connected to the "E" (Enable) signal line of the LCD Controller's bus
14+
interface,
15+
- rs-gpios: Must contain a GPIO specifier, referring to the GPIO pin
16+
connected to the "RS" (Register Select) signal line of the LCD Controller's
17+
bus interface,
18+
- display-height-chars: Height of the display, in character cells,
19+
- display-width-chars: Width of the display, in character cells.
20+
21+
Optional properties:
22+
- rw-gpios: Must contain a GPIO specifier, referring to the GPIO pin
23+
connected to the "RW" (Read/Write) signal line of the LCD Controller's bus
24+
interface,
25+
- backlight-gpios: Must contain a GPIO specifier, referring to the GPIO pin
26+
used for enabling the LCD's backlight,
27+
- internal-buffer-width: Internal buffer width (default is 40 for displays
28+
with 1 or 2 lines, and display-width-chars for displays with more than 2
29+
lines).
30+
31+
Example:
32+
33+
auxdisplay {
34+
compatible = "hit,hd44780";
35+
36+
data-gpios = <&hc595 0 GPIO_ACTIVE_HIGH>,
37+
<&hc595 1 GPIO_ACTIVE_HIGH>,
38+
<&hc595 2 GPIO_ACTIVE_HIGH>,
39+
<&hc595 3 GPIO_ACTIVE_HIGH>;
40+
enable-gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
41+
rs-gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
42+
43+
display-height-chars = <2>;
44+
display-width-chars = <16>;
45+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
COREBOOT firmware information
2+
3+
The device tree node to communicate the location of coreboot's memory-resident
4+
bookkeeping structures to the kernel. Since coreboot itself cannot boot a
5+
device-tree-based kernel (yet), this node needs to be inserted by a
6+
second-stage bootloader (a coreboot "payload").
7+
8+
Required properties:
9+
- compatible: Should be "coreboot"
10+
- reg: Address and length of the following two memory regions, in order:
11+
1.) The coreboot table. This is a list of variable-sized descriptors
12+
that contain various compile- and run-time generated firmware
13+
parameters. It is identified by the magic string "LBIO" in its first
14+
four bytes.
15+
See coreboot's src/commonlib/include/commonlib/coreboot_tables.h for
16+
details.
17+
2.) The CBMEM area. This is a downward-growing memory region used by
18+
coreboot to dynamically allocate data structures that remain resident.
19+
It may or may not include the coreboot table as one of its members. It
20+
is identified by a root node descriptor with the magic number
21+
0xc0389481 that resides in the topmost 8 bytes of the area.
22+
See coreboot's src/include/imd.h for details.
23+
24+
Example:
25+
firmware {
26+
ranges;
27+
28+
coreboot {
29+
compatible = "coreboot";
30+
reg = <0xfdfea000 0x264>,
31+
<0xfdfea000 0x16000>;
32+
}
33+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Altera Arria10 Partial Reconfiguration IP
2+
3+
Required properties:
4+
- compatible : should contain "altr,a10-pr-ip"
5+
- reg : base address and size for memory mapped io.
6+
7+
Example:
8+
9+
fpga_mgr: fpga-mgr@ff20c000 {
10+
compatible = "altr,a10-pr-ip";
11+
reg = <0xff20c000 0x10>;
12+
};

Documentation/devicetree/bindings/fpga/fpga-region.txt

+1
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ Optional properties:
186186
otherwise full reconfiguration is done.
187187
- external-fpga-config : boolean, set if the FPGA has already been configured
188188
prior to OS boot up.
189+
- encrypted-fpga-config : boolean, set if the bitstream is encrypted
189190
- region-unfreeze-timeout-us : The maximum time in microseconds to wait for
190191
bridges to successfully become enabled after the region has been
191192
programmed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Lattice iCE40 FPGA Manager
2+
3+
Required properties:
4+
- compatible: Should contain "lattice,ice40-fpga-mgr"
5+
- reg: SPI chip select
6+
- spi-max-frequency: Maximum SPI frequency (>=1000000, <=25000000)
7+
- cdone-gpios: GPIO input connected to CDONE pin
8+
- reset-gpios: Active-low GPIO output connected to CRESET_B pin. Note
9+
that unless the GPIO is held low during startup, the
10+
FPGA will enter Master SPI mode and drive SCK with a
11+
clock signal potentially jamming other devices on the
12+
bus until the firmware is loaded.
13+
14+
Example:
15+
fpga: fpga@0 {
16+
compatible = "lattice,ice40-fpga-mgr";
17+
reg = <0>;
18+
spi-max-frequency = <1000000>;
19+
cdone-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
20+
reset-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
21+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Xilinx Slave Serial SPI FPGA Manager
2+
3+
Xilinx Spartan-6 FPGAs support a method of loading the bitstream over
4+
what is referred to as "slave serial" interface.
5+
The slave serial link is not technically SPI, and might require extra
6+
circuits in order to play nicely with other SPI slaves on the same bus.
7+
8+
See https://www.xilinx.com/support/documentation/user_guides/ug380.pdf
9+
10+
Required properties:
11+
- compatible: should contain "xlnx,fpga-slave-serial"
12+
- reg: spi chip select of the FPGA
13+
- prog_b-gpios: config pin (referred to as PROGRAM_B in the manual)
14+
- done-gpios: config status pin (referred to as DONE in the manual)
15+
16+
Example for full FPGA configuration:
17+
18+
fpga-region0 {
19+
compatible = "fpga-region";
20+
fpga-mgr = <&fpga_mgr_spi>;
21+
#address-cells = <0x1>;
22+
#size-cells = <0x1>;
23+
};
24+
25+
spi1: spi@10680 {
26+
compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
27+
pinctrl-0 = <&spi0_pins>;
28+
pinctrl-names = "default";
29+
#address-cells = <1>;
30+
#size-cells = <0>;
31+
cell-index = <1>;
32+
interrupts = <92>;
33+
clocks = <&coreclk 0>;
34+
status = "okay";
35+
36+
fpga_mgr_spi: fpga-mgr@0 {
37+
compatible = "xlnx,fpga-slave-serial";
38+
spi-max-frequency = <60000000>;
39+
spi-cpha;
40+
reg = <0>;
41+
done-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
42+
prog_b-gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
43+
};
44+
};

Documentation/devicetree/bindings/nvmem/allwinner,sunxi-sid.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
Allwinner sunxi-sid
22

33
Required properties:
4-
- compatible: "allwinner,sun4i-a10-sid" or "allwinner,sun7i-a20-sid"
4+
- compatible: Should be one of the following:
5+
"allwinner,sun4i-a10-sid"
6+
"allwinner,sun7i-a20-sid"
7+
"allwinner,sun8i-h3-sid"
8+
59
- reg: Should contain registers location and length
610

711
= Data cells =
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Freescale i.MX IC Identification Module (IIM) device tree bindings
2+
3+
This binding represents the IC Identification Module (IIM) found on
4+
i.MX25, i.MX27, i.MX31, i.MX35, i.MX51 and i.MX53 SoCs.
5+
6+
Required properties:
7+
- compatible: should be one of
8+
"fsl,imx25-iim", "fsl,imx27-iim",
9+
"fsl,imx31-iim", "fsl,imx35-iim",
10+
"fsl,imx51-iim", "fsl,imx53-iim",
11+
- reg: Should contain the register base and length.
12+
- interrupts: Should contain the interrupt for the IIM
13+
- clocks: Should contain a phandle pointing to the gated peripheral clock.
14+
15+
Example:
16+
17+
iim: iim@63f98000 {
18+
compatible = "fsl,imx53-iim", "fsl,imx27-iim";
19+
reg = <0x63f98000 0x4000>;
20+
interrupts = <69>;
21+
clocks = <&clks IMX5_CLK_IIM_GATE>;
22+
};

Documentation/devicetree/bindings/nvmem/imx-ocotp.txt

+5
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,19 @@ Required properties:
99
"fsl,imx6sl-ocotp" (i.MX6SL), or
1010
"fsl,imx6sx-ocotp" (i.MX6SX),
1111
"fsl,imx6ul-ocotp" (i.MX6UL),
12+
"fsl,imx7d-ocotp" (i.MX7D/S),
1213
followed by "syscon".
1314
- reg: Should contain the register base and length.
1415
- clocks: Should contain a phandle pointing to the gated peripheral clock.
1516

17+
Optional properties:
18+
- read-only: disable write access
19+
1620
Example:
1721

1822
ocotp: ocotp@021bc000 {
1923
compatible = "fsl,imx6q-ocotp", "syscon";
2024
reg = <0x021bc000 0x4000>;
2125
clocks = <&clks IMX6QDL_CLK_IIM>;
26+
read-only;
2227
};

0 commit comments

Comments
 (0)