On Mon, Aug 25, 2014 at 02:29:22PM +0100, Chris Zhong wrote: > Add device tree bindings documentation and a header file > for rockchip's RK808 pmic. > > Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> > > --- > > Changes in v5: > Adviced by doug > - add some error checking in probe > - move "rockchip,rk808.h" into the patch about dt-bindings > > Changes in v4: > Adviced by doug > - add "clock-output-names" propertiey > - add a header file "rockchip,rk808.h" > > Changes in v3: > - fix compile err > > Changes in v2: > Adviced by javier.martinez > - separated from rtc-rk808.c > > Documentation/devicetree/bindings/mfd/rk808.txt | 142 +++++++++++++++++++++++ > include/dt-bindings/clock/rockchip,rk808.h | 11 ++ > 2 files changed, 153 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/rk808.txt > create mode 100644 include/dt-bindings/clock/rockchip,rk808.h > > diff --git a/Documentation/devicetree/bindings/mfd/rk808.txt b/Documentation/devicetree/bindings/mfd/rk808.txt > new file mode 100644 > index 0000000..e5786e9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/rk808.txt > @@ -0,0 +1,142 @@ > +RK808 Power Management Integrated Circuit > + > +Required properties: > +- compatible: "rockchip,rk808" > +- reg: I2C slave address > +- interrupt-parent: The parent interrupt controller. > +- interrupts: the interrupt outputs of the controller. > +- pinctrl-names: Should contain only one value - "default". > +- pinctrl-0: Should specify pin control groups used for this controller. > +- regulators: This is the list of child nodes that specify the regulator > + initialization data for defined regulators. Not all regulators for the given > + device need to be present. The definition for each of these nodes is defined > + using the standard binding for regulators found at > + Documentation/devicetree/bindings/regulator/regulator.txt. > +- #clock-cells: the value should be 1 It would be nice to have a description of the valid values. They look to be 0 and 1 in include/dt-bindings/clock/rockchip,rk808.h. Thanks, Mark. > +- The following are the names of the regulators that the rk808 pmic block > + supports. Note: The 'n' below represents the number as per the datasheet: > + > + - DCDC_REGn > + - valid values for n are 1 to 4. > + - LDO_REGn > + - valid values for n are 1 to 8. > + - SWITCH_REGn > + - valid values for n are 1 to 2. > + > +Optional properties: > +- clock-output-names : From common clock binding to override the > + default output clock name > +- rockchip,system-power-controller: Telling whether or not this pmic is controlling > + the system power. > + > +Example: > +rk808: pmic@1b { > + compatible = "rockchip,rk808"; > + interrupt-parent = <&gpio0>; > + interrupts = <4 IRQ_TYPE_EDGE_FALLING>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pmic_int>; > + reg = <0x1b>; > + #clock-cells = <1>; > + clock-output-names = "xin32k0", "xin32k1"; > + rockchip,system-power-controller; > + > + regulators { > + rk808_dcdc1_reg: DCDC_REG1 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-name = "vdd_arm"; > + }; > + > + rk808_dcdc2_reg: DCDC_REG2 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <850000>; > + regulator-max-microvolt = <1250000>; > + regulator-name = "vdd_gpu"; > + }; > + > + rk808_dcdc3_reg: DCDC_REG3 { > + regulator-always-on; > + regulator-boot-on; > + regulator-name = "vdd_ddr"; > + }; > + > + rk808_dcdc4_reg: DCDC_REG4 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vccio"; > + }; > + > + rk808_ldo1_reg: LDO_REG1 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + rk808_ldo2_reg: LDO_REG2 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + rk808_ldo3_reg: LDO_REG3 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-name = "LDO_REG3"; > + }; > + > + rk808_ldo4_reg: LDO_REG4 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + rk808_ldo5_reg: LDO_REG5 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + rk808_ldo6_reg: LDO_REG6 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + }; > + > + rk808_ldo7_reg: LDO_REG7 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + rk808_ldo8_reg: LDO_REG8 { > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + rk808_switch1_reg: SWITCH_REG1 { > + regulator-always-on; > + regulator-boot-on; > + }; > + > + rk808_switch2_reg: SWITCH_REG2 { > + regulator-always-on; > + regulator-boot-on; > + }; > + }; > + }; > diff --git a/include/dt-bindings/clock/rockchip,rk808.h b/include/dt-bindings/clock/rockchip,rk808.h > new file mode 100644 > index 0000000..1a87343 > --- /dev/null > +++ b/include/dt-bindings/clock/rockchip,rk808.h > @@ -0,0 +1,11 @@ > +/* > + * This header provides constants clk index RK808 pmic clkout > + */ > +#ifndef _CLK_ROCKCHIP_RK808 > +#define _CLK_ROCKCHIP_RK808 > + > +/* CLOCKOUT index */ > +#define RK808_CLKOUT0 0 > +#define RK808_CLKOUT1 1 > + > +#endif > -- > 1.7.9.5 > > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html