-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'renesas-soc-core' into renesas-soc
* renesas-soc-core: ARM: shmobile: soc-core: add R-mobile PM domain common APIs ARM: mach-shmobile: Convert sh_clk_mstp32_register to sh_clk_mstp_register ARM: shmobile: add common DMAEngine definitions ARM: shmobile: add common extra gpio functions Conflicts: arch/arm/mach-shmobile/clock-r8a7740.c
- Loading branch information
Showing
11 changed files
with
334 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
/* | ||
* SH-ARM CPU-specific DMA definitions, used by both DMA drivers | ||
* | ||
* Copyright (C) 2012 Renesas Solutions Corp | ||
* | ||
* Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | ||
* | ||
* Based on arch/sh/include/cpu-sh4/cpu/dma-register.h | ||
* Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
|
||
#ifndef DMA_REGISTER_H | ||
#define DMA_REGISTER_H | ||
|
||
/* | ||
* Direct Memory Access Controller | ||
*/ | ||
|
||
/* Transmit sizes and respective CHCR register values */ | ||
enum { | ||
XMIT_SZ_8BIT = 0, | ||
XMIT_SZ_16BIT = 1, | ||
XMIT_SZ_32BIT = 2, | ||
XMIT_SZ_64BIT = 7, | ||
XMIT_SZ_128BIT = 3, | ||
XMIT_SZ_256BIT = 4, | ||
XMIT_SZ_512BIT = 5, | ||
}; | ||
|
||
/* log2(size / 8) - used to calculate number of transfers */ | ||
static const unsigned int dma_ts_shift[] = { | ||
[XMIT_SZ_8BIT] = 0, | ||
[XMIT_SZ_16BIT] = 1, | ||
[XMIT_SZ_32BIT] = 2, | ||
[XMIT_SZ_64BIT] = 3, | ||
[XMIT_SZ_128BIT] = 4, | ||
[XMIT_SZ_256BIT] = 5, | ||
[XMIT_SZ_512BIT] = 6, | ||
}; | ||
|
||
#define TS_LOW_BIT 0x3 /* --xx */ | ||
#define TS_HI_BIT 0xc /* xx-- */ | ||
|
||
#define TS_LOW_SHIFT (3) | ||
#define TS_HI_SHIFT (20 - 2) /* 2 bits for shifted low TS */ | ||
|
||
#define TS_INDEX2VAL(i) \ | ||
((((i) & TS_LOW_BIT) << TS_LOW_SHIFT) |\ | ||
(((i) & TS_HI_BIT) << TS_HI_SHIFT)) | ||
|
||
#define CHCR_TX(xmit_sz) (DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL((xmit_sz))) | ||
#define CHCR_RX(xmit_sz) (DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL((xmit_sz))) | ||
|
||
|
||
/* | ||
* USB High-Speed DMAC | ||
*/ | ||
/* Transmit sizes and respective CHCR register values */ | ||
enum { | ||
USBTS_XMIT_SZ_8BYTE = 0, | ||
USBTS_XMIT_SZ_16BYTE = 1, | ||
USBTS_XMIT_SZ_32BYTE = 2, | ||
}; | ||
|
||
/* log2(size / 8) - used to calculate number of transfers */ | ||
static const unsigned int dma_usbts_shift[] = { | ||
[USBTS_XMIT_SZ_8BYTE] = 3, | ||
[USBTS_XMIT_SZ_16BYTE] = 4, | ||
[USBTS_XMIT_SZ_32BYTE] = 5, | ||
}; | ||
|
||
#define USBTS_LOW_BIT 0x3 /* --xx */ | ||
#define USBTS_HI_BIT 0x0 /* ---- */ | ||
|
||
#define USBTS_LOW_SHIFT 6 | ||
#define USBTS_HI_SHIFT 0 | ||
|
||
#define USBTS_INDEX2VAL(i) (((i) & 3) << 6) | ||
|
||
#endif /* DMA_REGISTER_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/* | ||
* Copyright (C) 2012 Renesas Solutions Corp. | ||
* | ||
* Kuninori Morimoto <morimoto.kuninori@renesas.com> | ||
* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
*/ | ||
#ifndef PM_RMOBILE_H | ||
#define PM_RMOBILE_H | ||
|
||
#include <linux/pm_domain.h> | ||
|
||
struct platform_device; | ||
|
||
struct rmobile_pm_domain { | ||
struct generic_pm_domain genpd; | ||
struct dev_power_governor *gov; | ||
int (*suspend)(void); | ||
void (*resume)(void); | ||
unsigned int bit_shift; | ||
bool no_debug; | ||
}; | ||
|
||
static inline | ||
struct rmobile_pm_domain *to_rmobile_pd(struct generic_pm_domain *d) | ||
{ | ||
return container_of(d, struct rmobile_pm_domain, genpd); | ||
} | ||
|
||
#ifdef CONFIG_PM | ||
extern void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd); | ||
extern void rmobile_add_device_to_domain(struct rmobile_pm_domain *rmobile_pd, | ||
struct platform_device *pdev); | ||
extern void rmobile_pm_add_subdomain(struct rmobile_pm_domain *rmobile_pd, | ||
struct rmobile_pm_domain *rmobile_sd); | ||
#else | ||
#define rmobile_init_pm_domain(pd) do { } while (0) | ||
#define rmobile_add_device_to_domain(pd, pdev) do { } while (0) | ||
#define rmobile_pm_add_subdomain(pd, sd) do { } while (0) | ||
#endif /* CONFIG_PM */ | ||
|
||
#endif /* PM_RMOBILE_H */ |
Oops, something went wrong.