diff options
Diffstat (limited to 'Documentation')
6 files changed, 355 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt new file mode 100644 index 000000000000..0f6355ce39b5 --- /dev/null +++ b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt | |||
@@ -0,0 +1,72 @@ | |||
1 | ChromeOS EC Keyboard | ||
2 | |||
3 | Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on | ||
4 | a separate EC (Embedded Controller) device. It provides a message for reading | ||
5 | key scans from the EC. These are then converted into keycodes for processing | ||
6 | by the kernel. | ||
7 | |||
8 | This binding is based on matrix-keymap.txt and extends/modifies it as follows: | ||
9 | |||
10 | Required properties: | ||
11 | - compatible: "google,cros-ec-keyb" | ||
12 | |||
13 | Optional properties: | ||
14 | - google,needs-ghost-filter: True to enable a ghost filter for the matrix | ||
15 | keyboard. This is recommended if the EC does not have its own logic or | ||
16 | hardware for this. | ||
17 | |||
18 | |||
19 | Example: | ||
20 | |||
21 | cros-ec-keyb { | ||
22 | compatible = "google,cros-ec-keyb"; | ||
23 | keypad,num-rows = <8>; | ||
24 | keypad,num-columns = <13>; | ||
25 | google,needs-ghost-filter; | ||
26 | /* | ||
27 | * Keymap entries take the form of 0xRRCCKKKK where | ||
28 | * RR=Row CC=Column KKKK=Key Code | ||
29 | * The values below are for a US keyboard layout and | ||
30 | * are taken from the Linux driver. Note that the | ||
31 | * 102ND key is not used for US keyboards. | ||
32 | */ | ||
33 | linux,keymap = < | ||
34 | /* CAPSLCK F1 B F10 */ | ||
35 | 0x0001003a 0x0002003b 0x00030030 0x00040044 | ||
36 | /* N = R_ALT ESC */ | ||
37 | 0x00060031 0x0008000d 0x000a0064 0x01010001 | ||
38 | /* F4 G F7 H */ | ||
39 | 0x0102003e 0x01030022 0x01040041 0x01060023 | ||
40 | /* ' F9 BKSPACE L_CTRL */ | ||
41 | 0x01080028 0x01090043 0x010b000e 0x0200001d | ||
42 | /* TAB F3 T F6 */ | ||
43 | 0x0201000f 0x0202003d 0x02030014 0x02040040 | ||
44 | /* ] Y 102ND [ */ | ||
45 | 0x0205001b 0x02060015 0x02070056 0x0208001a | ||
46 | /* F8 GRAVE F2 5 */ | ||
47 | 0x02090042 0x03010029 0x0302003c 0x03030006 | ||
48 | /* F5 6 - \ */ | ||
49 | 0x0304003f 0x03060007 0x0308000c 0x030b002b | ||
50 | /* R_CTRL A D F */ | ||
51 | 0x04000061 0x0401001e 0x04020020 0x04030021 | ||
52 | /* S K J ; */ | ||
53 | 0x0404001f 0x04050025 0x04060024 0x04080027 | ||
54 | /* L ENTER Z C */ | ||
55 | 0x04090026 0x040b001c 0x0501002c 0x0502002e | ||
56 | /* V X , M */ | ||
57 | 0x0503002f 0x0504002d 0x05050033 0x05060032 | ||
58 | /* L_SHIFT / . SPACE */ | ||
59 | 0x0507002a 0x05080035 0x05090034 0x050B0039 | ||
60 | /* 1 3 4 2 */ | ||
61 | 0x06010002 0x06020004 0x06030005 0x06040003 | ||
62 | /* 8 7 0 9 */ | ||
63 | 0x06050009 0x06060008 0x0608000b 0x0609000a | ||
64 | /* L_ALT DOWN RIGHT Q */ | ||
65 | 0x060a0038 0x060b006c 0x060c006a 0x07010010 | ||
66 | /* E R W I */ | ||
67 | 0x07020012 0x07030013 0x07040011 0x07050017 | ||
68 | /* U R_SHIFT P O */ | ||
69 | 0x07060016 0x07070036 0x07080019 0x07090018 | ||
70 | /* UP LEFT */ | ||
71 | 0x070b0067 0x070c0069>; | ||
72 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/as3711.txt b/Documentation/devicetree/bindings/mfd/as3711.txt new file mode 100644 index 000000000000..d98cf18c721c --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/as3711.txt | |||
@@ -0,0 +1,73 @@ | |||
1 | AS3711 is an I2C PMIC from Austria MicroSystems with multiple DCDC and LDO power | ||
2 | supplies, a battery charger and an RTC. So far only bindings for the two stepup | ||
3 | DCDC converters are defined. Other DCDC and LDO supplies are configured, using | ||
4 | standard regulator properties, they must belong to a sub-node, called | ||
5 | "regulators" and be called "sd1" to "sd4" and "ldo1" to "ldo8." Stepup converter | ||
6 | configuration should be placed in a subnode, called "backlight." | ||
7 | |||
8 | Compulsory properties: | ||
9 | - compatible : must be "ams,as3711" | ||
10 | - reg : specifies the I2C address | ||
11 | |||
12 | To use the SU1 converter as a backlight source the following two properties must | ||
13 | be provided: | ||
14 | - su1-dev : framebuffer phandle | ||
15 | - su1-max-uA : maximum current | ||
16 | |||
17 | To use the SU2 converter as a backlight source the following two properties must | ||
18 | be provided: | ||
19 | - su2-dev : framebuffer phandle | ||
20 | - su1-max-uA : maximum current | ||
21 | |||
22 | Additionally one of these properties must be provided to select the type of | ||
23 | feedback used: | ||
24 | - su2-feedback-voltage : voltage feedback is used | ||
25 | - su2-feedback-curr1 : CURR1 input used for current feedback | ||
26 | - su2-feedback-curr2 : CURR2 input used for current feedback | ||
27 | - su2-feedback-curr3 : CURR3 input used for current feedback | ||
28 | - su2-feedback-curr-auto: automatic current feedback selection | ||
29 | |||
30 | and one of these to select the over-voltage protection pin | ||
31 | - su2-fbprot-lx-sd4 : LX_SD4 is used for over-voltage protection | ||
32 | - su2-fbprot-gpio2 : GPIO2 is used for over-voltage protection | ||
33 | - su2-fbprot-gpio3 : GPIO3 is used for over-voltage protection | ||
34 | - su2-fbprot-gpio4 : GPIO4 is used for over-voltage protection | ||
35 | |||
36 | If "su2-feedback-curr-auto" is selected, one or more of the following properties | ||
37 | have to be specified: | ||
38 | - su2-auto-curr1 : use CURR1 input for current feedback | ||
39 | - su2-auto-curr2 : use CURR2 input for current feedback | ||
40 | - su2-auto-curr3 : use CURR3 input for current feedback | ||
41 | |||
42 | Example: | ||
43 | |||
44 | as3711@40 { | ||
45 | compatible = "ams,as3711"; | ||
46 | reg = <0x40>; | ||
47 | |||
48 | regulators { | ||
49 | sd4 { | ||
50 | regulator-name = "1.215V"; | ||
51 | regulator-min-microvolt = <1215000>; | ||
52 | regulator-max-microvolt = <1235000>; | ||
53 | }; | ||
54 | ldo2 { | ||
55 | regulator-name = "2.8V CPU"; | ||
56 | regulator-min-microvolt = <2800000>; | ||
57 | regulator-max-microvolt = <2800000>; | ||
58 | regulator-always-on; | ||
59 | regulator-boot-on; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | backlight { | ||
64 | compatible = "ams,as3711-bl"; | ||
65 | su2-dev = <&lcdc>; | ||
66 | su2-max-uA = <36000>; | ||
67 | su2-feedback-curr-auto; | ||
68 | su2-fbprot-gpio4; | ||
69 | su2-auto-curr1; | ||
70 | su2-auto-curr2; | ||
71 | su2-auto-curr3; | ||
72 | }; | ||
73 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/cros-ec.txt b/Documentation/devicetree/bindings/mfd/cros-ec.txt new file mode 100644 index 000000000000..e0e59c58a1f9 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/cros-ec.txt | |||
@@ -0,0 +1,56 @@ | |||
1 | ChromeOS Embedded Controller | ||
2 | |||
3 | Google's ChromeOS EC is a Cortex-M device which talks to the AP and | ||
4 | implements various function such as keyboard and battery charging. | ||
5 | |||
6 | The EC can be connect through various means (I2C, SPI, LPC) and the | ||
7 | compatible string used depends on the inteface. Each connection method has | ||
8 | its own driver which connects to the top level interface-agnostic EC driver. | ||
9 | Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to | ||
10 | the top-level driver. | ||
11 | |||
12 | Required properties (I2C): | ||
13 | - compatible: "google,cros-ec-i2c" | ||
14 | - reg: I2C slave address | ||
15 | |||
16 | Required properties (SPI): | ||
17 | - compatible: "google,cros-ec-spi" | ||
18 | - reg: SPI chip select | ||
19 | |||
20 | Required properties (LPC): | ||
21 | - compatible: "google,cros-ec-lpc" | ||
22 | - reg: List of (IO address, size) pairs defining the interface uses | ||
23 | |||
24 | |||
25 | Example for I2C: | ||
26 | |||
27 | i2c@12CA0000 { | ||
28 | cros-ec@1e { | ||
29 | reg = <0x1e>; | ||
30 | compatible = "google,cros-ec-i2c"; | ||
31 | interrupts = <14 0>; | ||
32 | interrupt-parent = <&wakeup_eint>; | ||
33 | wakeup-source; | ||
34 | }; | ||
35 | |||
36 | |||
37 | Example for SPI: | ||
38 | |||
39 | spi@131b0000 { | ||
40 | ec@0 { | ||
41 | compatible = "google,cros-ec-spi"; | ||
42 | reg = <0x0>; | ||
43 | interrupts = <14 0>; | ||
44 | interrupt-parent = <&wakeup_eint>; | ||
45 | wakeup-source; | ||
46 | spi-max-frequency = <5000000>; | ||
47 | controller-data { | ||
48 | cs-gpio = <&gpf0 3 4 3 0>; | ||
49 | samsung,spi-cs; | ||
50 | samsung,spi-feedback-delay = <2>; | ||
51 | }; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | |||
56 | Example for LPC is not supplied as it is not yet implemented. | ||
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt new file mode 100644 index 000000000000..b381fa696bf9 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt | |||
@@ -0,0 +1,80 @@ | |||
1 | OMAP HS USB Host | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: should be "ti,usbhs-host" | ||
6 | - reg: should contain one register range i.e. start and length | ||
7 | - ti,hwmods: must contain "usb_host_hs" | ||
8 | |||
9 | Optional properties: | ||
10 | |||
11 | - num-ports: number of USB ports. Usually this is automatically detected | ||
12 | from the IP's revision register but can be overridden by specifying | ||
13 | this property. A maximum of 3 ports are supported at the moment. | ||
14 | |||
15 | - portN-mode: String specifying the port mode for port N, where N can be | ||
16 | from 1 to 3. If the port mode is not specified, that port is treated | ||
17 | as unused. When specified, it must be one of the following. | ||
18 | "ehci-phy", | ||
19 | "ehci-tll", | ||
20 | "ehci-hsic", | ||
21 | "ohci-phy-6pin-datse0", | ||
22 | "ohci-phy-6pin-dpdm", | ||
23 | "ohci-phy-3pin-datse0", | ||
24 | "ohci-phy-4pin-dpdm", | ||
25 | "ohci-tll-6pin-datse0", | ||
26 | "ohci-tll-6pin-dpdm", | ||
27 | "ohci-tll-3pin-datse0", | ||
28 | "ohci-tll-4pin-dpdm", | ||
29 | "ohci-tll-2pin-datse0", | ||
30 | "ohci-tll-2pin-dpdm", | ||
31 | |||
32 | - single-ulpi-bypass: Must be present if the controller contains a single | ||
33 | ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 | ||
34 | |||
35 | Required properties if child node exists: | ||
36 | |||
37 | - #address-cells: Must be 1 | ||
38 | - #size-cells: Must be 1 | ||
39 | - ranges: must be present | ||
40 | |||
41 | Properties for children: | ||
42 | |||
43 | The OMAP HS USB Host subsystem contains EHCI and OHCI controllers. | ||
44 | See Documentation/devicetree/bindings/usb/omap-ehci.txt and | ||
45 | omap3-ohci.txt | ||
46 | |||
47 | Example for OMAP4: | ||
48 | |||
49 | usbhshost: usbhshost@4a064000 { | ||
50 | compatible = "ti,usbhs-host"; | ||
51 | reg = <0x4a064000 0x800>; | ||
52 | ti,hwmods = "usb_host_hs"; | ||
53 | #address-cells = <1>; | ||
54 | #size-cells = <1>; | ||
55 | ranges; | ||
56 | |||
57 | usbhsohci: ohci@4a064800 { | ||
58 | compatible = "ti,ohci-omap3", "usb-ohci"; | ||
59 | reg = <0x4a064800 0x400>; | ||
60 | interrupt-parent = <&gic>; | ||
61 | interrupts = <0 76 0x4>; | ||
62 | }; | ||
63 | |||
64 | usbhsehci: ehci@4a064c00 { | ||
65 | compatible = "ti,ehci-omap", "usb-ehci"; | ||
66 | reg = <0x4a064c00 0x400>; | ||
67 | interrupt-parent = <&gic>; | ||
68 | interrupts = <0 77 0x4>; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | &usbhshost { | ||
73 | port1-mode = "ehci-phy"; | ||
74 | port2-mode = "ehci-tll"; | ||
75 | port3-mode = "ehci-phy"; | ||
76 | }; | ||
77 | |||
78 | &usbhsehci { | ||
79 | phys = <&hsusb1_phy 0 &hsusb3_phy>; | ||
80 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt new file mode 100644 index 000000000000..62fe69724e3b --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | OMAP HS USB Host TLL (Transceiver-Less Interface) | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "ti,usbhs-tll" | ||
6 | - reg : should contain one register range i.e. start and length | ||
7 | - interrupts : should contain the TLL module's interrupt | ||
8 | - ti,hwmod : must contain "usb_tll_hs" | ||
9 | |||
10 | Example: | ||
11 | |||
12 | usbhstll: usbhstll@4a062000 { | ||
13 | compatible = "ti,usbhs-tll"; | ||
14 | reg = <0x4a062000 0x1000>; | ||
15 | interrupts = <78>; | ||
16 | ti,hwmods = "usb_tll_hs"; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8994.txt b/Documentation/devicetree/bindings/sound/wm8994.txt index 7a7eb1e7bda6..f2f3e80934d2 100644 --- a/Documentation/devicetree/bindings/sound/wm8994.txt +++ b/Documentation/devicetree/bindings/sound/wm8994.txt | |||
@@ -5,14 +5,70 @@ on the board). | |||
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | 7 | ||
8 | - compatible : "wlf,wm1811", "wlf,wm8994", "wlf,wm8958" | 8 | - compatible : One of "wlf,wm1811", "wlf,wm8994" or "wlf,wm8958". |
9 | 9 | ||
10 | - reg : the I2C address of the device for I2C, the chip select | 10 | - reg : the I2C address of the device for I2C, the chip select |
11 | number for SPI. | 11 | number for SPI. |
12 | 12 | ||
13 | - gpio-controller : Indicates this device is a GPIO controller. | ||
14 | - #gpio-cells : Must be 2. The first cell is the pin number and the | ||
15 | second cell is used to specify optional parameters (currently unused). | ||
16 | |||
17 | - AVDD2-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply, | ||
18 | SPKVDD1-supply, SPKVDD2-supply : power supplies for the device, as covered | ||
19 | in Documentation/devicetree/bindings/regulator/regulator.txt | ||
20 | |||
21 | Optional properties: | ||
22 | |||
23 | - interrupts : The interrupt line the IRQ signal for the device is | ||
24 | connected to. This is optional, if it is not connected then none | ||
25 | of the interrupt related properties should be specified. | ||
26 | - interrupt-controller : These devices contain interrupt controllers | ||
27 | and may provide interrupt services to other devices if they have an | ||
28 | interrupt line connected. | ||
29 | - interrupt-parent : The parent interrupt controller. | ||
30 | - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. | ||
31 | The first cell is the IRQ number. | ||
32 | The second cell is the flags, encoded as the trigger masks from | ||
33 | Documentation/devicetree/bindings/interrupts.txt | ||
34 | |||
35 | - wlf,gpio-cfg : A list of GPIO configuration register values. If absent, | ||
36 | no configuration of these registers is performed. If any value is | ||
37 | over 0xffff then the register will be left as default. If present 11 | ||
38 | values must be supplied. | ||
39 | |||
40 | - wlf,micbias-cfg : Two MICBIAS register values for WM1811 or | ||
41 | WM8958. If absent the register defaults will be used. | ||
42 | |||
43 | - wlf,ldo1ena : GPIO specifier for control of LDO1ENA input to device. | ||
44 | - wlf,ldo2ena : GPIO specifier for control of LDO2ENA input to device. | ||
45 | |||
46 | - wlf,lineout1-se : If present LINEOUT1 is in single ended mode. | ||
47 | - wlf,lineout2-se : If present LINEOUT2 is in single ended mode. | ||
48 | |||
49 | - wlf,lineout1-feedback : If present LINEOUT1 has common mode feedback | ||
50 | connected. | ||
51 | - wlf,lineout2-feedback : If present LINEOUT2 has common mode feedback | ||
52 | connected. | ||
53 | |||
54 | - wlf,ldoena-always-driven : If present LDOENA is always driven. | ||
55 | |||
13 | Example: | 56 | Example: |
14 | 57 | ||
15 | codec: wm8994@1a { | 58 | codec: wm8994@1a { |
16 | compatible = "wlf,wm8994"; | 59 | compatible = "wlf,wm8994"; |
17 | reg = <0x1a>; | 60 | reg = <0x1a>; |
61 | |||
62 | gpio-controller; | ||
63 | #gpio-cells = <2>; | ||
64 | |||
65 | lineout1-se; | ||
66 | |||
67 | AVDD2-supply = <®ulator>; | ||
68 | CPVDD-supply = <®ulator>; | ||
69 | DBVDD1-supply = <®ulator>; | ||
70 | DBVDD2-supply = <®ulator>; | ||
71 | DBVDD3-supply = <®ulator>; | ||
72 | SPKVDD1-supply = <®ulator>; | ||
73 | SPKVDD2-supply = <®ulator>; | ||
18 | }; | 74 | }; |