On Tue, Jan 27, 2015 at 07:15:34AM +0000, Srinivas Kandagatla wrote: > Hi Narendran, > > What a coincidence.. I was just in the middle of forward porting the > same driver from 3.4 kernel :-) You look fast... :-) > > On 27/01/15 04:08, Narendran Rajan wrote: > > Add binding documentation for the QCOM tsens device tree node > > --- > > .../devicetree/bindings/thermal/qcom-thermal.txt | 58 ++++++++++++++++++++++ > > 1 file changed, 58 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/thermal/qcom-thermal.txt > > > > diff --git a/Documentation/devicetree/bindings/thermal/qcom-thermal.txt b/Documentation/devicetree/bindings/thermal/qcom-thermal.txt > > new file mode 100644 > > index 0000000..d2e99d6 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/thermal/qcom-thermal.txt > > @@ -0,0 +1,58 @@ > > +* QCOM SoC Temperature Sensor (TSENS) > > + > > +Required properties: > > +- compatible : "qcom,ipq806x-tsens" > > I think this should be something like qcom,msm8960-tsens as that is the > first part where this tsens appeared. > > > +- interrupts : The interrupt number to the cpu. The interrupt specifier format > > + depends on the interrupt controller. > > +- qcom,imem : Must contain phandle to imem syscon node > Doing this way would work but not great, We should try to do this in an > abstracted way so that all the drivers who are in need of qfprom would > not add the same code all the time. I did send some WIP patches on msm > mailing list. > > > +- qcom,tsens-base : Must contain phandle to clock controller node > This is not correct, you dont need this property. > > AFAIK for APQ8064 Tsens should be a child of gcc as some of the > registers are in already mapped by gcc. You should probably use this > patch + do a > base = dev_get_regmap(dev->parent, NULL); > > ------------------>cut<----------------------------- > From 87b71df272048fb3aaa89b77524e4b6426e5ddc5 Mon Sep 17 00:00:00 2001 > From: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > Date: Thu, 22 Jan 2015 14:03:53 +0000 > Subject: [PATCH] clk: qcom: gcc-msm8960: add child devices support. > > This patch adds support to add child devices to gcc as some of the > registers mapped by gcc are used by things like thermal sensors. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Srinivas, Can you please send this as proper separated patch? > --- > drivers/clk/qcom/gcc-msm8960.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c > index 0b61e8a..8307db3 100644 > --- a/drivers/clk/qcom/gcc-msm8960.c > +++ b/drivers/clk/qcom/gcc-msm8960.c > @@ -15,6 +15,7 @@ > #include <linux/bitops.h> > #include <linux/err.h> > #include <linux/platform_device.h> > +#include <linux/of_platform.h> > #include <linux/module.h> > #include <linux/of.h> > #include <linux/of_device.h> > @@ -3666,7 +3667,8 @@ static int gcc_msm8960_probe(struct > platform_device *pdev) > hfpll_l2.d = &hfpll_l2_8064_data; > } > > - return qcom_cc_probe(pdev, match->data); > + qcom_cc_probe(pdev, match->data); > + return of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); > } > > static int gcc_msm8960_remove(struct platform_device *pdev) > -- > 2.2.1 > > ------------------>cut<----------------------------- > > > +- qcom,calib-offsets : Must contain offsets to primary and secondary > > + calibration data within imem > > +- qcom,tsens-slopes : Must contain slope value for each of the sensors controlled > > + by this device > > +- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description. > > + > > +Exiample: > > +tsens: tsens-msm8960 { > > + compatible = "qcom,ipq806x-tsens"; > > > + interrupts = <0 178 1>; > > + qcom,imem = <&imem>; > > + qcom,tsens-base = <&gcc>; > > + qcom,calib-offsets = <0x400 0x410>; > > + qcom,tsens-slopes = <1176 1176 1154 1176 1111 > > + 1132 1132 1199 1132 1199 > > + 1132>; > > + #thermal-sensor-cells = <1>; > > + }; > > + > > +Example: referring to thermal sensors: > > +thermal-zones { > > + cpu_thermal: cpu_thermal { > > + polling-delay-passive = <1000>; /* milliseconds */ > > + polling-delay = <5000>; /* milliseconds */ > > + > > + /* sensor ID */ > > + thermal-sensors = <&tsens 1>; > > + > > + trips { > > + cpu_alert0: cpu_alert { > > + temperature = <80000>; /* millicelsius */ > > + hysteresis = <2000>; /* millicelsius */ > > + type = "passive"; > > + }; > > + cpu_crit: cpu_crit { > > + temperature = <120000>; /* millicelsius */ > > + hysteresis = <2000>; /* millicelsius */ > > + type = "critical"; > > + }; > > + }; > > + > > + cooling-maps { > > + map0 { > > + trip = <&cpu_alert0>; > > + cooling-device = > > + <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > > + }; > > + }; > > + }; > > +}; > > > > ---srini -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html