[PATCH/RFC] ARM: shmobile: Add r8a7791 thermal sensor DT device
Magnus Damm
magnus.damm at gmail.com
Wed Sep 25 19:18:01 EDT 2013
From: Magnus Damm <damm at opensource.se>
Hook up the single channel thermal sensor via DT
on r8a7791. The information comes from the device
data sheet.
Unfortunately it seems that r8a7791 uses a different
register offset compared to r8a7790, so passing
the singel channel offset results in the following
error:
rcar_thermal e61f0000.thermal: can't request region for resource [mem 0xe61f0000-0xe61f0037]
rcar_thermal: probe of e61f0000.thermal failed with error -16
Before this can be merged the thermal driver may beed
to be extended to support the different register layouts
for the thermal sensor in r8a7779, r8a7790 and r8a7791.
Not-Yet-Signed-off-by: Magnus Damm <damm at opensource.se>
---
Written against renesas-devel-20130925
arch/arm/boot/dts/r8a7791.dtsi | 7 +++++++
arch/arm/mach-shmobile/clock-r8a7791.c | 3 +++
2 files changed, 10 insertions(+)
--- 0001/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi 2013-09-26 07:34:01.000000000 +0900
@@ -38,4 +38,11 @@
<0 0xf1006000 0 0x2000>;
interrupts = <1 9 0xf04>;
};
+
+ thermal at e61f0000 {
+ compatible = "renesas,rcar-thermal";
+ reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0000 0 0x38>;
+ interrupt-parent = <&gic>;
+ interrupts = <0 69 4>;
+ };
};
--- 0001/arch/arm/mach-shmobile/clock-r8a7791.c
+++ work/arch/arm/mach-shmobile/clock-r8a7791.c 2013-09-26 07:32:34.000000000 +0900
@@ -122,6 +122,7 @@ static struct clk *main_clks[] = {
enum {
MSTP721, MSTP720,
MSTP719, MSTP718, MSTP715, MSTP714,
+ MSTP522,
MSTP216, MSTP207, MSTP206,
MSTP204, MSTP203, MSTP202, MSTP1105, MSTP1106, MSTP1107,
MSTP124,
@@ -135,6 +136,7 @@ static struct clk mstp_clks[MSTP_NR] = {
[MSTP718] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 18, 0), /* SCIF3 */
[MSTP715] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 15, 0), /* SCIF4 */
[MSTP714] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 14, 0), /* SCIF5 */
+ [MSTP522] = SH_CLK_MSTP32(&extal_clk, SMSTPCR5, 22, 0), /* Thermal */
[MSTP216] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 16, 0), /* SCIFB2 */
[MSTP207] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 7, 0), /* SCIFB1 */
[MSTP206] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 6, 0), /* SCIFB0 */
@@ -179,6 +181,7 @@ static struct clk_lookup lookups[] = {
CLKDEV_DEV_ID("sh-sci.12", &mstp_clks[MSTP1105]), /* SCIFA3 */
CLKDEV_DEV_ID("sh-sci.13", &mstp_clks[MSTP1106]), /* SCIFA4 */
CLKDEV_DEV_ID("sh-sci.14", &mstp_clks[MSTP1107]), /* SCIFA5 */
+ CLKDEV_DEV_ID("e61f0000.thermal", &mstp_clks[MSTP522]),
CLKDEV_DEV_ID("sh_cmt.0", &mstp_clks[MSTP124]),
};
More information about the linux-arm-kernel
mailing list