diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-27 19:59:21 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-27 19:59:21 -0800 | 
| commit | 5782fd14aaecc72f27473f380ba2044c7598b14a (patch) | |
| tree | 05b61fe4345205096a4378344027b88bcce15b4b /arch/arm/mach-ep93xx | |
| parent | 45554b2357d5782497e59f09146cc3636d6ad551 (diff) | |
| parent | d4f6c6f15a1f57e10374cf1a457f4eab5933bd0c (diff) | |
| download | linux-5782fd14aaecc72f27473f380ba2044c7598b14a.tar.bz2 | |
Merge tag 'rtc-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
Pull RTC updates from Alexandre Belloni:
 "Subsystem:
   - constify rtc_class_ops structures
 New driver:
   - STM32
 Drivers:
   - armada38x: fix errata, Armada 7K/8K support
   - ds3232: fix wakeup support
   - gemini: DT support
   - m48t86: huge cleanup and platform_data removal
   - mcp795: alarm support
   - sun6i: proper oscillator handling
   - tegra: proper clock handling
   - tps65910: calibration support"
* tag 'rtc-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (44 commits)
  rtc: ds3232: Call device_init_wakeup before device_register
  rtc: pcf2127: bulk read only date and time registers.
  rtc: armada38x: Add support for Armada 7K/8K
  rtc: armada38x: Prepare driver to manage different versions
  rtc: ds3232: Add regmap max_register definition.
  rtc: ds3232: Cleanup whitespace around register and bit definitions.
  rtc: m48t86: remove unused platform_data
  ARM: Orion5x: ts78xx: allow rtc-m48t86 to manage it's own resources
  ARM: Orion5x: ts78xx: remove RTC detection
  ARM: ep93xx: ts72xx: allow rtc-m48t86 to manage its own resources
  rtc: m48t86: verify that the RTC is actually present
  rtc: m48t86: add NVRAM support
  rtc: m48t86: allow driver to manage its resources
  rtc: m48t86: shorten register name defines
  bindings: rtc: correct wrong reference in required properties
  rtc: sun6i: Fix return value check in sun6i_rtc_clk_init()
  rtc: sun6i: extend test coverage
  rtc: sun6i: Fix compatibility with old DT binding
  rtc: snvs: add a missing write sync
  rtc: bq32000: add support to enable disable the trickle charge FET bypass
  ...
Diffstat (limited to 'arch/arm/mach-ep93xx')
| -rw-r--r-- | arch/arm/mach-ep93xx/ts72xx.c | 40 | ||||
| -rw-r--r-- | arch/arm/mach-ep93xx/ts72xx.h | 11 | 
2 files changed, 10 insertions, 41 deletions
| diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c index 3b39ea353d30..8a5b6f059498 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c +++ b/arch/arm/mach-ep93xx/ts72xx.c @@ -16,7 +16,6 @@  #include <linux/init.h>  #include <linux/platform_device.h>  #include <linux/io.h> -#include <linux/platform_data/rtc-m48t86.h>  #include <linux/mtd/nand.h>  #include <linux/mtd/partitions.h> @@ -45,16 +44,6 @@ static struct map_desc ts72xx_io_desc[] __initdata = {  		.pfn		= __phys_to_pfn(TS72XX_OPTIONS2_PHYS_BASE),  		.length		= TS72XX_OPTIONS2_SIZE,  		.type		= MT_DEVICE, -	}, { -		.virtual	= (unsigned long)TS72XX_RTC_INDEX_VIRT_BASE, -		.pfn		= __phys_to_pfn(TS72XX_RTC_INDEX_PHYS_BASE), -		.length		= TS72XX_RTC_INDEX_SIZE, -		.type		= MT_DEVICE, -	}, { -		.virtual	= (unsigned long)TS72XX_RTC_DATA_VIRT_BASE, -		.pfn		= __phys_to_pfn(TS72XX_RTC_DATA_PHYS_BASE), -		.length		= TS72XX_RTC_DATA_SIZE, -		.type		= MT_DEVICE,  	}  }; @@ -179,31 +168,22 @@ static void __init ts72xx_register_flash(void)  	}  } +/************************************************************************* + * RTC M48T86 + *************************************************************************/ +#define TS72XX_RTC_INDEX_PHYS_BASE	(EP93XX_CS1_PHYS_BASE + 0x00800000) +#define TS72XX_RTC_DATA_PHYS_BASE	(EP93XX_CS1_PHYS_BASE + 0x01700000) -static unsigned char ts72xx_rtc_readbyte(unsigned long addr) -{ -	__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); -	return __raw_readb(TS72XX_RTC_DATA_VIRT_BASE); -} - -static void ts72xx_rtc_writebyte(unsigned char value, unsigned long addr) -{ -	__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); -	__raw_writeb(value, TS72XX_RTC_DATA_VIRT_BASE); -} - -static struct m48t86_ops ts72xx_rtc_ops = { -	.readbyte	= ts72xx_rtc_readbyte, -	.writebyte	= ts72xx_rtc_writebyte, +static struct resource ts72xx_rtc_resources[] = { +	DEFINE_RES_MEM(TS72XX_RTC_INDEX_PHYS_BASE, 0x01), +	DEFINE_RES_MEM(TS72XX_RTC_DATA_PHYS_BASE, 0x01),  };  static struct platform_device ts72xx_rtc_device = {  	.name		= "rtc-m48t86",  	.id		= -1, -	.dev		= { -		.platform_data	= &ts72xx_rtc_ops, -	}, -	.num_resources	= 0, +	.resource	= ts72xx_rtc_resources, +	.num_resources 	= ARRAY_SIZE(ts72xx_rtc_resources),  };  static struct resource ts72xx_wdt_resources[] = { diff --git a/arch/arm/mach-ep93xx/ts72xx.h b/arch/arm/mach-ep93xx/ts72xx.h index 071feaa30adc..2255ba29fdd6 100644 --- a/arch/arm/mach-ep93xx/ts72xx.h +++ b/arch/arm/mach-ep93xx/ts72xx.h @@ -9,8 +9,6 @@   * febff000	22000000	4K	model number register (bits 0-2)   * febfe000	22400000	4K	options register   * febfd000	22800000	4K	options register #2 - * febf9000	10800000	4K	TS-5620 RTC index register - * febf8000	11700000	4K	TS-5620 RTC data register   */  #define TS72XX_MODEL_PHYS_BASE		0x22000000 @@ -40,15 +38,6 @@  #define TS72XX_OPTIONS2_TS9420		0x04  #define TS72XX_OPTIONS2_TS9420_BOOT	0x02 - -#define TS72XX_RTC_INDEX_VIRT_BASE	IOMEM(0xfebf9000) -#define TS72XX_RTC_INDEX_PHYS_BASE	0x10800000 -#define TS72XX_RTC_INDEX_SIZE		0x00001000 - -#define TS72XX_RTC_DATA_VIRT_BASE	IOMEM(0xfebf8000) -#define TS72XX_RTC_DATA_PHYS_BASE	0x11700000 -#define TS72XX_RTC_DATA_SIZE		0x00001000 -  #define TS72XX_WDT_CONTROL_PHYS_BASE	0x23800000  #define TS72XX_WDT_FEED_PHYS_BASE	0x23c00000 |