diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-02-05 07:35:39 -0500 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2012-02-17 11:54:05 -0500 |
commit | fac36a5ab9fe5a8bd977d2305eeccad48389cbb5 (patch) | |
tree | 4e330fd09c5a832b78f0bc3c3e77b87bad9803e8 | |
parent | 0d78171672a30e8ec8084f54a557e9948260356d (diff) |
ARM: at91/at91x40: remove use of at91_sys_read/write
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
-rw-r--r-- | arch/arm/mach-at91/at91x40.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91x40_time.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/at91x40.h | 18 |
3 files changed, 27 insertions, 21 deletions
diff --git a/arch/arm/mach-at91/at91x40.c b/arch/arm/mach-at91/at91x40.c index 0154b7f44ff1..5400a1d65035 100644 --- a/arch/arm/mach-at91/at91x40.c +++ b/arch/arm/mach-at91/at91x40.c | |||
@@ -44,7 +44,7 @@ static void at91x40_idle(void) | |||
44 | * Disable the processor clock. The processor will be automatically | 44 | * Disable the processor clock. The processor will be automatically |
45 | * re-enabled by an interrupt or by a reset. | 45 | * re-enabled by an interrupt or by a reset. |
46 | */ | 46 | */ |
47 | at91_sys_write(AT91_PS_CR, AT91_PS_CR_CPU); | 47 | __raw_writel(AT91_PS_CR_CPU, AT91_PS_CR); |
48 | cpu_do_idle(); | 48 | cpu_do_idle(); |
49 | } | 49 | } |
50 | 50 | ||
diff --git a/arch/arm/mach-at91/at91x40_time.c b/arch/arm/mach-at91/at91x40_time.c index dfff2895f4b2..6ca680a1d5d1 100644 --- a/arch/arm/mach-at91/at91x40_time.c +++ b/arch/arm/mach-at91/at91x40_time.c | |||
@@ -28,6 +28,12 @@ | |||
28 | #include <asm/mach/time.h> | 28 | #include <asm/mach/time.h> |
29 | #include <mach/at91_tc.h> | 29 | #include <mach/at91_tc.h> |
30 | 30 | ||
31 | #define at91_tc_read(field) \ | ||
32 | __raw_readl(AT91_TC + field) | ||
33 | |||
34 | #define at91_tc_write(field, value) \ | ||
35 | __raw_writel(value, AT91_TC + field); | ||
36 | |||
31 | /* | 37 | /* |
32 | * 3 counter/timer units present. | 38 | * 3 counter/timer units present. |
33 | */ | 39 | */ |
@@ -37,12 +43,12 @@ | |||
37 | 43 | ||
38 | static unsigned long at91x40_gettimeoffset(void) | 44 | static unsigned long at91x40_gettimeoffset(void) |
39 | { | 45 | { |
40 | return (at91_sys_read(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_CV) * 1000000 / (AT91X40_MASTER_CLOCK / 128)); | 46 | return (at91_tc_read(AT91_TC_CLK1BASE + AT91_TC_CV) * 1000000 / (AT91X40_MASTER_CLOCK / 128)); |
41 | } | 47 | } |
42 | 48 | ||
43 | static irqreturn_t at91x40_timer_interrupt(int irq, void *dev_id) | 49 | static irqreturn_t at91x40_timer_interrupt(int irq, void *dev_id) |
44 | { | 50 | { |
45 | at91_sys_read(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_SR); | 51 | at91_tc_read(AT91_TC_CLK1BASE + AT91_TC_SR); |
46 | timer_tick(); | 52 | timer_tick(); |
47 | return IRQ_HANDLED; | 53 | return IRQ_HANDLED; |
48 | } | 54 | } |
@@ -57,20 +63,20 @@ void __init at91x40_timer_init(void) | |||
57 | { | 63 | { |
58 | unsigned int v; | 64 | unsigned int v; |
59 | 65 | ||
60 | at91_sys_write(AT91_TC + AT91_TC_BCR, 0); | 66 | at91_tc_write(AT91_TC_BCR, 0); |
61 | v = at91_sys_read(AT91_TC + AT91_TC_BMR); | 67 | v = at91_tc_read(AT91_TC_BMR); |
62 | v = (v & ~AT91_TC_TC1XC1S) | AT91_TC_TC1XC1S_NONE; | 68 | v = (v & ~AT91_TC_TC1XC1S) | AT91_TC_TC1XC1S_NONE; |
63 | at91_sys_write(AT91_TC + AT91_TC_BMR, v); | 69 | at91_tc_write(AT91_TC_BMR, v); |
64 | 70 | ||
65 | at91_sys_write(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_CCR, AT91_TC_CLKDIS); | 71 | at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_CCR, AT91_TC_CLKDIS); |
66 | at91_sys_write(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_CMR, (AT91_TC_TIMER_CLOCK4 | AT91_TC_CPCTRG)); | 72 | at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_CMR, (AT91_TC_TIMER_CLOCK4 | AT91_TC_CPCTRG)); |
67 | at91_sys_write(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_IDR, 0xffffffff); | 73 | at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_IDR, 0xffffffff); |
68 | at91_sys_write(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_RC, (AT91X40_MASTER_CLOCK / 128) / HZ - 1); | 74 | at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_RC, (AT91X40_MASTER_CLOCK / 128) / HZ - 1); |
69 | at91_sys_write(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_IER, (1<<4)); | 75 | at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_IER, (1<<4)); |
70 | 76 | ||
71 | setup_irq(AT91X40_ID_TC1, &at91x40_timer_irq); | 77 | setup_irq(AT91X40_ID_TC1, &at91x40_timer_irq); |
72 | 78 | ||
73 | at91_sys_write(AT91_TC + AT91_TC_CLK1BASE + AT91_TC_CCR, (AT91_TC_SWTRG | AT91_TC_CLKEN)); | 79 | at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_CCR, (AT91_TC_SWTRG | AT91_TC_CLKEN)); |
74 | } | 80 | } |
75 | 81 | ||
76 | struct sys_timer at91x40_timer = { | 82 | struct sys_timer at91x40_timer = { |
diff --git a/arch/arm/mach-at91/include/mach/at91x40.h b/arch/arm/mach-at91/include/mach/at91x40.h index a57829f4fd18..90680217064e 100644 --- a/arch/arm/mach-at91/include/mach/at91x40.h +++ b/arch/arm/mach-at91/include/mach/at91x40.h | |||
@@ -28,18 +28,18 @@ | |||
28 | #define AT91X40_ID_IRQ2 18 /* External IRQ 2 */ | 28 | #define AT91X40_ID_IRQ2 18 /* External IRQ 2 */ |
29 | 29 | ||
30 | /* | 30 | /* |
31 | * System Peripherals (offset from AT91_BASE_SYS) | 31 | * System Peripherals |
32 | */ | 32 | */ |
33 | #define AT91_BASE_SYS 0xffc00000 | 33 | #define AT91_BASE_SYS 0xffc00000 |
34 | 34 | ||
35 | #define AT91_EBI (0xffe00000 - AT91_BASE_SYS) /* External Bus Interface */ | 35 | #define AT91_EBI 0xffe00000 /* External Bus Interface */ |
36 | #define AT91_SF (0xfff00000 - AT91_BASE_SYS) /* Special Function */ | 36 | #define AT91_SF 0xfff00000 /* Special Function */ |
37 | #define AT91_USART1 (0xfffcc000 - AT91_BASE_SYS) /* USART 1 */ | 37 | #define AT91_USART1 0xfffcc000 /* USART 1 */ |
38 | #define AT91_USART0 (0xfffd0000 - AT91_BASE_SYS) /* USART 0 */ | 38 | #define AT91_USART0 0xfffd0000 /* USART 0 */ |
39 | #define AT91_TC (0xfffe0000 - AT91_BASE_SYS) /* Timer Counter */ | 39 | #define AT91_TC 0xfffe0000 /* Timer Counter */ |
40 | #define AT91_PIOA (0xffff0000 - AT91_BASE_SYS) /* PIO Controller A */ | 40 | #define AT91_PIOA 0xffff0000 /* PIO Controller A */ |
41 | #define AT91_PS (0xffff4000 - AT91_BASE_SYS) /* Power Save */ | 41 | #define AT91_PS 0xffff4000 /* Power Save */ |
42 | #define AT91_WD (0xffff8000 - AT91_BASE_SYS) /* Watchdog Timer */ | 42 | #define AT91_WD 0xffff8000 /* Watchdog Timer */ |
43 | 43 | ||
44 | /* | 44 | /* |
45 | * The AT91x40 series doesn't have a debug unit like the other AT91 parts. | 45 | * The AT91x40 series doesn't have a debug unit like the other AT91 parts. |