ARM: s3c: adc: move header to linux/soc/samsung
authorArnd Bergmann <arnd@arndb.de>
Thu, 6 Aug 2020 18:20:39 +0000 (20:20 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 19 Aug 2020 19:44:11 +0000 (21:44 +0200)
There are multiple drivers using the private adc interface.
It seems unlikely that they would ever get converted to iio,
so make the current state official by making the header file
global.

The s3c2410_ts driver needs a couple of register definitions
as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Sebastian Reichel <sre@kernel.org>
Link: https://lore.kernel.org/r/20200806182059.2431-22-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/plat-samsung/adc.c
arch/arm/plat-samsung/devs.c
drivers/hwmon/s3c-hwmon.c
drivers/input/touchscreen/s3c2410_ts.c
drivers/power/supply/s3c_adc_battery.c
include/linux/soc/samsung/s3c-adc.h [moved from arch/arm/plat-samsung/include/plat/adc.h with 85% similarity]

index a2fefb2609e7872174fb4096ce9167c55c9fc199..ca9a346056ed1842de3724f4dbe3e4c59377143d 100644 (file)
@@ -57,7 +57,7 @@
 #include <plat/keypad.h>
 #include <plat/devs.h>
 #include <plat/cpu.h>
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <linux/platform_data/i2c-s3c2410.h>
 #include <plat/pm.h>
 
index 636d312add81604492a6f14392512ad98ad62499..cbf6a1696a6da4d4493a68362cf24fe7437d2641 100644 (file)
@@ -27,7 +27,7 @@
 #include <mach/regs-gpio.h>
 #include <mach/gpio-samsung.h>
 
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <plat/cpu.h>
 #include <plat/devs.h>
 #include <plat/fb.h>
index 56fc21f02c7bd81ea995e9f6bbecd24184838a5c..e2aa7c0998bd3de2204af66a56082e79e76b1243 100644 (file)
@@ -29,7 +29,7 @@
 #include <mach/gpio-samsung.h>
 #include <mach/irqs.h>
 
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <plat/cpu.h>
 #include <plat/devs.h>
 #include <plat/fb.h>
index 7b931e7a79135482d82a9aafd06c58d69fccab95..febeacc476c8af51f19718244f9022868638471d 100644 (file)
@@ -60,7 +60,7 @@
 
 #include <plat/devs.h>
 #include <plat/cpu.h>
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <linux/platform_data/touchscreen-s3c2410.h>
 #include <plat/keypad.h>
 
index 55b1925f65d79e345916e7c876b709e622c0ab80..e35e04417cce4a9abc2acd7614874f3d98cac00e 100644 (file)
@@ -20,7 +20,7 @@
 #include <linux/regulator/consumer.h>
 
 #include <plat/regs-adc.h>
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 
 /* This driver is designed to control the usage of the ADC block between
  * the touchscreen and any other drivers that may need to use it, such as
index 0ed3a4b9fc12dbf91b0a27fe07d20a0d0932b1a4..c42e4a272cc799e5eec2574e28828f65f7f6ec58 100644 (file)
@@ -46,7 +46,7 @@
 
 #include <plat/cpu.h>
 #include <plat/devs.h>
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <linux/platform_data/ata-samsung_cf.h>
 #include <plat/fb.h>
 #include <plat/fb-s3c2410.h>
index b490fe3d2ee8fbf798d9e97b7b2adbb09d97ae52..f2703c5460d059f93b7284b3cc5568959cfe0cae 100644 (file)
@@ -20,7 +20,7 @@
 #include <linux/hwmon.h>
 #include <linux/hwmon-sysfs.h>
 
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <linux/platform_data/hwmon-s3c.h>
 
 struct s3c_hwmon_attr {
index 82920ff46f72fc66decdcb790a12c3c17d31771c..2e70c0b79444efbd75883a0383c67261867e3ac3 100644 (file)
 #include <linux/clk.h>
 #include <linux/io.h>
 
-#include <plat/adc.h>
-#include <plat/regs-adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 #include <linux/platform_data/touchscreen-s3c2410.h>
 
+#define        S3C2410_ADCCON                  (0x00)
+#define        S3C2410_ADCTSC                  (0x04)
+#define        S3C2410_ADCDLY                  (0x08)
+#define        S3C2410_ADCDAT0                 (0x0C)
+#define        S3C2410_ADCDAT1                 (0x10)
+#define        S3C64XX_ADCUPDN                 (0x14)
+#define        S3C2443_ADCMUX                  (0x18)
+#define        S3C64XX_ADCCLRINT               (0x18)
+#define        S5P_ADCMUX                      (0x1C)
+#define        S3C64XX_ADCCLRINTPNDNUP         (0x20)
+
+/* ADCTSC Register Bits */
+#define S3C2443_ADCTSC_UD_SEN          (1 << 8)
+#define S3C2410_ADCTSC_YM_SEN          (1<<7)
+#define S3C2410_ADCTSC_YP_SEN          (1<<6)
+#define S3C2410_ADCTSC_XM_SEN          (1<<5)
+#define S3C2410_ADCTSC_XP_SEN          (1<<4)
+#define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3)
+#define S3C2410_ADCTSC_AUTO_PST                (1<<2)
+#define S3C2410_ADCTSC_XY_PST(x)       (((x)&0x3)<<0)
+
+/* ADCDAT0 Bits */
+#define S3C2410_ADCDAT0_UPDOWN         (1<<15)
+#define S3C2410_ADCDAT0_AUTO_PST       (1<<14)
+#define S3C2410_ADCDAT0_XY_PST         (0x3<<12)
+#define S3C2410_ADCDAT0_XPDATA_MASK    (0x03FF)
+
+/* ADCDAT1 Bits */
+#define S3C2410_ADCDAT1_UPDOWN         (1<<15)
+#define S3C2410_ADCDAT1_AUTO_PST       (1<<14)
+#define S3C2410_ADCDAT1_XY_PST         (0x3<<12)
+#define S3C2410_ADCDAT1_YPDATA_MASK    (0x03FF)
+
+
 #define TSC_SLEEP  (S3C2410_ADCTSC_PULL_UP_DISABLE | S3C2410_ADCTSC_XY_PST(0))
 
 #define INT_DOWN       (0)
index 3d00b35cafc9ed9e5106c3d3336064d04f31bf0e..60b7f41ab063198ebb9f429d618be85c3601e58d 100644 (file)
@@ -22,7 +22,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 
-#include <plat/adc.h>
+#include <linux/soc/samsung/s3c-adc.h>
 
 #define BAT_POLL_INTERVAL              10000 /* ms */
 #define JITTER_DELAY                   500 /* ms */
similarity index 85%
rename from arch/arm/plat-samsung/include/plat/adc.h
rename to include/linux/soc/samsung/s3c-adc.h
index 74d1a46408c1ca07ff01bf13e99ee505040bb604..591c94ef957dcadd368a6f939b65d555d5bb4a26 100644 (file)
@@ -7,8 +7,8 @@
  * S3C ADC driver information
  */
 
-#ifndef __ASM_PLAT_ADC_H
-#define __ASM_PLAT_ADC_H __FILE__
+#ifndef __LINUX_SOC_SAMSUNG_S3C_ADC_H
+#define __LINUX_SOC_SAMSUNG_S3C_ADC_H __FILE__
 
 struct s3c_adc_client;
 struct platform_device;
@@ -29,4 +29,4 @@ extern struct s3c_adc_client *
 
 extern void s3c_adc_release(struct s3c_adc_client *client);
 
-#endif /* __ASM_PLAT_ADC_H */
+#endif /* __LINUX_SOC_SAMSUNG_S3C_ADC_H */