linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: jbe@pengutronix.de (Juergen Beisert)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 07/10] MACH/Samsung/Mini2440: add hwmon capabilities to mini2440
Date: Sun,  8 Jul 2012 19:12:21 +0200	[thread overview]
Message-ID: <1341767544-17447-8-git-send-email-jbe@pengutronix.de> (raw)
In-Reply-To: <1341767544-17447-1-git-send-email-jbe@pengutronix.de>

This adds the internal 8 ADC channels to the sysfs. They can be reached via:

 /sys/devices/platform/s3c24xx-adc/s3c-hwmon

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
---
 arch/arm/mach-s3c24xx/Kconfig         |    1 +
 arch/arm/mach-s3c24xx/mach-mini2440.c |   50 +++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 0e65445..4f42b7e 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -406,6 +406,7 @@ config MACH_MINI2440
 	select S3C_DEV_NAND
 	select S3C_DEV_USB_HOST
 	select TOUCHSCREEN_S3C2410
+	select S3C_DEV_HWMON
 	help
 	  Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
 	  available via various sources. It can come with a 3.5" or 7" touch LCD.
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c
index fd5fe9d..36149ed 100644
--- a/arch/arm/mach-s3c24xx/mach-mini2440.c
+++ b/arch/arm/mach-s3c24xx/mach-mini2440.c
@@ -57,6 +57,7 @@
 #include <plat/clock.h>
 #include <plat/devs.h>
 #include <plat/cpu.h>
+#include <plat/hwmon.h>
 
 #include <sound/s3c24xx_uda134x.h>
 
@@ -548,6 +549,53 @@ static struct s3c2410_ts_mach_info mini2440_ts_cfg __initdata = {
 	.oversampling_shift = 0,
 };
 
+static struct s3c_hwmon_chcfg mini2440_adc_chcfg[8] = {
+	{
+		.name = "AIN0",	/* connected to CON4/5 and W1 */
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "AIN1",	/* connected to CON4/6 */
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "AIN2",	/* connected to CON4/7 */
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "AIN3",	/* connected to CON4/8 */
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "TSYM",
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "TSYP",
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "TSXM",
+		.mult = 3300,
+		.div = 1023,
+	}, {
+		.name = "TSXP",
+		.mult = 3300,
+		.div = 1023,
+	},
+};
+
+static struct s3c_hwmon_pdata mini2440_adc __initdata = {
+	.in[0] = &mini2440_adc_chcfg[0],
+	.in[1] = &mini2440_adc_chcfg[1],
+	.in[2] = &mini2440_adc_chcfg[2],
+	.in[3] = &mini2440_adc_chcfg[3],
+	.in[4] = &mini2440_adc_chcfg[4],
+	.in[5] = &mini2440_adc_chcfg[5],
+	.in[6] = &mini2440_adc_chcfg[6],
+	.in[7] = &mini2440_adc_chcfg[7],
+};
+
 static struct platform_device *mini2440_devices[] __initdata = {
 	&s3c_device_ohci,
 	&s3c_device_wdt,
@@ -564,6 +612,7 @@ static struct platform_device *mini2440_devices[] __initdata = {
 	&mini2440_audio,
 	&samsung_asoc_dma,
 	&s3c_device_adc,
+	&s3c_device_hwmon,
 };
 
 static void __init mini2440_map_io(void)
@@ -721,6 +770,7 @@ static void __init mini2440_init(void)
 	s3c_nand_set_platdata(&mini2440_nand_info);
 	s3c_i2c0_set_platdata(NULL);
 	s3c24xx_ts_set_platdata(&mini2440_ts_cfg);
+	s3c_hwmon_set_platdata(&mini2440_adc);
 
 	i2c_register_board_info(0, mini2440_i2c_devs,
 				ARRAY_SIZE(mini2440_i2c_devs));
-- 
1.7.10

  parent reply	other threads:[~2012-07-08 17:12 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-08 17:12 [PATCH] Make the Samsung S3C2440 based FriendlyARM Mini2440 feature complete Juergen Beisert
2012-07-08 17:12 ` [PATCH 01/10] Sound/ARM/Samsung: replace wrong dependency Juergen Beisert
2012-07-08 18:19   ` Juergen Beisert
2012-07-08 17:12 ` [PATCH 02/10] PLAT/Samsung/PWM: avoid division by zero Juergen Beisert
2012-07-08 17:12 ` [PATCH 03/10] MACH/Samsung/Mini2440: add support for new LCD panels Juergen Beisert
2012-07-08 17:12 ` [PATCH 04/10] MACH/Samsung/Mini2440: add touchscreen support for mini2440 Juergen Beisert
2012-07-08 17:12 ` [PATCH 05/10] MACH/Samsung/Mini2440: select touchscreen by default Juergen Beisert
2012-07-08 17:12 ` [PATCH 06/10] MACH/Samsung/Mini2440: use leds-gpio driver for board leds Juergen Beisert
2012-07-08 17:12 ` Juergen Beisert [this message]
2012-07-08 17:12 ` [PATCH 08/10] MACH/Samsung/Mini2440: enable button 6 as one of the GPIO keys Juergen Beisert
2012-07-08 17:12 ` [PATCH 09/10] MACH/Samsung/Mini2440: enable buzzer Juergen Beisert
2012-07-08 18:10   ` Juergen Beisert
2012-07-08 18:20   ` Juergen Beisert
2012-07-08 17:12 ` [PATCH 10/10] MACH/Samsung/Mini2440: update the default config Juergen Beisert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1341767544-17447-8-git-send-email-jbe@pengutronix.de \
    --to=jbe@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).