forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/g…
…it/sameo/mfd-next Pull MFD update from Samuel Ortiz: "For 3.10 we have a few new MFD drivers for: - The ChromeOS embedded controller which provides keyboard, battery and power management services. This controller is accessible through i2c or SPI. - Silicon Laboratories 476x controller, providing access to their FM chipset and their audio codec. - Realtek's RTS5249, a memory stick, MMC and SD/SDIO PCI based reader. - Nokia's Tahvo power button and watchdog device. This device is very similar to Retu and is thus supported by the same code base. - STMicroelectronics STMPE1801, a keyboard and GPIO controller supported by the stmpe driver. - ST-Ericsson AB8540 and AB8505 power management and voltage converter controllers through the existing ab8500 code. Some other drivers got cleaned up or improved. In particular: - The Linaro/STE guys got the ab8500 driver in sync with their internal code through a series of optimizations, fixes and improvements. - The AS3711 and OMAP USB drivers now have DT support. - The arizona clock and interrupt handling code got improved. - The wm5102 register patch and boot mechanism also got improved." * tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (104 commits) mfd: si476x: Don't use 0bNNN mfd: vexpress: Handle pending config transactions mfd: ab8500: Export ab8500_gpadc_sw_hw_convert properly mfd: si476x: Fix i2c warning mfd: si476x: Add header files and Kbuild plumbing mfd: si476x: Add chip properties handling code mfd: si476x: Add the bulk of the core driver mfd: si476x: Add commands abstraction layer mfd: rtsx: Support RTS5249 mfd: retu: Add Tahvo support mfd: ucb1400: Pass ucb1400-gpio data through ac97 bus mfd: wm8994: Add some OF properties mfd: wm8994: Add device ID data to WM8994 OF device IDs input: Export matrix_keypad_parse_of_params() mfd: tps65090: Add compatible string for charger subnode mfd: db8500-prcmu: Support platform dependant device selection mfd: syscon: Fix warnings when printing resource_size_t of: Add stub of_get_parent for non-OF builds mfd: omap-usb-tll: Convert to devm_ioremap_resource() mfd: omap-usb-host: Convert to devm_ioremap_resource() ...
- Loading branch information
Showing
88 changed files
with
9,044 additions
and
1,405 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
ChromeOS EC Keyboard | ||
|
||
Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on | ||
a separate EC (Embedded Controller) device. It provides a message for reading | ||
key scans from the EC. These are then converted into keycodes for processing | ||
by the kernel. | ||
|
||
This binding is based on matrix-keymap.txt and extends/modifies it as follows: | ||
|
||
Required properties: | ||
- compatible: "google,cros-ec-keyb" | ||
|
||
Optional properties: | ||
- google,needs-ghost-filter: True to enable a ghost filter for the matrix | ||
keyboard. This is recommended if the EC does not have its own logic or | ||
hardware for this. | ||
|
||
|
||
Example: | ||
|
||
cros-ec-keyb { | ||
compatible = "google,cros-ec-keyb"; | ||
keypad,num-rows = <8>; | ||
keypad,num-columns = <13>; | ||
google,needs-ghost-filter; | ||
/* | ||
* Keymap entries take the form of 0xRRCCKKKK where | ||
* RR=Row CC=Column KKKK=Key Code | ||
* The values below are for a US keyboard layout and | ||
* are taken from the Linux driver. Note that the | ||
* 102ND key is not used for US keyboards. | ||
*/ | ||
linux,keymap = < | ||
/* CAPSLCK F1 B F10 */ | ||
0x0001003a 0x0002003b 0x00030030 0x00040044 | ||
/* N = R_ALT ESC */ | ||
0x00060031 0x0008000d 0x000a0064 0x01010001 | ||
/* F4 G F7 H */ | ||
0x0102003e 0x01030022 0x01040041 0x01060023 | ||
/* ' F9 BKSPACE L_CTRL */ | ||
0x01080028 0x01090043 0x010b000e 0x0200001d | ||
/* TAB F3 T F6 */ | ||
0x0201000f 0x0202003d 0x02030014 0x02040040 | ||
/* ] Y 102ND [ */ | ||
0x0205001b 0x02060015 0x02070056 0x0208001a | ||
/* F8 GRAVE F2 5 */ | ||
0x02090042 0x03010029 0x0302003c 0x03030006 | ||
/* F5 6 - \ */ | ||
0x0304003f 0x03060007 0x0308000c 0x030b002b | ||
/* R_CTRL A D F */ | ||
0x04000061 0x0401001e 0x04020020 0x04030021 | ||
/* S K J ; */ | ||
0x0404001f 0x04050025 0x04060024 0x04080027 | ||
/* L ENTER Z C */ | ||
0x04090026 0x040b001c 0x0501002c 0x0502002e | ||
/* V X , M */ | ||
0x0503002f 0x0504002d 0x05050033 0x05060032 | ||
/* L_SHIFT / . SPACE */ | ||
0x0507002a 0x05080035 0x05090034 0x050B0039 | ||
/* 1 3 4 2 */ | ||
0x06010002 0x06020004 0x06030005 0x06040003 | ||
/* 8 7 0 9 */ | ||
0x06050009 0x06060008 0x0608000b 0x0609000a | ||
/* L_ALT DOWN RIGHT Q */ | ||
0x060a0038 0x060b006c 0x060c006a 0x07010010 | ||
/* E R W I */ | ||
0x07020012 0x07030013 0x07040011 0x07050017 | ||
/* U R_SHIFT P O */ | ||
0x07060016 0x07070036 0x07080019 0x07090018 | ||
/* UP LEFT */ | ||
0x070b0067 0x070c0069>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
AS3711 is an I2C PMIC from Austria MicroSystems with multiple DCDC and LDO power | ||
supplies, a battery charger and an RTC. So far only bindings for the two stepup | ||
DCDC converters are defined. Other DCDC and LDO supplies are configured, using | ||
standard regulator properties, they must belong to a sub-node, called | ||
"regulators" and be called "sd1" to "sd4" and "ldo1" to "ldo8." Stepup converter | ||
configuration should be placed in a subnode, called "backlight." | ||
|
||
Compulsory properties: | ||
- compatible : must be "ams,as3711" | ||
- reg : specifies the I2C address | ||
|
||
To use the SU1 converter as a backlight source the following two properties must | ||
be provided: | ||
- su1-dev : framebuffer phandle | ||
- su1-max-uA : maximum current | ||
|
||
To use the SU2 converter as a backlight source the following two properties must | ||
be provided: | ||
- su2-dev : framebuffer phandle | ||
- su1-max-uA : maximum current | ||
|
||
Additionally one of these properties must be provided to select the type of | ||
feedback used: | ||
- su2-feedback-voltage : voltage feedback is used | ||
- su2-feedback-curr1 : CURR1 input used for current feedback | ||
- su2-feedback-curr2 : CURR2 input used for current feedback | ||
- su2-feedback-curr3 : CURR3 input used for current feedback | ||
- su2-feedback-curr-auto: automatic current feedback selection | ||
|
||
and one of these to select the over-voltage protection pin | ||
- su2-fbprot-lx-sd4 : LX_SD4 is used for over-voltage protection | ||
- su2-fbprot-gpio2 : GPIO2 is used for over-voltage protection | ||
- su2-fbprot-gpio3 : GPIO3 is used for over-voltage protection | ||
- su2-fbprot-gpio4 : GPIO4 is used for over-voltage protection | ||
|
||
If "su2-feedback-curr-auto" is selected, one or more of the following properties | ||
have to be specified: | ||
- su2-auto-curr1 : use CURR1 input for current feedback | ||
- su2-auto-curr2 : use CURR2 input for current feedback | ||
- su2-auto-curr3 : use CURR3 input for current feedback | ||
|
||
Example: | ||
|
||
as3711@40 { | ||
compatible = "ams,as3711"; | ||
reg = <0x40>; | ||
|
||
regulators { | ||
sd4 { | ||
regulator-name = "1.215V"; | ||
regulator-min-microvolt = <1215000>; | ||
regulator-max-microvolt = <1235000>; | ||
}; | ||
ldo2 { | ||
regulator-name = "2.8V CPU"; | ||
regulator-min-microvolt = <2800000>; | ||
regulator-max-microvolt = <2800000>; | ||
regulator-always-on; | ||
regulator-boot-on; | ||
}; | ||
}; | ||
|
||
backlight { | ||
compatible = "ams,as3711-bl"; | ||
su2-dev = <&lcdc>; | ||
su2-max-uA = <36000>; | ||
su2-feedback-curr-auto; | ||
su2-fbprot-gpio4; | ||
su2-auto-curr1; | ||
su2-auto-curr2; | ||
su2-auto-curr3; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
ChromeOS Embedded Controller | ||
|
||
Google's ChromeOS EC is a Cortex-M device which talks to the AP and | ||
implements various function such as keyboard and battery charging. | ||
|
||
The EC can be connect through various means (I2C, SPI, LPC) and the | ||
compatible string used depends on the inteface. Each connection method has | ||
its own driver which connects to the top level interface-agnostic EC driver. | ||
Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to | ||
the top-level driver. | ||
|
||
Required properties (I2C): | ||
- compatible: "google,cros-ec-i2c" | ||
- reg: I2C slave address | ||
|
||
Required properties (SPI): | ||
- compatible: "google,cros-ec-spi" | ||
- reg: SPI chip select | ||
|
||
Required properties (LPC): | ||
- compatible: "google,cros-ec-lpc" | ||
- reg: List of (IO address, size) pairs defining the interface uses | ||
|
||
|
||
Example for I2C: | ||
|
||
i2c@12CA0000 { | ||
cros-ec@1e { | ||
reg = <0x1e>; | ||
compatible = "google,cros-ec-i2c"; | ||
interrupts = <14 0>; | ||
interrupt-parent = <&wakeup_eint>; | ||
wakeup-source; | ||
}; | ||
|
||
|
||
Example for SPI: | ||
|
||
spi@131b0000 { | ||
ec@0 { | ||
compatible = "google,cros-ec-spi"; | ||
reg = <0x0>; | ||
interrupts = <14 0>; | ||
interrupt-parent = <&wakeup_eint>; | ||
wakeup-source; | ||
spi-max-frequency = <5000000>; | ||
controller-data { | ||
cs-gpio = <&gpf0 3 4 3 0>; | ||
samsung,spi-cs; | ||
samsung,spi-feedback-delay = <2>; | ||
}; | ||
}; | ||
}; | ||
|
||
|
||
Example for LPC is not supplied as it is not yet implemented. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
OMAP HS USB Host | ||
|
||
Required properties: | ||
|
||
- compatible: should be "ti,usbhs-host" | ||
- reg: should contain one register range i.e. start and length | ||
- ti,hwmods: must contain "usb_host_hs" | ||
|
||
Optional properties: | ||
|
||
- num-ports: number of USB ports. Usually this is automatically detected | ||
from the IP's revision register but can be overridden by specifying | ||
this property. A maximum of 3 ports are supported at the moment. | ||
|
||
- portN-mode: String specifying the port mode for port N, where N can be | ||
from 1 to 3. If the port mode is not specified, that port is treated | ||
as unused. When specified, it must be one of the following. | ||
"ehci-phy", | ||
"ehci-tll", | ||
"ehci-hsic", | ||
"ohci-phy-6pin-datse0", | ||
"ohci-phy-6pin-dpdm", | ||
"ohci-phy-3pin-datse0", | ||
"ohci-phy-4pin-dpdm", | ||
"ohci-tll-6pin-datse0", | ||
"ohci-tll-6pin-dpdm", | ||
"ohci-tll-3pin-datse0", | ||
"ohci-tll-4pin-dpdm", | ||
"ohci-tll-2pin-datse0", | ||
"ohci-tll-2pin-dpdm", | ||
|
||
- single-ulpi-bypass: Must be present if the controller contains a single | ||
ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 | ||
|
||
Required properties if child node exists: | ||
|
||
- #address-cells: Must be 1 | ||
- #size-cells: Must be 1 | ||
- ranges: must be present | ||
|
||
Properties for children: | ||
|
||
The OMAP HS USB Host subsystem contains EHCI and OHCI controllers. | ||
See Documentation/devicetree/bindings/usb/omap-ehci.txt and | ||
omap3-ohci.txt | ||
|
||
Example for OMAP4: | ||
|
||
usbhshost: usbhshost@4a064000 { | ||
compatible = "ti,usbhs-host"; | ||
reg = <0x4a064000 0x800>; | ||
ti,hwmods = "usb_host_hs"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges; | ||
|
||
usbhsohci: ohci@4a064800 { | ||
compatible = "ti,ohci-omap3", "usb-ohci"; | ||
reg = <0x4a064800 0x400>; | ||
interrupt-parent = <&gic>; | ||
interrupts = <0 76 0x4>; | ||
}; | ||
|
||
usbhsehci: ehci@4a064c00 { | ||
compatible = "ti,ehci-omap", "usb-ehci"; | ||
reg = <0x4a064c00 0x400>; | ||
interrupt-parent = <&gic>; | ||
interrupts = <0 77 0x4>; | ||
}; | ||
}; | ||
|
||
&usbhshost { | ||
port1-mode = "ehci-phy"; | ||
port2-mode = "ehci-tll"; | ||
port3-mode = "ehci-phy"; | ||
}; | ||
|
||
&usbhsehci { | ||
phys = <&hsusb1_phy 0 &hsusb3_phy>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
OMAP HS USB Host TLL (Transceiver-Less Interface) | ||
|
||
Required properties: | ||
|
||
- compatible : should be "ti,usbhs-tll" | ||
- reg : should contain one register range i.e. start and length | ||
- interrupts : should contain the TLL module's interrupt | ||
- ti,hwmod : must contain "usb_tll_hs" | ||
|
||
Example: | ||
|
||
usbhstll: usbhstll@4a062000 { | ||
compatible = "ti,usbhs-tll"; | ||
reg = <0x4a062000 0x1000>; | ||
interrupts = <78>; | ||
ti,hwmods = "usb_tll_hs"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.