[PATCH 5/5] ARM: dts: exynos4412-trats2: Add ADC's dt data to get temperature of SoC/battery
Tomasz Figa
t.figa at samsung.com
Tue Mar 11 09:09:00 EDT 2014
Hi Chanwoo,
On 11.03.2014 08:54, Chanwoo Choi wrote:
> This patch use ADC to get the temperature of SoC/battery by using NTC thermistor
> driver in hwmon. NTC thermistor driver covnvert ADC's raw data to temperature
> by using following variables:
>
> - pullup-uv : Voltage
> - pullup-ohm : Pull-up resistance
> - pulldown-ohm : Pull-down resistance
> - io-channels : It means ADC channel.
>
Those properties are well-defined in "ntc,ncp15wb473" DT bindings
documentation. There is no need to repeat them here.
> Signed-off-by: Chanwoo Choi <cw00.choi at samsung.com>
> ---
> arch/arm/boot/dts/exynos4412-trats2.dts | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
> index 4f851cc..fc517c3 100644
> --- a/arch/arm/boot/dts/exynos4412-trats2.dts
> +++ b/arch/arm/boot/dts/exynos4412-trats2.dts
> @@ -106,6 +106,27 @@
> };
> };
>
> + adc: adc at 126C0000 {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> +
> + ncp15wb473 at 0 {
style: Nodes should have generic names, e.g. thermistor at 0.
Also if node name is suffixed with @unit-address, then the node should
have a reg property with its first entry corresponding to the
unit-address. Now there is no physical unit-address definition for those
thermistors, so they shouldn't use this naming pattern, but rather
something like "thermistor-0" or "thermistor-ap".
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>; /* VCC_1.8V_AP */
> + pullup-ohm = <100000>; /* 100K */
> + pulldown-ohm = <100000>; /* 100K */
> + io-channels = <&adc 1>; /* AP temperature */
> + };
> +
> + ncp15wb473 at 1 {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>; /* VCC_1.8V_AP */
> + pullup-ohm = <100000>; /* 100K */
> + pulldown-ohm = <100000>; /* 100K */
> + io-channels = <&adc 2>; /* Battery temperature */
> + };
Anyway, I don't think it is correct to place IIO consumers under IIO
provider node, because IIO is not a control bus, but rather a resource
provider, like GPIO, clock, etc. So both thermistor nodes should be
placed outside the adc node. (They might be grouped in a simple-bus
subnode, though, to improve readability.)
Best regards,
Tomasz
More information about the linux-arm-kernel
mailing list