Commit 1ff5b1b4 authored by Jean-Christophe PLAGNIOL-VILLARD's avatar Jean-Christophe PLAGNIOL-VILLARD Committed by Arnd Bergmann

at91: remove AT91_DBGU offset from dbgu register macro

to make the soc base specified at runtime instead of compiled time
Signed-off-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
parent 92100c12
...@@ -324,7 +324,7 @@ static void __init at91sam9xe_map_io(void) ...@@ -324,7 +324,7 @@ static void __init at91sam9xe_map_io(void)
{ {
unsigned long cidr, sram_size; unsigned long cidr, sram_size;
cidr = at91_sys_read(AT91_DBGU_CIDR); cidr = dbgu_readl(AT91_DBGU, CIDR);
switch (cidr & AT91_CIDR_SRAMSIZ) { switch (cidr & AT91_CIDR_SRAMSIZ) {
case AT91_CIDR_SRAMSIZ_32K: case AT91_CIDR_SRAMSIZ_32K:
......
...@@ -283,7 +283,7 @@ static void __init at91sam9rl_map_io(void) ...@@ -283,7 +283,7 @@ static void __init at91sam9rl_map_io(void)
{ {
unsigned long cidr, sram_size; unsigned long cidr, sram_size;
cidr = at91_sys_read(AT91_DBGU_CIDR); cidr = dbgu_readl(AT91_DBGU, CIDR);
switch (cidr & AT91_CIDR_SRAMSIZ) { switch (cidr & AT91_CIDR_SRAMSIZ) {
case AT91_CIDR_SRAMSIZ_32K: case AT91_CIDR_SRAMSIZ_32K:
......
...@@ -16,22 +16,25 @@ ...@@ -16,22 +16,25 @@
#ifndef AT91_DBGU_H #ifndef AT91_DBGU_H
#define AT91_DBGU_H #define AT91_DBGU_H
#define dbgu_readl(dbgu, field) \
__raw_readl(AT91_VA_BASE_SYS + dbgu + AT91_DBGU_ ## field)
#ifdef AT91_DBGU #ifdef AT91_DBGU
#define AT91_DBGU_CR (AT91_DBGU + 0x00) /* Control Register */ #define AT91_DBGU_CR (0x00) /* Control Register */
#define AT91_DBGU_MR (AT91_DBGU + 0x04) /* Mode Register */ #define AT91_DBGU_MR (0x04) /* Mode Register */
#define AT91_DBGU_IER (AT91_DBGU + 0x08) /* Interrupt Enable Register */ #define AT91_DBGU_IER (0x08) /* Interrupt Enable Register */
#define AT91_DBGU_TXRDY (1 << 1) /* Transmitter Ready */ #define AT91_DBGU_TXRDY (1 << 1) /* Transmitter Ready */
#define AT91_DBGU_TXEMPTY (1 << 9) /* Transmitter Empty */ #define AT91_DBGU_TXEMPTY (1 << 9) /* Transmitter Empty */
#define AT91_DBGU_IDR (AT91_DBGU + 0x0c) /* Interrupt Disable Register */ #define AT91_DBGU_IDR (0x0c) /* Interrupt Disable Register */
#define AT91_DBGU_IMR (AT91_DBGU + 0x10) /* Interrupt Mask Register */ #define AT91_DBGU_IMR (0x10) /* Interrupt Mask Register */
#define AT91_DBGU_SR (AT91_DBGU + 0x14) /* Status Register */ #define AT91_DBGU_SR (0x14) /* Status Register */
#define AT91_DBGU_RHR (AT91_DBGU + 0x18) /* Receiver Holding Register */ #define AT91_DBGU_RHR (0x18) /* Receiver Holding Register */
#define AT91_DBGU_THR (AT91_DBGU + 0x1c) /* Transmitter Holding Register */ #define AT91_DBGU_THR (0x1c) /* Transmitter Holding Register */
#define AT91_DBGU_BRGR (AT91_DBGU + 0x20) /* Baud Rate Generator Register */ #define AT91_DBGU_BRGR (0x20) /* Baud Rate Generator Register */
#define AT91_DBGU_CIDR (AT91_DBGU + 0x40) /* Chip ID Register */ #define AT91_DBGU_CIDR (0x40) /* Chip ID Register */
#define AT91_DBGU_EXID (AT91_DBGU + 0x44) /* Chip ID Extension Register */ #define AT91_DBGU_EXID (0x44) /* Chip ID Extension Register */
#define AT91_DBGU_FNR (AT91_DBGU + 0x48) /* Force NTRST Register [SAM9 only] */ #define AT91_DBGU_FNR (0x48) /* Force NTRST Register [SAM9 only] */
#define AT91_DBGU_FNTRST (1 << 0) /* Force NTRST */ #define AT91_DBGU_FNTRST (1 << 0) /* Force NTRST */
#endif /* AT91_DBGU */ #endif /* AT91_DBGU */
......
...@@ -41,12 +41,12 @@ ...@@ -41,12 +41,12 @@
static inline unsigned long at91_cpu_identify(void) static inline unsigned long at91_cpu_identify(void)
{ {
return (at91_sys_read(AT91_DBGU_CIDR) & ~AT91_CIDR_VERSION); return (dbgu_readl(AT91_DBGU, CIDR) & ~AT91_CIDR_VERSION);
} }
static inline unsigned long at91_cpu_fully_identify(void) static inline unsigned long at91_cpu_fully_identify(void)
{ {
return at91_sys_read(AT91_DBGU_CIDR); return dbgu_readl(AT91_DBGU, CIDR);
} }
#define ARCH_EXID_AT91SAM9M11 0x00000001 #define ARCH_EXID_AT91SAM9M11 0x00000001
...@@ -62,7 +62,7 @@ static inline unsigned long at91_cpu_fully_identify(void) ...@@ -62,7 +62,7 @@ static inline unsigned long at91_cpu_fully_identify(void)
static inline unsigned long at91_exid_identify(void) static inline unsigned long at91_exid_identify(void)
{ {
return at91_sys_read(AT91_DBGU_EXID); return dbgu_readl(AT91_DBGU, EXID);
} }
...@@ -72,7 +72,7 @@ static inline unsigned long at91_exid_identify(void) ...@@ -72,7 +72,7 @@ static inline unsigned long at91_exid_identify(void)
static inline unsigned long at91_arch_identify(void) static inline unsigned long at91_arch_identify(void)
{ {
return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH); return (dbgu_readl(AT91_DBGU, CIDR) & AT91_CIDR_ARCH);
} }
#ifdef CONFIG_ARCH_AT91CAP9 #ifdef CONFIG_ARCH_AT91CAP9
......
...@@ -20,17 +20,17 @@ ...@@ -20,17 +20,17 @@
.endm .endm
.macro senduart,rd,rx .macro senduart,rd,rx
strb \rd, [\rx, #(AT91_DBGU_THR - AT91_DBGU)] @ Write to Transmitter Holding Register strb \rd, [\rx, #(AT91_DBGU_THR)] @ Write to Transmitter Holding Register
.endm .endm
.macro waituart,rd,rx .macro waituart,rd,rx
1001: ldr \rd, [\rx, #(AT91_DBGU_SR - AT91_DBGU)] @ Read Status Register 1001: ldr \rd, [\rx, #(AT91_DBGU_SR)] @ Read Status Register
tst \rd, #AT91_DBGU_TXRDY @ DBGU_TXRDY = 1 when ready to transmit tst \rd, #AT91_DBGU_TXRDY @ DBGU_TXRDY = 1 when ready to transmit
beq 1001b beq 1001b
.endm .endm
.macro busyuart,rd,rx .macro busyuart,rd,rx
1001: ldr \rd, [\rx, #(AT91_DBGU_SR - AT91_DBGU)] @ Read Status Register 1001: ldr \rd, [\rx, #(AT91_DBGU_SR)] @ Read Status Register
tst \rd, #AT91_DBGU_TXEMPTY @ DBGU_TXEMPTY = 1 when transmission complete tst \rd, #AT91_DBGU_TXEMPTY @ DBGU_TXEMPTY = 1 when transmission complete
beq 1001b beq 1001b
.endm .endm
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment