projects/linux·commit e5744abb

Merge tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

e5744abb · Linus Torvalds <[email protected]> · 2014-04-07 10:24:18 -07:00

Pull MFD updates from Lee Jones:
 "Changes to existing drivers:
   - Use of managed resources - omap, twl4030, ti_am335x_tscadc
   - Advanced error handling - omap
   - Rework clk management - omap
   - Device Tree (re-)work - tc3589x, pm8921, da9055, sec
   - IRC management overhaul and !BROKEN - pm8921
   - Convert to regmap - ssbi, pm8921
   - Use simple power-management ops - ucb1x00
   - Include file clean-up - adp5520, cs5535, janz, lpc_ich,
      - lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583,
      	rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc,
	tps65912, vexpress-config, wm8350, ywm8350
   - Various bug fixes across the subsystem
      - NULL/invalid pointer dereference prevention
      - Resource leak mitigation,
      - Variable used initialised
      - Staticise various containers
      - Enforce return value checks

  New drivers/supported devices:
   - Add support for s2mps14 and s2mpa01 to sec
   - Add support for da9063 (v5) to da9063
   - Add support for atom-c2000 to gpio-ich
   - Add support for come-{mbt10,cbt6,chl6} to kempld
   - Add support for da9053 to da9052
   - Add support for itco-wdt (v3) and baytrail to lpc_ich
   - Add new drivers for tps65218, rtsx_usb, bcm590xx

  (Re-)moved drivers:
   - twl4030 ==> drivers/iio
   - ti-ssp  ==> /dev/null"

* tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits)
  mfd: wm5110: Correct default for HEADPHONE_DETECT_1
  mfd: arizona: Correct small errors in the DT binding documentation
  mfd: arizona: Mark DSP clocking register as volatile
  mfd: devicetree: bindings: Add pm8xxx RTC description
  mfd: kempld-core: Fix potential hang-up during boot
  mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01
  mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
  mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail
  mfd: sec-core: Fix I2C dummy device resource leak on probe failure
  mfd: sec-core: Add of_compatible strings for clock MFD cells
  mfd: Remove obsolete ti-ssp driver
  Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
  mfd: bcm590xx: Fix type argument for module device table
  mfd: lpc_ich: Add support for Intel Bay Trail SoC
  mfd: lpc_ich: Add support for NM10 GPIO
  mfd: lpc_ich: Change Avoton to iTCO v3
  watchdog: iTCO_wdt: Add support for v3 silicon
  mfd: lpc_ich: Add support for iTCO v3
  mfd: lpc_ich: Remove lpc_ich_cfg struct use
  mfd: lpc_ich: Only configure watchdog or GPIO when present
  ...
Commit
e5744abb2fa3629aa5a94e21ca1eae32ff2fe00b
Parents
c29aa153 · 2d28ca73

Merge commit. Changes below are compared with the first parent: c29aa153.

Changes

92 files changed · +3958 −1588

FileStatusAddDelContent
Documentation/devicetree/bindings/iio/adc/twl4030-madc.txtadded+24−0View file
Documentation/devicetree/bindings/mfd/arizona.txtmodified+13−10View file
Documentation/devicetree/bindings/mfd/bcm590xx.txtadded+37−0View file
Documentation/devicetree/bindings/mfd/da9055.txtadded+72−0View file
Documentation/devicetree/bindings/mfd/omap-usb-host.txtmodified+23−0View file
Documentation/devicetree/bindings/mfd/omap-usb-tll.txtmodified+10−0View file
Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txtadded+96−0View file
Documentation/devicetree/bindings/mfd/s2mps11.txtmodified+15−9View file
arch/arm/boot/dts/omap4.dtsimodified+6−0View file
arch/arm/boot/dts/omap5.dtsimodified+6−0View file
arch/arm/mach-omap2/cclock3xxx_data.cmodified+0−4View file
arch/arm/mach-omap2/omap_hwmod_3xxx_data.cmodified+0−6View file
drivers/clk/ti/clk-3xxx.cmodified+0−4View file
drivers/gpio/gpio-ich.cmodified+25−1View file
drivers/iio/adc/Kconfigmodified+10−0View file
drivers/iio/adc/Makefilemodified+1−0View file
drivers/mfd/twl4030-madc.c → drivers/iio/adc/twl4030-madc.crenamed+199−122View file
drivers/mfd/88pm800.cmodified+1−2View file
drivers/mfd/88pm860x-core.cmodified+6−0View file
drivers/mfd/Kconfigmodified+54−44View file
drivers/mfd/Makefilemodified+3−3View file
drivers/mfd/adp5520.cmodified+0−1View file
drivers/mfd/as3722.cmodified+1−0View file
drivers/mfd/bcm590xx.cadded+93−0View file
drivers/mfd/cs5535-mfd.cmodified+0−1View file
drivers/mfd/da9052-core.cmodified+3−0View file
drivers/mfd/da9052-i2c.cmodified+4−1View file
drivers/mfd/da9052-spi.cmodified+1−0View file
drivers/mfd/da9055-i2c.cmodified+8−0View file
drivers/mfd/da9063-core.cmodified+14−11View file
drivers/mfd/janz-cmodio.cmodified+0−1View file
drivers/mfd/kempld-core.cmodified+29−2View file
drivers/mfd/lpc_ich.cmodified+108−43View file
drivers/mfd/lpc_sch.cmodified+0−1View file
drivers/mfd/max14577.cmodified+5−1View file
drivers/mfd/max77686.cmodified+4−0View file
drivers/mfd/max77693.cmodified+11−1View file
drivers/mfd/max8925-i2c.cmodified+9−0View file
drivers/mfd/max8997.cmodified+18−0View file
drivers/mfd/max8998.cmodified+4−0View file
drivers/mfd/mc13xxx-spi.cmodified+5−0View file
drivers/mfd/mcp-sa11x0.cmodified+0−1View file
drivers/mfd/omap-usb-host.cmodified+90−99View file
drivers/mfd/omap-usb-tll.cmodified+1−1View file
drivers/mfd/pcf50633-adc.cmodified+0−1View file
drivers/mfd/pm8921-core.cmodified+365−54View file
drivers/mfd/pm8xxx-irq.cdeleted+0−371View before deletion
drivers/mfd/rc5t583-irq.cmodified+0−1View file
drivers/mfd/rdc321x-southbridge.cmodified+0−1View file
drivers/mfd/retu-mfd.cmodified+0−1View file
drivers/mfd/rtsx_usb.cadded+760−0View file
drivers/mfd/sec-core.cmodified+14−3View file
drivers/mfd/smsc-ece1099.cmodified+0−1View file
drivers/mfd/stmpe.cmodified+1−1View file
drivers/mfd/stw481x.cmodified+7−1View file
drivers/mfd/syscon.cmodified+1−8View file
drivers/mfd/tc3589x.cmodified+59−25View file
drivers/mfd/ti-ssp.cdeleted+0−465View before deletion
drivers/mfd/ti_am335x_tscadc.cmodified+4−20View file
drivers/mfd/timberdale.cmodified+1−1View file
drivers/mfd/tps65218.cadded+282−0View file
drivers/mfd/tps65910.cmodified+4−1View file
drivers/mfd/tps65912-core.cmodified+0−1View file
drivers/mfd/tps65912-irq.cmodified+0−1View file
drivers/mfd/twl-core.cmodified+5−5View file
drivers/mfd/twl4030-irq.cmodified+0−1View file
drivers/mfd/twl6030-irq.cmodified+0−1View file
drivers/mfd/twl6040.cmodified+5−1View file
drivers/mfd/ucb1x00-core.cmodified+1−3View file
drivers/mfd/vexpress-config.cmodified+1−2View file
drivers/mfd/vexpress-sysreg.cmodified+1−1View file
drivers/mfd/wm5102-tables.cmodified+36−0View file
drivers/mfd/wm5110-tables.cmodified+173−1View file
drivers/mfd/wm8350-core.cmodified+0−1View file
drivers/mfd/wm8350-irq.cmodified+0−1View file
drivers/mfd/wm8400-core.cmodified+5−17View file
drivers/watchdog/iTCO_wdt.cmodified+82−55View file
include/linux/i2c/twl.hmodified+12−0View file
include/linux/i2c/twl4030-madc.hmodified+1−1View file
include/linux/mfd/arizona/registers.hmodified+84−0View file
include/linux/mfd/bcm590xx.hadded+31−0View file
include/linux/mfd/da9052/da9052.hmodified+1−0View file
include/linux/mfd/da9063/core.hmodified+5−1View file
include/linux/mfd/da9063/registers.hmodified+62−58View file
include/linux/mfd/lpc_ich.hmodified+14−11View file
include/linux/mfd/max14577-private.hmodified+0−8View file
include/linux/mfd/max14577.hmodified+0−5View file
include/linux/mfd/pm8xxx/irq.hdeleted+0−59View before deletion
include/linux/mfd/pm8xxx/pm8921.hdeleted+0−30View before deletion
include/linux/mfd/rtsx_usb.hadded+628−0View file
include/linux/mfd/tps65218.hadded+284−0View file
include/linux/ssbi.hmodified+20−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt

View file
diff --git a/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt b/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt
new file mode 100644
index 0000000..6bdd214
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt
@@ -0,0 +1,24 @@
+* TWL4030 Monitoring Analog to Digital Converter (MADC)
+
+The MADC subsystem in the TWL4030 consists of a 10-bit ADC
+combined with a 16-input analog multiplexer.
+
+Required properties:
+ - compatible: Should contain "ti,twl4030-madc".
+ - interrupts: IRQ line for the MADC submodule.
+ - #io-channel-cells: Should be set to <1>.
+
+Optional properties:
+ - ti,system-uses-second-madc-irq: boolean, set if the second madc irq register
+ should be used, which is intended to be used
+ by Co-Processors (e.g. a modem).
+
+Example:
+
+&twl {
+ madc {
+ compatible = "ti,twl4030-madc";
+ interrupts = <3>;
+ #io-channel-cells = <1>;
+ };
+};

Documentation/devicetree/bindings/mfd/arizona.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
index 0e295c9..36a0c3d 100644
--- a/Documentation/devicetree/bindings/mfd/arizona.txt
+++ b/Documentation/devicetree/bindings/mfd/arizona.txt
@@ -5,9 +5,10 @@ of analogue I/O.
Required properties:
- - compatible : one of the following chip-specific strings:
- "wlf,wm5102"
- "wlf,wm5110"
+ - compatible : One of the following chip-specific strings:
+ "wlf,wm5102"
+ "wlf,wm5110"
+ "wlf,wm8997"
- reg : I2C slave address when connected using I2C, chip select number when
using SPI.
@@ -25,8 +26,9 @@ Required properties:
- #gpio-cells : Must be 2. The first cell is the pin number and the
second cell is used to specify optional parameters (currently unused).
- - AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply,
- SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered
+ - AVDD-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply (wm5102, wm5110),
+ CPVDD-supply, SPKVDDL-supply (wm5102, wm5110), SPKVDDR-supply (wm5102,
+ wm5110), SPKVDD-supply (wm8997) : Power supplies for the device, as covered
in Documentation/devicetree/bindings/regulator/regulator.txt
Optional properties:
@@ -46,6 +48,7 @@ codec: wm5102@1a {
compatible = "wlf,wm5102";
reg = <0x1a>;
interrupts = <347>;
+ interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&gic>;
@@ -53,10 +56,10 @@ codec: wm5102@1a {
#gpio-cells = <2>;
wlf,gpio-defaults = <
- 0x00000000, /* AIF1TXLRCLK */
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
+ 0x00000000 /* AIF1TXLRCLK */
+ 0xffffffff
+ 0xffffffff
+ 0xffffffff
+ 0xffffffff
>;
};

Documentation/devicetree/bindings/mfd/bcm590xx.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/bcm590xx.txt b/Documentation/devicetree/bindings/mfd/bcm590xx.txt
new file mode 100644
index 0000000..1fe30e2
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/bcm590xx.txt
@@ -0,0 +1,37 @@
+-------------------------------
+BCM590xx Power Management Units
+-------------------------------
+
+Required properties:
+- compatible: "brcm,bcm59056"
+- reg: I2C slave address
+- interrupts: interrupt for the PMU. Generic interrupt client node bindings
+ are described in interrupt-controller/interrupts.txt
+
+------------------
+Voltage Regulators
+------------------
+
+Optional child nodes:
+- regulators: container node for regulators following the generic
+ regulator binding in regulator/regulator.txt
+
+ The valid regulator node names for BCM59056 are:
+ rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
+ mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
+ csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr
+
+Example:
+ pmu: bcm59056@8 {
+ compatible = "brcm,bcm59056";
+ reg = <0x08>;
+ interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
+ regulators {
+ rfldo_reg: rfldo {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ...
+ };
+ };

Documentation/devicetree/bindings/mfd/da9055.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/da9055.txt b/Documentation/devicetree/bindings/mfd/da9055.txt
new file mode 100644
index 0000000..6dab34d
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/da9055.txt
@@ -0,0 +1,72 @@
+* Dialog DA9055 Power Management Integrated Circuit (PMIC)
+
+DA9055 consists of a large and varied group of sub-devices (I2C Only):
+
+Device Supply Names Description
+------ ------------ -----------
+da9055-gpio : : GPIOs
+da9055-regulator : : Regulators
+da9055-onkey : : On key
+da9055-rtc : : RTC
+da9055-hwmon : : ADC
+da9055-watchdog : : Watchdog
+
+The CODEC device in DA9055 has a separate, configurable I2C address and so
+is instantiated separately from the PMIC.
+
+For details on accompanying CODEC I2C device, see the following:
+Documentation/devicetree/bindings/sound/da9055.txt
+
+======
+
+Required properties:
+- compatible : Should be "dlg,da9055-pmic"
+- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
+- interrupt-parent: Specifies the phandle of the interrupt controller to which
+ the IRQs from da9055 are delivered to.
+- interrupts: IRQ line info for da9055 chip.
+- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
+- #interrupt-cells: Should be 1, is the local IRQ number for da9055.
+
+Sub-nodes:
+- regulators : Contain the regulator nodes. The DA9055 regulators are
+ bound using their names as listed below:
+
+ buck1 : regulator BUCK1
+ buck2 : regulator BUCK2
+ ldo1 : regulator LDO1
+ ldo2 : regulator LDO2
+ ldo3 : regulator LDO3
+ ldo4 : regulator LDO4
+ ldo5 : regulator LDO5
+ ldo6 : regulator LDO6
+
+ The bindings details of individual regulator device can be found in:
+ Documentation/devicetree/bindings/regulator/regulator.txt
+
+
+Example:
+
+ pmic: da9055-pmic@5a {
+ compatible = "dlg,da9055-pmic";
+ reg = <0x5a>;
+ interrupt-parent = <&intc>;
+ interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ regulators {
+ buck1: BUCK1 {
+ regulator-min-microvolt = <725000>;
+ regulator-max-microvolt = <2075000>;
+ };
+ buck2: BUCK2 {
+ regulator-min-microvolt = <925000>;
+ regulator-max-microvolt = <2500000>;
+ };
+ ldo1: LDO1 {
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <3300000>;
+ };
+ };
+ };

Documentation/devicetree/bindings/mfd/omap-usb-host.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt
index b381fa6..4721b2d 100644
--- a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt
+++ b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt
@@ -32,6 +32,29 @@ Optional properties:
- single-ulpi-bypass: Must be present if the controller contains a single
ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1
+- clocks: a list of phandles and clock-specifier pairs, one for each entry in
+ clock-names.
+
+- clock-names: should include:
+ For OMAP3
+ * "usbhost_120m_fck" - 120MHz Functional clock.
+
+ For OMAP4+
+ * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux
+ * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux.
+ * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux
+ * "utmi_p1_gfclk" - Port 1 UTMI clock mux.
+ * "utmi_p2_gfclk" - Port 2 UTMI clock mux.
+ * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate.
+ * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate.
+ * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate.
+ * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate.
+ * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate.
+ * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate.
+ * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate.
+ * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate.
+ * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate.
+
Required properties if child node exists:
- #address-cells: Must be 1

Documentation/devicetree/bindings/mfd/omap-usb-tll.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
index 62fe697..c58d704 100644
--- a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
+++ b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
@@ -7,6 +7,16 @@ Required properties:
- interrupts : should contain the TLL module's interrupt
- ti,hwmod : must contain "usb_tll_hs"
+Optional properties:
+
+- clocks: a list of phandles and clock-specifier pairs, one for each entry in
+ clock-names.
+
+- clock-names: should include:
+ * "usb_tll_hs_usb_ch0_clk" - USB TLL channel 0 clock
+ * "usb_tll_hs_usb_ch1_clk" - USB TLL channel 1 clock
+ * "usb_tll_hs_usb_ch2_clk" - USB TLL channel 2 clock
+
Example:
usbhstll: usbhstll@4a062000 {

Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt b/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt
new file mode 100644
index 0000000..03518dc
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt
@@ -0,0 +1,96 @@
+Qualcomm PM8xxx PMIC multi-function devices
+
+The PM8xxx family of Power Management ICs are used to provide regulated
+voltages and other various functionality to Qualcomm SoCs.
+
+= PROPERTIES
+
+- compatible:
+ Usage: required
+ Value type: <string>
+ Definition: must be one of:
+ "qcom,pm8058"
+ "qcom,pm8921"
+
+- #address-cells:
+ Usage: required
+ Value type: <u32>
+ Definition: must be 1
+
+- #size-cells:
+ Usage: required
+ Value type: <u32>
+ Definition: must be 0
+
+- interrupts:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: specifies the interrupt that indicates a subdevice
+ has generated an interrupt (summary interrupt). The
+ format of the specifier is defined by the binding document
+ describing the node's interrupt parent.
+
+- #interrupt-cells:
+ Usage: required
+ Value type : <u32>
+ Definition: must be 2. Specifies the number of cells needed to encode
+ an interrupt source. The 1st cell contains the interrupt
+ number. The 2nd cell is the trigger type and level flags
+ encoded as follows:
+
+ 1 = low-to-high edge triggered
+ 2 = high-to-low edge triggered
+ 4 = active high level-sensitive
+ 8 = active low level-sensitive
+
+- interrupt-controller:
+ Usage: required
+ Value type: <empty>
+ Definition: identifies this node as an interrupt controller
+
+= SUBCOMPONENTS
+
+The PMIC contains multiple independent functions, each described in a subnode.
+The below bindings specify the set of valid subnodes.
+
+== Real-Time Clock
+
+- compatible:
+ Usage: required
+ Value type: <string>
+ Definition: must be one of:
+ "qcom,pm8058-rtc"
+ "qcom,pm8921-rtc"
+
+- reg:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: single entry specifying the base address of the RTC registers
+
+- interrupts:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: single entry specifying the RTC's alarm interrupt
+
+- allow-set-time:
+ Usage: optional
+ Value type: <empty>
+ Definition: indicates that the setting of RTC time is allowed by
+ the host CPU
+
+= EXAMPLE
+
+ pmicintc: pmic@0 {
+ compatible = "qcom,pm8921";
+ interrupts = <104 8>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtc@11d {
+ compatible = "qcom,pm8921-rtc";
+ reg = <0x11d>;
+ interrupts = <0x27 0>;
+ };
+ };

Documentation/devicetree/bindings/mfd/s2mps11.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt
index f69bec2..802e839 100644
--- a/Documentation/devicetree/bindings/mfd/s2mps11.txt
+++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt
@@ -16,20 +16,25 @@ Optional properties:
- interrupts: Interrupt specifiers for interrupt sources.
Optional nodes:
-- clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to
- register these as clocks with common clock framework instantiate a sub-node
- named "clocks". It uses the common clock binding documented in :
+- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz
+ outputs, so to register these as clocks with common clock framework
+ instantiate a sub-node named "clocks". It uses the common clock binding
+ documented in :
[Documentation/devicetree/bindings/clock/clock-bindings.txt]
+ The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
- #clock-cells: should be 1.
- The following is the list of clocks generated by the controller. Each clock
is assigned an identifier and client nodes use this identifier to specify
the clock which they consume.
- Clock ID
- ----------------------
- 32KhzAP 0
- 32KhzCP 1
- 32KhzBT 2
+ Clock ID Devices
+ ----------------------------------------------------------
+ 32KhzAP 0 S2MPS11, S2MPS14, S5M8767
+ 32KhzCP 1 S2MPS11, S5M8767
+ 32KhzBT 2 S2MPS11, S2MPS14, S5M8767
+
+ - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk",
+ "samsung,s5m8767-clk"
- regulators: The regulators of s2mps11 that have to be instantiated should be
included in a sub-node named 'regulators'. Regulator nodes included in this
@@ -75,7 +80,8 @@ Example:
compatible = "samsung,s2mps11-pmic";
reg = <0x66>;
- s2m_osc: clocks{
+ s2m_osc: clocks {
+ compatible = "samsung,s2mps11-clk";
#clock-cells = 1;
clock-output-names = "xx", "yy", "zz";
};

arch/arm/boot/dts/omap4.dtsi

View file
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index fe61976..0769ec5 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -733,6 +733,12 @@
#address-cells = <1>;
#size-cells = <1>;
ranges;
+ clocks = <&init_60m_fclk>,
+ <&xclk60mhsp1_ck>,
+ <&xclk60mhsp2_ck>;
+ clock-names = "refclk_60m_int",
+ "refclk_60m_ext_p1",
+ "refclk_60m_ext_p2";
usbhsohci: ohci@4a064800 {
compatible = "ti,ohci-omap3";

arch/arm/boot/dts/omap5.dtsi

View file
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 8292ad0..19155bb 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -814,6 +814,12 @@
#address-cells = <1>;
#size-cells = <1>;
ranges;
+ clocks = <&l3init_60m_fclk>,
+ <&xclk60mhsp1_ck>,
+ <&xclk60mhsp2_ck>;
+ clock-names = "refclk_60m_int",
+ "refclk_60m_ext_p1",
+ "refclk_60m_ext_p2";
usbhsohci: ohci@4a064800 {
compatible = "ti,ohci-omap3";

arch/arm/mach-omap2/cclock3xxx_data.c

View file
diff --git a/arch/arm/mach-omap2/cclock3xxx_data.c b/arch/arm/mach-omap2/cclock3xxx_data.c
index 11ed915..8f5121b 100644
--- a/arch/arm/mach-omap2/cclock3xxx_data.c
+++ b/arch/arm/mach-omap2/cclock3xxx_data.c
@@ -3497,10 +3497,6 @@ static struct omap_clk omap3xxx_clks[] = {
CLK(NULL, "dss_tv_fck", &dss_tv_fck),
CLK(NULL, "dss_96m_fck", &dss_96m_fck),
CLK(NULL, "dss2_alwon_fck", &dss2_alwon_fck),
- CLK(NULL, "utmi_p1_gfclk", &dummy_ck),
- CLK(NULL, "utmi_p2_gfclk", &dummy_ck),
- CLK(NULL, "xclk60mhsp1_ck", &dummy_ck),
- CLK(NULL, "xclk60mhsp2_ck", &dummy_ck),
CLK(NULL, "init_60m_fclk", &dummy_ck),
CLK(NULL, "gpt1_fck", &gpt1_fck),
CLK(NULL, "aes2_ick", &aes2_ick),

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c

View file
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 9c7e23a..a123ff0 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -1955,10 +1955,6 @@ static struct omap_hwmod_class omap3xxx_usb_host_hs_hwmod_class = {
.sysc = &omap3xxx_usb_host_hs_sysc,
};
-static struct omap_hwmod_opt_clk omap3xxx_usb_host_hs_opt_clks[] = {
- { .role = "ehci_logic_fck", .clk = "usbhost_120m_fck", },
-};
-
static struct omap_hwmod_irq_info omap3xxx_usb_host_hs_irqs[] = {
{ .name = "ohci-irq", .irq = 76 + OMAP_INTC_START, },
{ .name = "ehci-irq", .irq = 77 + OMAP_INTC_START, },
@@ -1981,8 +1977,6 @@ static struct omap_hwmod omap3xxx_usb_host_hs_hwmod = {
.idlest_stdby_bit = OMAP3430ES2_ST_USBHOST_STDBY_SHIFT,
},
},
- .opt_clks = omap3xxx_usb_host_hs_opt_clks,
- .opt_clks_cnt = ARRAY_SIZE(omap3xxx_usb_host_hs_opt_clks),
/*
* Errata: USBHOST Configured In Smart-Idle Can Lead To a Deadlock

drivers/clk/ti/clk-3xxx.c

View file
diff --git a/drivers/clk/ti/clk-3xxx.c b/drivers/clk/ti/clk-3xxx.c
index d323023..0d1750a 100644
--- a/drivers/clk/ti/clk-3xxx.c
+++ b/drivers/clk/ti/clk-3xxx.c
@@ -130,10 +130,6 @@ static struct ti_dt_clk omap3xxx_clks[] = {
DT_CLK(NULL, "dss_tv_fck", "dss_tv_fck"),
DT_CLK(NULL, "dss_96m_fck", "dss_96m_fck"),
DT_CLK(NULL, "dss2_alwon_fck", "dss2_alwon_fck"),
- DT_CLK(NULL, "utmi_p1_gfclk", "dummy_ck"),
- DT_CLK(NULL, "utmi_p2_gfclk", "dummy_ck"),
- DT_CLK(NULL, "xclk60mhsp1_ck", "dummy_ck"),
- DT_CLK(NULL, "xclk60mhsp2_ck", "dummy_ck"),
DT_CLK(NULL, "init_60m_fclk", "dummy_ck"),
DT_CLK(NULL, "gpt1_fck", "gpt1_fck"),
DT_CLK(NULL, "aes2_ick", "aes2_ick"),

drivers/gpio/gpio-ich.c

View file
diff --git a/drivers/gpio/gpio-ich.c b/drivers/gpio/gpio-ich.c
index bfef20f..e73c675 100644
--- a/drivers/gpio/gpio-ich.c
+++ b/drivers/gpio/gpio-ich.c
@@ -1,5 +1,5 @@
/*
- * Intel ICH6-10, Series 5 and 6 GPIO driver
+ * Intel ICH6-10, Series 5 and 6, Atom C2000 (Avoton/Rangeley) GPIO driver
*
* Copyright (C) 2010 Extreme Engineering Solutions.
*
@@ -55,6 +55,16 @@ static const u8 ichx_reglen[3] = {
0x30, 0x10, 0x10,
};
+static const u8 avoton_regs[4][3] = {
+ {0x00, 0x80, 0x00},
+ {0x04, 0x84, 0x00},
+ {0x08, 0x88, 0x00},
+};
+
+static const u8 avoton_reglen[3] = {
+ 0x10, 0x10, 0x00,
+};
+
#define ICHX_WRITE(val, reg, base_res) outl(val, (reg) + (base_res)->start)
#define ICHX_READ(reg, base_res) inl((reg) + (base_res)->start)
@@ -353,6 +363,17 @@ static struct ichx_desc intel5_desc = {
.reglen = ichx_reglen,
};
+/* Avoton */
+static struct ichx_desc avoton_desc = {
+ /* Avoton has only 59 GPIOs, but we assume the first set of register
+ * (Core) has 32 instead of 31 to keep gpio-ich compliance
+ */
+ .ngpio = 60,
+ .regs = avoton_regs,
+ .reglen = avoton_reglen,
+ .use_outlvl_cache = true,
+};
+
static int ichx_gpio_request_regions(struct resource *res_base,
const char *name, u8 use_gpio)
{
@@ -427,6 +448,9 @@ static int ichx_gpio_probe(struct platform_device *pdev)
case ICH_V10CONS_GPIO:
ichx_priv.desc = &ich10_cons_desc;
break;
+ case AVOTON_GPIO:
+ ichx_priv.desc = &avoton_desc;
+ break;
default:
return -ENODEV;
}

drivers/iio/adc/Kconfig

View file
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index 4bf4c16..d86196c 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -193,6 +193,16 @@ config TI_AM335X_ADC
Say yes here to build support for Texas Instruments ADC
driver which is also a MFD client.
+config TWL4030_MADC
+ tristate "TWL4030 MADC (Monitoring A/D Converter)"
+ depends on TWL4030_CORE
+ help
+ This driver provides support for Triton TWL4030-MADC. The
+ driver supports both RT and SW conversion methods.
+
+ This driver can also be built as a module. If so, the module will be
+ called twl4030-madc.
+
config TWL6030_GPADC
tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
depends on TWL4030_CORE

drivers/iio/adc/Makefile

View file
diff --git a/drivers/iio/adc/Makefile b/drivers/iio/adc/Makefile
index bb25254..ab346d8 100644
--- a/drivers/iio/adc/Makefile
+++ b/drivers/iio/adc/Makefile
@@ -21,6 +21,7 @@ obj-$(CONFIG_MEN_Z188_ADC) += men_z188_adc.o
obj-$(CONFIG_NAU7802) += nau7802.o
obj-$(CONFIG_TI_ADC081C) += ti-adc081c.o
obj-$(CONFIG_TI_AM335X_ADC) += ti_am335x_adc.o
+obj-$(CONFIG_TWL4030_MADC) += twl4030-madc.o
obj-$(CONFIG_TWL6030_GPADC) += twl6030-gpadc.o
obj-$(CONFIG_VF610_ADC) += vf610_adc.o
obj-$(CONFIG_VIPERBOARD_ADC) += viperboard_adc.o

drivers/iio/adc/twl4030-madc.c

View file
diff --git a/drivers/mfd/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
similarity index 63%
rename from drivers/mfd/twl4030-madc.c
rename to drivers/iio/adc/twl4030-madc.c
index 4c583e4..7de1c4c 100644
--- a/drivers/mfd/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -29,7 +29,6 @@
*
*/
-#include <linux/init.h>
#include <linux/device.h>

This diff is incomplete. Download the complete patch.

drivers/mfd/88pm800.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/88pm860x-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/adp5520.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/as3722.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/bcm590xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/cs5535-mfd.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/da9052-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/da9052-i2c.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/da9052-spi.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/da9055-i2c.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/da9063-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/janz-cmodio.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/kempld-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/lpc_ich.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/lpc_sch.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/max14577.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/max77686.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/max77693.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/max8925-i2c.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/max8997.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/max8998.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/mc13xxx-spi.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/mcp-sa11x0.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/omap-usb-host.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/omap-usb-tll.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/pcf50633-adc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/pm8921-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/pm8xxx-irq.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/mfd/rc5t583-irq.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/rdc321x-southbridge.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/retu-mfd.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/rtsx_usb.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/sec-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/smsc-ece1099.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/stmpe.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/stw481x.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/syscon.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tc3589x.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/ti-ssp.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/mfd/ti_am335x_tscadc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/timberdale.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65218.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65910.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65912-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65912-irq.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/twl-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/twl4030-irq.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/twl6030-irq.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/twl6040.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/ucb1x00-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/vexpress-config.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/vexpress-sysreg.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/wm5102-tables.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/wm5110-tables.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/wm8350-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/wm8350-irq.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/wm8400-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/watchdog/iTCO_wdt.c

View file

This diff is incomplete. Download the complete patch.

include/linux/i2c/twl.h

View file

This diff is incomplete. Download the complete patch.

include/linux/i2c/twl4030-madc.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/arizona/registers.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/bcm590xx.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/da9052/da9052.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/da9063/core.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/da9063/registers.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/lpc_ich.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/max14577-private.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/max14577.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/pm8xxx/irq.h

View before deletion

This diff is incomplete. Download the complete patch.

include/linux/mfd/pm8xxx/pm8921.h

View before deletion

This diff is incomplete. Download the complete patch.

include/linux/mfd/rtsx_usb.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/tps65218.h

View file

This diff is incomplete. Download the complete patch.

include/linux/ssbi.h

View file

This diff is incomplete. Download the complete patch.