diff options
Diffstat (limited to 'include')
88 files changed, 2056 insertions, 825 deletions
diff --git a/include/asm-blackfin/.gitignore b/include/asm-blackfin/.gitignore new file mode 100644 index 000000000000..7858564a4466 --- /dev/null +++ b/include/asm-blackfin/.gitignore | |||
| @@ -0,0 +1 @@ | |||
| +mach | |||
diff --git a/include/asm-blackfin/bfin-global.h b/include/asm-blackfin/bfin-global.h index 5dba3a735596..716df7c85923 100644 --- a/include/asm-blackfin/bfin-global.h +++ b/include/asm-blackfin/bfin-global.h | |||
| @@ -112,20 +112,10 @@ extern void init_leds(void); | |||
| 112 | 112 | ||
| 113 | extern const char bfin_board_name[]; | 113 | extern const char bfin_board_name[]; |
| 114 | extern unsigned long wall_jiffies; | 114 | extern unsigned long wall_jiffies; |
| 115 | extern unsigned long ipdt_table[]; | ||
| 116 | extern unsigned long dpdt_table[]; | ||
| 117 | extern unsigned long icplb_table[]; | ||
| 118 | extern unsigned long dcplb_table[]; | ||
| 119 | |||
| 120 | extern unsigned long ipdt_swapcount_table[]; | ||
| 121 | extern unsigned long dpdt_swapcount_table[]; | ||
| 122 | |||
| 123 | extern unsigned long table_start, table_end; | ||
| 124 | 115 | ||
| 125 | extern unsigned long bfin_sic_iwr[]; | 116 | extern unsigned long bfin_sic_iwr[]; |
| 126 | extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ | 117 | extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ |
| 127 | extern struct file_operations dpmc_fops; | 118 | extern struct file_operations dpmc_fops; |
| 128 | extern char _start; | ||
| 129 | extern unsigned long _ramstart, _ramend, _rambase; | 119 | extern unsigned long _ramstart, _ramend, _rambase; |
| 130 | extern unsigned long memory_start, memory_end, physical_mem_end; | 120 | extern unsigned long memory_start, memory_end, physical_mem_end; |
| 131 | extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[], | 121 | extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[], |
diff --git a/include/asm-blackfin/bug.h b/include/asm-blackfin/bug.h index 41e53b29f167..6d3e11b1fc57 100644 --- a/include/asm-blackfin/bug.h +++ b/include/asm-blackfin/bug.h | |||
| @@ -1,4 +1,17 @@ | |||
| 1 | #ifndef _BLACKFIN_BUG_H | 1 | #ifndef _BLACKFIN_BUG_H |
| 2 | #define _BLACKFIN_BUG_H | 2 | #define _BLACKFIN_BUG_H |
| 3 | |||
| 4 | #ifdef CONFIG_BUG | ||
| 5 | #define HAVE_ARCH_BUG | ||
| 6 | |||
| 7 | #define BUG() do { \ | ||
| 8 | dump_bfin_trace_buffer(); \ | ||
| 9 | printk(KERN_EMERG "BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \ | ||
| 10 | panic("BUG!"); \ | ||
| 11 | } while (0) | ||
| 12 | |||
| 13 | #endif | ||
| 14 | |||
| 3 | #include <asm-generic/bug.h> | 15 | #include <asm-generic/bug.h> |
| 16 | |||
| 4 | #endif | 17 | #endif |
diff --git a/include/asm-blackfin/cplb.h b/include/asm-blackfin/cplb.h index 654375c2b746..5b0da9a69b67 100644 --- a/include/asm-blackfin/cplb.h +++ b/include/asm-blackfin/cplb.h | |||
| @@ -74,32 +74,6 @@ | |||
| 74 | #define ASYNC_MEMORY_CPLB_COVERAGE ((ASYNC_BANK0_SIZE + ASYNC_BANK1_SIZE + \ | 74 | #define ASYNC_MEMORY_CPLB_COVERAGE ((ASYNC_BANK0_SIZE + ASYNC_BANK1_SIZE + \ |
| 75 | ASYNC_BANK2_SIZE + ASYNC_BANK3_SIZE) / SIZE_4M) | 75 | ASYNC_BANK2_SIZE + ASYNC_BANK3_SIZE) / SIZE_4M) |
| 76 | 76 | ||
| 77 | /* | ||
| 78 | * Number of required data CPLB switchtable entries | ||
| 79 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
| 80 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
| 81 | * 1 for L1 Data Memory | ||
| 82 | * possibly 1 for L2 Data Memory | ||
| 83 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
| 84 | * 1 for ASYNC Memory | ||
| 85 | */ | ||
| 86 | |||
| 87 | |||
| 88 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1 \ | ||
| 89 | + ASYNC_MEMORY_CPLB_COVERAGE) * 2) | ||
| 90 | |||
| 91 | /* | ||
| 92 | * Number of required instruction CPLB switchtable entries | ||
| 93 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
| 94 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
| 95 | * 1 for L1 Instruction Memory | ||
| 96 | * possibly 1 for L2 Instruction Memory | ||
| 97 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
| 98 | */ | ||
| 99 | |||
| 100 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1 + 1) * 2) | ||
| 101 | |||
| 102 | |||
| 103 | #define CPLB_ENABLE_ICACHE_P 0 | 77 | #define CPLB_ENABLE_ICACHE_P 0 |
| 104 | #define CPLB_ENABLE_DCACHE_P 1 | 78 | #define CPLB_ENABLE_DCACHE_P 1 |
| 105 | #define CPLB_ENABLE_DCACHE2_P 2 | 79 | #define CPLB_ENABLE_DCACHE2_P 2 |
diff --git a/include/asm-blackfin/dma-mapping.h b/include/asm-blackfin/dma-mapping.h index 282fabccf6a6..1a13c2fc3667 100644 --- a/include/asm-blackfin/dma-mapping.h +++ b/include/asm-blackfin/dma-mapping.h | |||
| @@ -27,6 +27,14 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr, | |||
| 27 | extern dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, | 27 | extern dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, |
| 28 | enum dma_data_direction direction); | 28 | enum dma_data_direction direction); |
| 29 | 29 | ||
| 30 | static inline dma_addr_t | ||
| 31 | dma_map_page(struct device *dev, struct page *page, | ||
| 32 | unsigned long offset, size_t size, | ||
| 33 | enum dma_data_direction dir) | ||
| 34 | { | ||
| 35 | return dma_map_single(dev, page_address(page) + offset, size, dir); | ||
| 36 | } | ||
| 37 | |||
| 30 | /* | 38 | /* |
| 31 | * Unmap a single streaming mode DMA translation. The dma_addr and size | 39 | * Unmap a single streaming mode DMA translation. The dma_addr and size |
| 32 | * must match what was provided for in a previous pci_map_single call. All | 40 | * must match what was provided for in a previous pci_map_single call. All |
| @@ -38,6 +46,13 @@ extern dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, | |||
| 38 | extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | 46 | extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, |
| 39 | enum dma_data_direction direction); | 47 | enum dma_data_direction direction); |
| 40 | 48 | ||
| 49 | static inline void | ||
| 50 | dma_unmap_page(struct device *dev, dma_addr_t dma_addr, size_t size, | ||
| 51 | enum dma_data_direction dir) | ||
| 52 | { | ||
| 53 | dma_unmap_single(dev, dma_addr, size, dir); | ||
| 54 | } | ||
| 55 | |||
| 41 | /* | 56 | /* |
| 42 | * Map a set of buffers described by scatterlist in streaming | 57 | * Map a set of buffers described by scatterlist in streaming |
| 43 | * mode for DMA. This is the scather-gather version of the | 58 | * mode for DMA. This is the scather-gather version of the |
diff --git a/include/asm-blackfin/dma.h b/include/asm-blackfin/dma.h index 16d493574ba8..c0d5259e315b 100644 --- a/include/asm-blackfin/dma.h +++ b/include/asm-blackfin/dma.h | |||
| @@ -191,4 +191,7 @@ void clear_dma_irqstat(unsigned int channel); | |||
| 191 | void *dma_memcpy(void *dest, const void *src, size_t count); | 191 | void *dma_memcpy(void *dest, const void *src, size_t count); |
| 192 | void *safe_dma_memcpy(void *dest, const void *src, size_t count); | 192 | void *safe_dma_memcpy(void *dest, const void *src, size_t count); |
| 193 | 193 | ||
| 194 | extern int channel2irq(unsigned int channel); | ||
| 195 | extern struct dma_register *dma_io_base_addr[MAX_BLACKFIN_DMA_CHANNEL]; | ||
| 196 | |||
| 194 | #endif | 197 | #endif |
diff --git a/include/asm-blackfin/gptimers.h b/include/asm-blackfin/gptimers.h index 4f318f1fd2d9..0520d2aac8f3 100644 --- a/include/asm-blackfin/gptimers.h +++ b/include/asm-blackfin/gptimers.h | |||
| @@ -22,6 +22,18 @@ | |||
| 22 | # define TIMER0_GROUP_REG TIMER_ENABLE | 22 | # define TIMER0_GROUP_REG TIMER_ENABLE |
| 23 | #endif | 23 | #endif |
| 24 | /* | 24 | /* |
| 25 | * BF54x: 11 timers (BF542: 8 timers): | ||
| 26 | */ | ||
| 27 | #if defined(BF548_FAMILY) | ||
| 28 | # ifdef CONFIG_BF542 | ||
| 29 | # define MAX_BLACKFIN_GPTIMERS 8 | ||
| 30 | # else | ||
| 31 | # define MAX_BLACKFIN_GPTIMERS 11 | ||
| 32 | # define TIMER8_GROUP_REG TIMER_ENABLE1 | ||
| 33 | # endif | ||
| 34 | # define TIMER0_GROUP_REG TIMER_ENABLE0 | ||
| 35 | #endif | ||
| 36 | /* | ||
| 25 | * BF561: 12 timers: | 37 | * BF561: 12 timers: |
| 26 | */ | 38 | */ |
| 27 | #if defined(CONFIG_BF561) | 39 | #if defined(CONFIG_BF561) |
| @@ -44,40 +56,28 @@ | |||
| 44 | #define TIMER0bit 0x0001 /* 0001b */ | 56 | #define TIMER0bit 0x0001 /* 0001b */ |
| 45 | #define TIMER1bit 0x0002 /* 0010b */ | 57 | #define TIMER1bit 0x0002 /* 0010b */ |
| 46 | #define TIMER2bit 0x0004 /* 0100b */ | 58 | #define TIMER2bit 0x0004 /* 0100b */ |
| 47 | 59 | #define TIMER3bit 0x0008 | |
| 48 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 60 | #define TIMER4bit 0x0010 |
| 49 | # define TIMER3bit 0x0008 | 61 | #define TIMER5bit 0x0020 |
| 50 | # define TIMER4bit 0x0010 | 62 | #define TIMER6bit 0x0040 |
| 51 | # define TIMER5bit 0x0020 | 63 | #define TIMER7bit 0x0080 |
| 52 | # define TIMER6bit 0x0040 | 64 | #define TIMER8bit 0x0100 |
| 53 | # define TIMER7bit 0x0080 | 65 | #define TIMER9bit 0x0200 |
| 54 | #endif | 66 | #define TIMER10bit 0x0400 |
| 55 | 67 | #define TIMER11bit 0x0800 | |
| 56 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
| 57 | # define TIMER8bit 0x0100 | ||
| 58 | # define TIMER9bit 0x0200 | ||
| 59 | # define TIMER10bit 0x0400 | ||
| 60 | # define TIMER11bit 0x0800 | ||
| 61 | #endif | ||
| 62 | 68 | ||
| 63 | #define TIMER0_id 0 | 69 | #define TIMER0_id 0 |
| 64 | #define TIMER1_id 1 | 70 | #define TIMER1_id 1 |
| 65 | #define TIMER2_id 2 | 71 | #define TIMER2_id 2 |
| 66 | 72 | #define TIMER3_id 3 | |
| 67 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 73 | #define TIMER4_id 4 |
| 68 | # define TIMER3_id 3 | 74 | #define TIMER5_id 5 |
| 69 | # define TIMER4_id 4 | 75 | #define TIMER6_id 6 |
| 70 | # define TIMER5_id 5 | 76 | #define TIMER7_id 7 |
| 71 | # define TIMER6_id 6 | 77 | #define TIMER8_id 8 |
| 72 | # define TIMER7_id 7 | 78 | #define TIMER9_id 9 |
| 73 | #endif | 79 | #define TIMER10_id 10 |
| 74 | 80 | #define TIMER11_id 11 | |
| 75 | #if (MAX_BLACKFIN_GPTIMERS > 8) | ||
| 76 | # define TIMER8_id 8 | ||
| 77 | # define TIMER9_id 9 | ||
| 78 | # define TIMER10_id 10 | ||
| 79 | # define TIMER11_id 11 | ||
| 80 | #endif | ||
| 81 | 81 | ||
| 82 | /* associated timers for ppi framesync: */ | 82 | /* associated timers for ppi framesync: */ |
| 83 | 83 | ||
| @@ -124,45 +124,31 @@ | |||
| 124 | /* | 124 | /* |
| 125 | * Timer Status Register Bits | 125 | * Timer Status Register Bits |
| 126 | */ | 126 | */ |
| 127 | #define TIMER_STATUS_TIMIL0 0x0001 | 127 | #define TIMER_STATUS_TIMIL0 0x0001 |
| 128 | #define TIMER_STATUS_TIMIL1 0x0002 | 128 | #define TIMER_STATUS_TIMIL1 0x0002 |
| 129 | #define TIMER_STATUS_TIMIL2 0x0004 | 129 | #define TIMER_STATUS_TIMIL2 0x0004 |
| 130 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 130 | #define TIMER_STATUS_TIMIL3 0x00000008 |
| 131 | # define TIMER_STATUS_TIMIL3 0x00000008 | 131 | #define TIMER_STATUS_TIMIL4 0x00010000 |
| 132 | # define TIMER_STATUS_TIMIL4 0x00010000 | 132 | #define TIMER_STATUS_TIMIL5 0x00020000 |
| 133 | # define TIMER_STATUS_TIMIL5 0x00020000 | 133 | #define TIMER_STATUS_TIMIL6 0x00040000 |
| 134 | # define TIMER_STATUS_TIMIL6 0x00040000 | 134 | #define TIMER_STATUS_TIMIL7 0x00080000 |
| 135 | # define TIMER_STATUS_TIMIL7 0x00080000 | 135 | #define TIMER_STATUS_TIMIL8 0x0001 |
| 136 | # if (MAX_BLACKFIN_GPTIMERS > 8) | 136 | #define TIMER_STATUS_TIMIL9 0x0002 |
| 137 | # define TIMER_STATUS_TIMIL8 0x0001 | 137 | #define TIMER_STATUS_TIMIL10 0x0004 |
| 138 | # define TIMER_STATUS_TIMIL9 0x0002 | 138 | #define TIMER_STATUS_TIMIL11 0x0008 |
| 139 | # define TIMER_STATUS_TIMIL10 0x0004 | 139 | |
| 140 | # define TIMER_STATUS_TIMIL11 0x0008 | 140 | #define TIMER_STATUS_TOVF0 0x0010 /* timer 0 overflow error */ |
| 141 | # endif | 141 | #define TIMER_STATUS_TOVF1 0x0020 |
| 142 | # define TIMER_STATUS_INTR 0x000F000F | 142 | #define TIMER_STATUS_TOVF2 0x0040 |
| 143 | #else | 143 | #define TIMER_STATUS_TOVF3 0x00000080 |
| 144 | # define TIMER_STATUS_INTR 0x0007 /* any timer interrupt */ | 144 | #define TIMER_STATUS_TOVF4 0x00100000 |
| 145 | #endif | 145 | #define TIMER_STATUS_TOVF5 0x00200000 |
| 146 | 146 | #define TIMER_STATUS_TOVF6 0x00400000 | |
| 147 | #define TIMER_STATUS_TOVF0 0x0010 /* timer 0 overflow error */ | 147 | #define TIMER_STATUS_TOVF7 0x00800000 |
| 148 | #define TIMER_STATUS_TOVF1 0x0020 | 148 | #define TIMER_STATUS_TOVF8 0x0010 |
| 149 | #define TIMER_STATUS_TOVF2 0x0040 | 149 | #define TIMER_STATUS_TOVF9 0x0020 |
| 150 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 150 | #define TIMER_STATUS_TOVF10 0x0040 |
| 151 | # define TIMER_STATUS_TOVF3 0x00000080 | 151 | #define TIMER_STATUS_TOVF11 0x0080 |
| 152 | # define TIMER_STATUS_TOVF4 0x00100000 | ||
| 153 | # define TIMER_STATUS_TOVF5 0x00200000 | ||
| 154 | # define TIMER_STATUS_TOVF6 0x00400000 | ||
| 155 | # define TIMER_STATUS_TOVF7 0x00800000 | ||
| 156 | # if (MAX_BLACKFIN_GPTIMERS > 8) | ||
| 157 | # define TIMER_STATUS_TOVF8 0x0010 | ||
| 158 | # define TIMER_STATUS_TOVF9 0x0020 | ||
| 159 | # define TIMER_STATUS_TOVF10 0x0040 | ||
| 160 | # define TIMER_STATUS_TOVF11 0x0080 | ||
| 161 | # endif | ||
| 162 | # define TIMER_STATUS_OFLOW 0x00F000F0 | ||
| 163 | #else | ||
| 164 | # define TIMER_STATUS_OFLOW 0x0070 /* any timer overflow */ | ||
| 165 | #endif | ||
| 166 | 152 | ||
| 167 | /* | 153 | /* |
| 168 | * Timer Slave Enable Status : write 1 to clear | 154 | * Timer Slave Enable Status : write 1 to clear |
| @@ -170,22 +156,16 @@ | |||
| 170 | #define TIMER_STATUS_TRUN0 0x1000 | 156 | #define TIMER_STATUS_TRUN0 0x1000 |
| 171 | #define TIMER_STATUS_TRUN1 0x2000 | 157 | #define TIMER_STATUS_TRUN1 0x2000 |
| 172 | #define TIMER_STATUS_TRUN2 0x4000 | 158 | #define TIMER_STATUS_TRUN2 0x4000 |
| 173 | #if (MAX_BLACKFIN_GPTIMERS > 3) | 159 | #define TIMER_STATUS_TRUN3 0x00008000 |
| 174 | # define TIMER_STATUS_TRUN3 0x00008000 | 160 | #define TIMER_STATUS_TRUN4 0x10000000 |
| 175 | # define TIMER_STATUS_TRUN4 0x10000000 | 161 | #define TIMER_STATUS_TRUN5 0x20000000 |
| 176 | # define TIMER_STATUS_TRUN5 0x20000000 | 162 | #define TIMER_STATUS_TRUN6 0x40000000 |
| 177 | # define TIMER_STATUS_TRUN6 0x40000000 | 163 | #define TIMER_STATUS_TRUN7 0x80000000 |
| 178 | # define TIMER_STATUS_TRUN7 0x80000000 | 164 | #define TIMER_STATUS_TRUN 0xF000F000 |
| 179 | # define TIMER_STATUS_TRUN 0xF000F000 | 165 | #define TIMER_STATUS_TRUN8 0x1000 |
| 180 | # if (MAX_BLACKFIN_GPTIMERS > 8) | 166 | #define TIMER_STATUS_TRUN9 0x2000 |
| 181 | # define TIMER_STATUS_TRUN8 0x1000 | 167 | #define TIMER_STATUS_TRUN10 0x4000 |
| 182 | # define TIMER_STATUS_TRUN9 0x2000 | 168 | #define TIMER_STATUS_TRUN11 0x8000 |
| 183 | # define TIMER_STATUS_TRUN10 0x4000 | ||
| 184 | # define TIMER_STATUS_TRUN11 0x8000 | ||
| 185 | # endif | ||
| 186 | #else | ||
| 187 | # define TIMER_STATUS_TRUN 0x7000 | ||
| 188 | #endif | ||
| 189 | 169 | ||
| 190 | /* The actual gptimer API */ | 170 | /* The actual gptimer API */ |
| 191 | 171 | ||
diff --git a/include/asm-blackfin/mach-bf527/anomaly.h b/include/asm-blackfin/mach-bf527/anomaly.h index a89120445be6..735fa02fafb2 100644 --- a/include/asm-blackfin/mach-bf527/anomaly.h +++ b/include/asm-blackfin/mach-bf527/anomaly.h | |||
| @@ -2,12 +2,12 @@ | |||
| 2 | * File: include/asm-blackfin/mach-bf527/anomaly.h | 2 | * File: include/asm-blackfin/mach-bf527/anomaly.h |
| 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
| 4 | * | 4 | * |
| 5 | * Copyright (C) 2004-2007 Analog Devices Inc. | 5 | * Copyright (C) 2004-2008 Analog Devices Inc. |
| 6 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
| 10 | * - Revision A, May 30, 2007; ADSP-BF527 Blackfin Processor Anomaly List | 10 | * - Revision C, 01/25/2008; ADSP-BF527 Blackfin Processor Anomaly List |
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
| @@ -15,35 +15,85 @@ | |||
| 15 | 15 | ||
| 16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | 16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ |
| 17 | #define ANOMALY_05000074 (1) | 17 | #define ANOMALY_05000074 (1) |
| 18 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | ||
| 19 | #define ANOMALY_05000119 (1) | ||
| 20 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 18 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
| 21 | #define ANOMALY_05000122 (1) | 19 | #define ANOMALY_05000122 (1) |
| 22 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 20 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ |
| 23 | #define ANOMALY_05000245 (1) | 21 | #define ANOMALY_05000245 (1) |
| 24 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | 22 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ |
| 25 | #define ANOMALY_05000265 (1) | 23 | #define ANOMALY_05000265 (1) |
| 26 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ | ||
| 27 | #define ANOMALY_05000301 (1) | ||
| 28 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
| 29 | #define ANOMALY_05000312 (1) | ||
| 30 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ | 24 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ |
| 31 | #define ANOMALY_05000328 (1) | 25 | #define ANOMALY_05000328 (1) |
| 32 | /* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */ | 26 | /* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */ |
| 33 | #define ANOMALY_05000337 (1) | 27 | #define ANOMALY_05000337 (1) |
| 34 | /* TWI Does Not Operate Correctly Under Certain Signal Termination Conditions */ | 28 | /* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */ |
| 29 | #define ANOMALY_05000341 (1) | ||
| 30 | /* TWI May Not Operate Correctly Under Certain Signal Termination Conditions */ | ||
| 35 | #define ANOMALY_05000342 (1) | 31 | #define ANOMALY_05000342 (1) |
| 36 | /* Boot ROM Kernel Incorrectly Alters Reset Value of USB Register */ | 32 | /* USB Calibration Value Is Not Initialized */ |
| 33 | #define ANOMALY_05000346 (1) | ||
| 34 | /* Preboot Routine Incorrectly Alters Reset Value of USB Register */ | ||
| 37 | #define ANOMALY_05000347 (1) | 35 | #define ANOMALY_05000347 (1) |
| 36 | /* Security Features Are Not Functional */ | ||
| 37 | #define ANOMALY_05000348 (__SILICON_REVISION__ < 1) | ||
| 38 | /* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */ | ||
| 39 | #define ANOMALY_05000355 (1) | ||
| 40 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | ||
| 41 | #define ANOMALY_05000357 (1) | ||
| 42 | /* Incorrect Revision Number in DSPID Register */ | ||
| 43 | #define ANOMALY_05000364 (__SILICON_REVISION__ > 0) | ||
| 44 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | ||
| 45 | #define ANOMALY_05000366 (1) | ||
| 46 | /* New Feature: Higher Default CCLK Rate */ | ||
| 47 | #define ANOMALY_05000368 (1) | ||
| 48 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | ||
| 49 | #define ANOMALY_05000371 (1) | ||
| 50 | /* Authentication Fails To Initiate */ | ||
| 51 | #define ANOMALY_05000376 (__SILICON_REVISION__ > 0) | ||
| 52 | /* Data Read From L3 Memory by USB DMA May be Corrupted */ | ||
| 53 | #define ANOMALY_05000380 (1) | ||
| 54 | /* USB Full-speed Mode not Fully Tested */ | ||
| 55 | #define ANOMALY_05000381 (1) | ||
| 56 | /* New Feature: Boot from OTP Memory */ | ||
| 57 | #define ANOMALY_05000385 (1) | ||
| 58 | /* New Feature: bfrom_SysControl() Routine */ | ||
| 59 | #define ANOMALY_05000386 (1) | ||
| 60 | /* New Feature: Programmable Preboot Settings */ | ||
| 61 | #define ANOMALY_05000387 (1) | ||
| 62 | /* Reset Vector Must Not Be in SDRAM Memory Space */ | ||
| 63 | #define ANOMALY_05000389 (1) | ||
| 64 | /* New Feature: pTempCurrent Added to ADI_BOOT_DATA Structure */ | ||
| 65 | #define ANOMALY_05000392 (1) | ||
| 66 | /* New Feature: dTempByteCount Value Increased in ADI_BOOT_DATA Structure */ | ||
| 67 | #define ANOMALY_05000393 (1) | ||
| 68 | /* New Feature: Log Buffer Functionality */ | ||
| 69 | #define ANOMALY_05000394 (1) | ||
| 70 | /* New Feature: Hook Routine Functionality */ | ||
| 71 | #define ANOMALY_05000395 (1) | ||
| 72 | /* New Feature: Header Indirect Bit */ | ||
| 73 | #define ANOMALY_05000396 (1) | ||
| 74 | /* New Feature: BK_ONES, BK_ZEROS, and BK_DATECODE Constants */ | ||
| 75 | #define ANOMALY_05000397 (1) | ||
| 76 | /* New Feature: SWRESET, DFRESET and WDRESET Bits Added to SYSCR Register */ | ||
| 77 | #define ANOMALY_05000398 (1) | ||
| 78 | /* New Feature: BCODE_NOBOOT Added to BCODE Field of SYSCR Register */ | ||
| 79 | #define ANOMALY_05000399 (1) | ||
| 80 | /* PPI Data Signals D0 and D8 do not Tristate After Disabling PPI */ | ||
| 81 | #define ANOMALY_05000401 (1) | ||
| 38 | 82 | ||
| 39 | /* Anomalies that don't exist on this proc */ | 83 | /* Anomalies that don't exist on this proc */ |
| 40 | #define ANOMALY_05000323 (0) | ||
| 41 | #define ANOMALY_05000244 (0) | ||
| 42 | #define ANOMALY_05000198 (0) | ||
| 43 | #define ANOMALY_05000125 (0) | 84 | #define ANOMALY_05000125 (0) |
| 44 | #define ANOMALY_05000158 (0) | 85 | #define ANOMALY_05000158 (0) |
| 45 | #define ANOMALY_05000273 (0) | 86 | #define ANOMALY_05000183 (0) |
| 87 | #define ANOMALY_05000198 (0) | ||
| 88 | #define ANOMALY_05000230 (0) | ||
| 89 | #define ANOMALY_05000244 (0) | ||
| 90 | #define ANOMALY_05000261 (0) | ||
| 46 | #define ANOMALY_05000263 (0) | 91 | #define ANOMALY_05000263 (0) |
| 92 | #define ANOMALY_05000266 (0) | ||
| 93 | #define ANOMALY_05000273 (0) | ||
| 47 | #define ANOMALY_05000311 (0) | 94 | #define ANOMALY_05000311 (0) |
| 48 | #define ANOMALY_05000230 (0) | 95 | #define ANOMALY_05000312 (0) |
| 96 | #define ANOMALY_05000323 (0) | ||
| 97 | #define ANOMALY_05000363 (0) | ||
| 98 | |||
| 49 | #endif | 99 | #endif |
diff --git a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h index c0694ecd2ecd..f0ab2736a680 100644 --- a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | |||
| @@ -1,22 +1,38 @@ | |||
| 1 | /* | ||
| 2 | * file: include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | ||
| 3 | * based on: | ||
| 4 | * author: | ||
| 5 | * | ||
| 6 | * created: | ||
| 7 | * description: | ||
| 8 | * blackfin serial driver head file | ||
| 9 | * rev: | ||
| 10 | * | ||
| 11 | * modified: | ||
| 12 | * | ||
| 13 | * | ||
| 14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
| 15 | * | ||
| 16 | * this program is free software; you can redistribute it and/or modify | ||
| 17 | * it under the terms of the gnu general public license as published by | ||
| 18 | * the free software foundation; either version 2, or (at your option) | ||
| 19 | * any later version. | ||
| 20 | * | ||
| 21 | * this program is distributed in the hope that it will be useful, | ||
| 22 | * but without any warranty; without even the implied warranty of | ||
| 23 | * merchantability or fitness for a particular purpose. see the | ||
| 24 | * gnu general public license for more details. | ||
| 25 | * | ||
| 26 | * you should have received a copy of the gnu general public license | ||
| 27 | * along with this program; see the file copying. | ||
| 28 | * if not, write to the free software foundation, | ||
| 29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
| 30 | */ | ||
| 31 | |||
| 1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
| 2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
| 3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
| 4 | 35 | ||
| 5 | #define NR_PORTS 2 | ||
| 6 | |||
| 7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 19 | |||
| 20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
| 21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
| 22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
| @@ -92,7 +108,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
| 92 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 108 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
| 93 | } | 109 | } |
| 94 | 110 | ||
| 95 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 111 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
| 96 | struct bfin_serial_res { | 112 | struct bfin_serial_res { |
| 97 | unsigned long uart_base_addr; | 113 | unsigned long uart_base_addr; |
| 98 | int uart_irq; | 114 | int uart_irq; |
diff --git a/include/asm-blackfin/mach-bf527/bfin_sir.h b/include/asm-blackfin/mach-bf527/bfin_sir.h new file mode 100644 index 000000000000..0612d0c9501c --- /dev/null +++ b/include/asm-blackfin/mach-bf527/bfin_sir.h | |||
| @@ -0,0 +1,133 @@ | |||
| 1 | /* | ||
| 2 | * Blackfin Infra-red Driver | ||
| 3 | * | ||
| 4 | * Copyright 2006-2008 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
| 7 | * | ||
| 8 | * Licensed under the GPL-2 or later. | ||
| 9 | * | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/serial.h> | ||
| 13 | #include <asm/dma.h> | ||
| 14 | #include <asm/portmux.h> | ||
| 15 | |||
| 16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
| 17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
| 18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
| 19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
| 20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
| 21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
| 22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
| 23 | |||
| 24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
| 25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
| 26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
| 27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
| 28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
| 29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
| 30 | |||
| 31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 32 | struct dma_rx_buf { | ||
| 33 | char *buf; | ||
| 34 | int head; | ||
| 35 | int tail; | ||
| 36 | }; | ||
| 37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 38 | |||
| 39 | struct bfin_sir_port { | ||
| 40 | unsigned char __iomem *membase; | ||
| 41 | unsigned int irq; | ||
| 42 | unsigned int lsr; | ||
| 43 | unsigned long clk; | ||
| 44 | struct net_device *dev; | ||
| 45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 46 | int tx_done; | ||
| 47 | struct dma_rx_buf rx_dma_buf; | ||
| 48 | struct timer_list rx_dma_timer; | ||
| 49 | int rx_dma_nrows; | ||
| 50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 51 | unsigned int tx_dma_channel; | ||
| 52 | unsigned int rx_dma_channel; | ||
| 53 | }; | ||
| 54 | |||
| 55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
| 56 | |||
| 57 | struct bfin_sir_port_res { | ||
| 58 | unsigned long base_addr; | ||
| 59 | int irq; | ||
| 60 | unsigned int rx_dma_channel; | ||
| 61 | unsigned int tx_dma_channel; | ||
| 62 | }; | ||
| 63 | |||
| 64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
| 65 | #ifdef CONFIG_BFIN_SIR0 | ||
| 66 | { | ||
| 67 | 0xFFC00400, | ||
| 68 | IRQ_UART0_RX, | ||
| 69 | CH_UART0_RX, | ||
| 70 | CH_UART0_TX, | ||
| 71 | }, | ||
| 72 | #endif | ||
| 73 | #ifdef CONFIG_BFIN_SIR1 | ||
| 74 | { | ||
| 75 | 0xFFC02000, | ||
| 76 | IRQ_UART1_RX, | ||
| 77 | CH_UART1_RX, | ||
| 78 | CH_UART1_TX, | ||
| 79 | }, | ||
| 80 | #endif | ||
| 81 | }; | ||
| 82 | |||
| 83 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
| 84 | |||
| 85 | struct bfin_sir_self { | ||
| 86 | struct bfin_sir_port *sir_port; | ||
| 87 | spinlock_t lock; | ||
| 88 | unsigned int open; | ||
| 89 | int speed; | ||
| 90 | int newspeed; | ||
| 91 | |||
| 92 | struct sk_buff *txskb; | ||
| 93 | struct sk_buff *rxskb; | ||
| 94 | struct net_device_stats stats; | ||
| 95 | struct device *dev; | ||
| 96 | struct irlap_cb *irlap; | ||
| 97 | struct qos_info qos; | ||
| 98 | |||
| 99 | iobuff_t tx_buff; | ||
| 100 | iobuff_t rx_buff; | ||
| 101 | |||
| 102 | struct work_struct work; | ||
| 103 | int mtt; | ||
| 104 | }; | ||
| 105 | |||
| 106 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
| 107 | { | ||
| 108 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
| 109 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
| 110 | return lsr | port->lsr; | ||
| 111 | } | ||
| 112 | |||
| 113 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
| 114 | { | ||
| 115 | port->lsr = 0; | ||
| 116 | bfin_read16(port->membase + OFFSET_LSR); | ||
| 117 | } | ||
| 118 | |||
| 119 | #define DRIVER_NAME "bfin_sir" | ||
| 120 | |||
| 121 | static void bfin_sir_hw_init(void) | ||
| 122 | { | ||
| 123 | #ifdef CONFIG_BFIN_SIR0 | ||
| 124 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
| 125 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
| 126 | #endif | ||
| 127 | |||
| 128 | #ifdef CONFIG_BFIN_SIR1 | ||
| 129 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
| 130 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
| 131 | #endif | ||
| 132 | SSYNC(); | ||
| 133 | } | ||
diff --git a/include/asm-blackfin/mach-bf527/blackfin.h b/include/asm-blackfin/mach-bf527/blackfin.h index 1bd07e30781c..2891727b6176 100644 --- a/include/asm-blackfin/mach-bf527/blackfin.h +++ b/include/asm-blackfin/mach-bf527/blackfin.h | |||
| @@ -64,6 +64,21 @@ | |||
| 64 | #define STATUS_P1 0x02 | 64 | #define STATUS_P1 0x02 |
| 65 | #define STATUS_P0 0x01 | 65 | #define STATUS_P0 0x01 |
| 66 | 66 | ||
| 67 | #define BFIN_UART_NR_PORTS 2 | ||
| 68 | |||
| 69 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 70 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 71 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 72 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 73 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 74 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 75 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 76 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 77 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 78 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 79 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 80 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 81 | |||
| 67 | /* DPMC*/ | 82 | /* DPMC*/ |
| 68 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() | 83 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() |
| 69 | #define bfin_write_STOPCK_OFF(val) bfin_write_STOPCK(val) | 84 | #define bfin_write_STOPCK_OFF(val) bfin_write_STOPCK(val) |
diff --git a/include/asm-blackfin/mach-bf527/cdefBF52x_base.h b/include/asm-blackfin/mach-bf527/cdefBF52x_base.h index 3f4de5d9d4cb..9dbdbec8ea1b 100644 --- a/include/asm-blackfin/mach-bf527/cdefBF52x_base.h +++ b/include/asm-blackfin/mach-bf527/cdefBF52x_base.h | |||
| @@ -29,18 +29,71 @@ | |||
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | #ifndef _CDEF_BF52X_H | 31 | #ifndef _CDEF_BF52X_H |
| 32 | #define _CDEF_BF52X_H | ||
| 33 | |||
| 34 | #include <asm/system.h> | ||
| 35 | #include <asm/blackfin.h> | ||
| 32 | 36 | ||
| 33 | #include "defBF52x_base.h" | 37 | #include "defBF52x_base.h" |
| 34 | 38 | ||
| 39 | /* Include core specific register pointer definitions */ | ||
| 40 | #include <asm/mach-common/cdef_LPBlackfin.h> | ||
| 41 | |||
| 35 | /* ==== begin from cdefBF534.h ==== */ | 42 | /* ==== begin from cdefBF534.h ==== */ |
| 36 | 43 | ||
| 37 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 44 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
| 38 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
| 39 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL, val) | 46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
| 47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
| 48 | { | ||
| 49 | unsigned long flags, iwr0, iwr1; | ||
| 50 | |||
| 51 | if (val == bfin_read_PLL_CTL()) | ||
| 52 | return; | ||
| 53 | |||
| 54 | local_irq_save(flags); | ||
| 55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
| 56 | iwr0 = bfin_read32(SIC_IWR0); | ||
| 57 | iwr1 = bfin_read32(SIC_IWR1); | ||
| 58 | /* Only allow PPL Wakeup) */ | ||
| 59 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
| 60 | bfin_write32(SIC_IWR1, 0); | ||
| 61 | |||
| 62 | bfin_write16(PLL_CTL, val); | ||
| 63 | SSYNC(); | ||
| 64 | asm("IDLE;"); | ||
| 65 | |||
| 66 | bfin_write32(SIC_IWR0, iwr0); | ||
| 67 | bfin_write32(SIC_IWR1, iwr1); | ||
| 68 | local_irq_restore(flags); | ||
| 69 | } | ||
| 40 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 70 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
| 41 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) | 71 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) |
| 42 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 72 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
| 43 | #define bfin_write_VR_CTL(val) bfin_write16(VR_CTL, val) | 73 | /* Writing to VR_CTL initiates a PLL relock sequence. */ |
| 74 | static __inline__ void bfin_write_VR_CTL(unsigned int val) | ||
| 75 | { | ||
| 76 | unsigned long flags, iwr0, iwr1; | ||
| 77 | |||
| 78 | if (val == bfin_read_VR_CTL()) | ||
| 79 | return; | ||
| 80 | |||
| 81 | local_irq_save(flags); | ||
| 82 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
| 83 | iwr0 = bfin_read32(SIC_IWR0); | ||
| 84 | iwr1 = bfin_read32(SIC_IWR1); | ||
| 85 | /* Only allow PPL Wakeup) */ | ||
| 86 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
| 87 | bfin_write32(SIC_IWR1, 0); | ||
| 88 | |||
| 89 | bfin_write16(VR_CTL, val); | ||
| 90 | SSYNC(); | ||
| 91 | asm("IDLE;"); | ||
| 92 | |||
| 93 | bfin_write32(SIC_IWR0, iwr0); | ||
| 94 | bfin_write32(SIC_IWR1, iwr1); | ||
| 95 | local_irq_restore(flags); | ||
| 96 | } | ||
| 44 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 97 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
| 45 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) | 98 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) |
| 46 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) | 99 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) |
| @@ -873,39 +926,6 @@ | |||
| 873 | 926 | ||
| 874 | 927 | ||
| 875 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ | 928 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ |
| 876 | #define bfin_read_TWI_CLKDIV() bfin_read16(TWI_CLKDIV) | ||
| 877 | #define bfin_write_TWI_CLKDIV(val) bfin_write16(TWI_CLKDIV, val) | ||
| 878 | #define bfin_read_TWI_CONTROL() bfin_read16(TWI_CONTROL) | ||
| 879 | #define bfin_write_TWI_CONTROL(val) bfin_write16(TWI_CONTROL, val) | ||
| 880 | #define bfin_read_TWI_SLAVE_CTL() bfin_read16(TWI_SLAVE_CTL) | ||
| 881 | #define bfin_write_TWI_SLAVE_CTL(val) bfin_write16(TWI_SLAVE_CTL, val) | ||
| 882 | #define bfin_read_TWI_SLAVE_STAT() bfin_read16(TWI_SLAVE_STAT) | ||
| 883 | #define bfin_write_TWI_SLAVE_STAT(val) bfin_write16(TWI_SLAVE_STAT, val) | ||
| 884 | #define bfin_read_TWI_SLAVE_ADDR() bfin_read16(TWI_SLAVE_ADDR) | ||
| 885 | #define bfin_write_TWI_SLAVE_ADDR(val) bfin_write16(TWI_SLAVE_ADDR, val) | ||
| 886 | #define bfin_read_TWI_MASTER_CTL() bfin_read16(TWI_MASTER_CTL) | ||
| 887 | #define bfin_write_TWI_MASTER_CTL(val) bfin_write16(TWI_MASTER_CTL, val) | ||
| 888 | #define bfin_read_TWI_MASTER_STAT() bfin_read16(TWI_MASTER_STAT) | ||
| 889 | #define bfin_write_TWI_MASTER_STAT(val) bfin_write16(TWI_MASTER_STAT, val) | ||
| 890 | #define bfin_read_TWI_MASTER_ADDR() bfin_read16(TWI_MASTER_ADDR) | ||
| 891 | #define bfin_write_TWI_MASTER_ADDR(val) bfin_write16(TWI_MASTER_ADDR, val) | ||
| 892 | #define bfin_read_TWI_INT_STAT() bfin_read16(TWI_INT_STAT) | ||
| 893 | #define bfin_write_TWI_INT_STAT(val) bfin_write16(TWI_INT_STAT, val) | ||
| 894 | #define bfin_read_TWI_INT_MASK() bfin_read16(TWI_INT_MASK) | ||
| 895 | #define bfin_write_TWI_INT_MASK(val) bfin_write16(TWI_INT_MASK, val) | ||
| 896 | #define bfin_read_TWI_FIFO_CTL() bfin_read16(TWI_FIFO_CTL) | ||
| 897 | #define bfin_write_TWI_FIFO_CTL(val) bfin_write16(TWI_FIFO_CTL, val) | ||
| 898 | #define bfin_read_TWI_FIFO_STAT() bfin_read16(TWI_FIFO_STAT) | ||
| 899 | #define bfin_write_TWI_FIFO_STAT(val) bfin_write16(TWI_FIFO_STAT, val) | ||
| 900 | #define bfin_read_TWI_XMT_DATA8() bfin_read16(TWI_XMT_DATA8) | ||
| 901 | #define bfin_write_TWI_XMT_DATA8(val) bfin_write16(TWI_XMT_DATA8, val) | ||
| 902 | #define bfin_read_TWI_XMT_DATA16() bfin_read16(TWI_XMT_DATA16) | ||
| 903 | #define bfin_write_TWI_XMT_DATA16(val) bfin_write16(TWI_XMT_DATA16, val) | ||
| 904 | #define bfin_read_TWI_RCV_DATA8() bfin_read16(TWI_RCV_DATA8) | ||
| 905 | #define bfin_write_TWI_RCV_DATA8(val) bfin_write16(TWI_RCV_DATA8, val) | ||
| 906 | #define bfin_read_TWI_RCV_DATA16() bfin_read16(TWI_RCV_DATA16) | ||
| 907 | #define bfin_write_TWI_RCV_DATA16(val) bfin_write16(TWI_RCV_DATA16, val) | ||
| 908 | |||
| 909 | 929 | ||
| 910 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ | 930 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ |
| 911 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) | 931 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) |
diff --git a/include/asm-blackfin/mach-bf527/dma.h b/include/asm-blackfin/mach-bf527/dma.h index 2dfee12864f6..49dd693223e8 100644 --- a/include/asm-blackfin/mach-bf527/dma.h +++ b/include/asm-blackfin/mach-bf527/dma.h | |||
| @@ -59,7 +59,4 @@ | |||
| 59 | #define CH_NFC CH_EMAC_TX /* PPI receive/transmit or NFC */ | 59 | #define CH_NFC CH_EMAC_TX /* PPI receive/transmit or NFC */ |
| 60 | #endif | 60 | #endif |
| 61 | 61 | ||
| 62 | extern int channel2irq(unsigned int channel); | ||
| 63 | extern struct dma_register *base_addr[]; | ||
| 64 | |||
| 65 | #endif | 62 | #endif |
diff --git a/include/asm-blackfin/mach-bf533/anomaly.h b/include/asm-blackfin/mach-bf533/anomaly.h index 98209d40abba..5a6dcc5fa36c 100644 --- a/include/asm-blackfin/mach-bf533/anomaly.h +++ b/include/asm-blackfin/mach-bf533/anomaly.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
| 10 | * - Revision B, 12/10/2007; ADSP-BF531/BF532/BF533 Blackfin Processor Anomaly List | 10 | * - Revision C, 02/08/2008; ADSP-BF531/BF532/BF533 Blackfin Processor Anomaly List |
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
| @@ -251,10 +251,18 @@ | |||
| 251 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) | 251 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) |
| 252 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | 252 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ |
| 253 | #define ANOMALY_05000357 (1) | 253 | #define ANOMALY_05000357 (1) |
| 254 | /* UART Break Signal Issues */ | ||
| 255 | #define ANOMALY_05000363 (__SILICON_REVISION__ < 5) | ||
| 254 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | 256 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ |
| 255 | #define ANOMALY_05000366 (1) | 257 | #define ANOMALY_05000366 (1) |
| 256 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | 258 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ |
| 257 | #define ANOMALY_05000371 (1) | 259 | #define ANOMALY_05000371 (1) |
| 260 | /* PPI Does Not Start Properly In Specific Mode */ | ||
| 261 | #define ANOMALY_05000400 (__SILICON_REVISION__ == 5) | ||
| 262 | /* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */ | ||
| 263 | #define ANOMALY_05000402 (__SILICON_REVISION__ == 5) | ||
| 264 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | ||
| 265 | #define ANOMALY_05000403 (1) | ||
| 258 | 266 | ||
| 259 | /* Anomalies that don't exist on this proc */ | 267 | /* Anomalies that don't exist on this proc */ |
| 260 | #define ANOMALY_05000266 (0) | 268 | #define ANOMALY_05000266 (0) |
diff --git a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h index b6f513bee56e..fbe88dee3e2d 100644 --- a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | |||
| @@ -1,22 +1,38 @@ | |||
| 1 | /* | ||
| 2 | * file: include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | ||
| 3 | * based on: | ||
| 4 | * author: | ||
| 5 | * | ||
| 6 | * created: | ||
| 7 | * description: | ||
| 8 | * blackfin serial driver head file | ||
| 9 | * rev: | ||
| 10 | * | ||
| 11 | * modified: | ||
| 12 | * | ||
| 13 | * | ||
| 14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
| 15 | * | ||
| 16 | * this program is free software; you can redistribute it and/or modify | ||
| 17 | * it under the terms of the gnu general public license as published by | ||
| 18 | * the free software foundation; either version 2, or (at your option) | ||
| 19 | * any later version. | ||
| 20 | * | ||
| 21 | * this program is distributed in the hope that it will be useful, | ||
| 22 | * but without any warranty; without even the implied warranty of | ||
| 23 | * merchantability or fitness for a particular purpose. see the | ||
| 24 | * gnu general public license for more details. | ||
| 25 | * | ||
| 26 | * you should have received a copy of the gnu general public license | ||
| 27 | * along with this program; see the file copying. | ||
| 28 | * if not, write to the free software foundation, | ||
| 29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
| 30 | */ | ||
| 31 | |||
| 1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
| 2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
| 3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
| 4 | 35 | ||
| 5 | #define NR_PORTS 1 | ||
| 6 | |||
| 7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 19 | |||
| 20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
| 21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
| 22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
| @@ -84,7 +100,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
| 84 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 100 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
| 85 | } | 101 | } |
| 86 | 102 | ||
| 87 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 103 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
| 88 | struct bfin_serial_res { | 104 | struct bfin_serial_res { |
| 89 | unsigned long uart_base_addr; | 105 | unsigned long uart_base_addr; |
| 90 | int uart_irq; | 106 | int uart_irq; |
| @@ -115,7 +131,7 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
| 115 | 131 | ||
| 116 | #define DRIVER_NAME "bfin-uart" | 132 | #define DRIVER_NAME "bfin-uart" |
| 117 | 133 | ||
| 118 | int nr_ports = NR_PORTS; | 134 | int nr_ports = BFIN_UART_NR_PORTS; |
| 119 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 135 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
| 120 | { | 136 | { |
| 121 | 137 | ||
diff --git a/include/asm-blackfin/mach-bf533/bfin_sir.h b/include/asm-blackfin/mach-bf533/bfin_sir.h new file mode 100644 index 000000000000..cefcf8bb505b --- /dev/null +++ b/include/asm-blackfin/mach-bf533/bfin_sir.h | |||
| @@ -0,0 +1,120 @@ | |||
| 1 | /* | ||
| 2 | * Blackfin Infra-red Driver | ||
| 3 | * | ||
| 4 | * Copyright 2006-2008 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
| 7 | * | ||
| 8 | * Licensed under the GPL-2 or later. | ||
| 9 | * | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/serial.h> | ||
| 13 | #include <asm/dma.h> | ||
| 14 | #include <asm/portmux.h> | ||
| 15 | |||
| 16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
| 17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
| 18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
| 19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
| 20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
| 21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
| 22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
| 23 | |||
| 24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
| 25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
| 26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
| 27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
| 28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
| 29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
| 30 | |||
| 31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 32 | struct dma_rx_buf { | ||
| 33 | char *buf; | ||
| 34 | int head; | ||
| 35 | int tail; | ||
| 36 | }; | ||
| 37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 38 | |||
| 39 | struct bfin_sir_port { | ||
| 40 | unsigned char __iomem *membase; | ||
| 41 | unsigned int irq; | ||
| 42 | unsigned int lsr; | ||
| 43 | unsigned long clk; | ||
| 44 | struct net_device *dev; | ||
| 45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 46 | int tx_done; | ||
| 47 | struct dma_rx_buf rx_dma_buf; | ||
| 48 | struct timer_list rx_dma_timer; | ||
| 49 | int rx_dma_nrows; | ||
| 50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 51 | unsigned int tx_dma_channel; | ||
| 52 | unsigned int rx_dma_channel; | ||
| 53 | }; | ||
| 54 | |||
| 55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
| 56 | |||
| 57 | struct bfin_sir_port_res { | ||
| 58 | unsigned long base_addr; | ||
| 59 | int irq; | ||
| 60 | unsigned int rx_dma_channel; | ||
| 61 | unsigned int tx_dma_channel; | ||
| 62 | }; | ||
| 63 | |||
| 64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
| 65 | #ifdef CONFIG_BFIN_SIR0 | ||
| 66 | { | ||
| 67 | 0xFFC00400, | ||
| 68 | IRQ_UART_RX, | ||
| 69 | CH_UART_RX, | ||
| 70 | CH_UART_TX, | ||
| 71 | }, | ||
| 72 | #endif | ||
| 73 | }; | ||
| 74 | |||
| 75 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
| 76 | |||
| 77 | struct bfin_sir_self { | ||
| 78 | struct bfin_sir_port *sir_port; | ||
| 79 | spinlock_t lock; | ||
| 80 | unsigned int open; | ||
| 81 | int speed; | ||
| 82 | int newspeed; | ||
| 83 | |||
| 84 | struct sk_buff *txskb; | ||
| 85 | struct sk_buff *rxskb; | ||
| 86 | struct net_device_stats stats; | ||
| 87 | struct device *dev; | ||
| 88 | struct irlap_cb *irlap; | ||
| 89 | struct qos_info qos; | ||
| 90 | |||
| 91 | iobuff_t tx_buff; | ||
| 92 | iobuff_t rx_buff; | ||
| 93 | |||
| 94 | struct work_struct work; | ||
| 95 | int mtt; | ||
| 96 | }; | ||
| 97 | |||
| 98 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
| 99 | { | ||
| 100 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
| 101 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
| 102 | return lsr | port->lsr; | ||
| 103 | } | ||
| 104 | |||
| 105 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
| 106 | { | ||
| 107 | port->lsr = 0; | ||
| 108 | bfin_read16(port->membase + OFFSET_LSR); | ||
| 109 | } | ||
| 110 | |||
| 111 | #define DRIVER_NAME "bfin_sir" | ||
| 112 | |||
| 113 | static void bfin_sir_hw_init(void) | ||
| 114 | { | ||
| 115 | #ifdef CONFIG_BFIN_SIR0 | ||
| 116 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
| 117 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
| 118 | #endif | ||
| 119 | SSYNC(); | ||
| 120 | } | ||
diff --git a/include/asm-blackfin/mach-bf533/blackfin.h b/include/asm-blackfin/mach-bf533/blackfin.h index f3b240abf170..d80971b4e3aa 100644 --- a/include/asm-blackfin/mach-bf533/blackfin.h +++ b/include/asm-blackfin/mach-bf533/blackfin.h | |||
| @@ -42,4 +42,19 @@ | |||
| 42 | #include "cdefBF532.h" | 42 | #include "cdefBF532.h" |
| 43 | #endif | 43 | #endif |
| 44 | 44 | ||
| 45 | #define BFIN_UART_NR_PORTS 1 | ||
| 46 | |||
| 47 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 48 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 49 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 50 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 51 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 52 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 53 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 54 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 55 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 56 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 57 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 58 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 59 | |||
| 45 | #endif /* _MACH_BLACKFIN_H_ */ | 60 | #endif /* _MACH_BLACKFIN_H_ */ |
diff --git a/include/asm-blackfin/mach-bf533/cdefBF532.h b/include/asm-blackfin/mach-bf533/cdefBF532.h index c803e14b529c..154655452d4c 100644 --- a/include/asm-blackfin/mach-bf533/cdefBF532.h +++ b/include/asm-blackfin/mach-bf533/cdefBF532.h | |||
| @@ -43,7 +43,27 @@ | |||
| 43 | 43 | ||
| 44 | /* Clock and System Control (0xFFC0 0400-0xFFC0 07FF) */ | 44 | /* Clock and System Control (0xFFC0 0400-0xFFC0 07FF) */ |
| 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
| 46 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL,val) | 46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
| 47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
| 48 | { | ||
| 49 | unsigned long flags, iwr; | ||
| 50 | |||
| 51 | if (val == bfin_read_PLL_CTL()) | ||
| 52 | return; | ||
| 53 | |||
| 54 | local_irq_save(flags); | ||
| 55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
| 56 | iwr = bfin_read32(SIC_IWR); | ||
| 57 | /* Only allow PPL Wakeup) */ | ||
| 58 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); | ||
| 59 | |||
| 60 | bfin_write16(PLL_CTL, val); | ||
| 61 | SSYNC(); | ||
| 62 | asm("IDLE;"); | ||
| 63 | |||
| 64 | bfin_write32(SIC_IWR, iwr); | ||
| 65 | local_irq_restore(flags); | ||
| 66 | } | ||
| 47 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 67 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
| 48 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) | 68 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) |
| 49 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) | 69 | #define bfin_read_PLL_LOCKCNT() bfin_read16(PLL_LOCKCNT) |
| @@ -57,6 +77,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 57 | { | 77 | { |
| 58 | unsigned long flags, iwr; | 78 | unsigned long flags, iwr; |
| 59 | 79 | ||
| 80 | if (val == bfin_read_VR_CTL()) | ||
| 81 | return; | ||
| 82 | |||
| 83 | local_irq_save(flags); | ||
| 60 | /* Enable the PLL Wakeup bit in SIC IWR */ | 84 | /* Enable the PLL Wakeup bit in SIC IWR */ |
| 61 | iwr = bfin_read32(SIC_IWR); | 85 | iwr = bfin_read32(SIC_IWR); |
| 62 | /* Only allow PPL Wakeup) */ | 86 | /* Only allow PPL Wakeup) */ |
| @@ -64,11 +88,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 64 | 88 | ||
| 65 | bfin_write16(VR_CTL, val); | 89 | bfin_write16(VR_CTL, val); |
| 66 | SSYNC(); | 90 | SSYNC(); |
| 67 | |||
| 68 | local_irq_save(flags); | ||
| 69 | asm("IDLE;"); | 91 | asm("IDLE;"); |
| 70 | local_irq_restore(flags); | 92 | |
| 71 | bfin_write32(SIC_IWR, iwr); | 93 | bfin_write32(SIC_IWR, iwr); |
| 94 | local_irq_restore(flags); | ||
| 72 | } | 95 | } |
| 73 | 96 | ||
| 74 | /* System Interrupt Controller (0xFFC0 0C00-0xFFC0 0FFF) */ | 97 | /* System Interrupt Controller (0xFFC0 0C00-0xFFC0 0FFF) */ |
diff --git a/include/asm-blackfin/mach-bf533/defBF532.h b/include/asm-blackfin/mach-bf533/defBF532.h index 37134aaf9954..17e1548cec08 100644 --- a/include/asm-blackfin/mach-bf533/defBF532.h +++ b/include/asm-blackfin/mach-bf533/defBF532.h | |||
| @@ -88,20 +88,25 @@ | |||
| 88 | #define RTC_PREN 0xFFC00314 /* RTC Prescaler Enable Register (alternate macro) */ | 88 | #define RTC_PREN 0xFFC00314 /* RTC Prescaler Enable Register (alternate macro) */ |
| 89 | 89 | ||
| 90 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ | 90 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ |
| 91 | #define UART_THR 0xFFC00400 /* Transmit Holding register */ | 91 | |
| 92 | #define UART_RBR 0xFFC00400 /* Receive Buffer register */ | 92 | /* |
| 93 | #define UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ | 93 | * Because include/linux/serial_reg.h have defined UART_*, |
| 94 | #define UART_IER 0xFFC00404 /* Interrupt Enable Register */ | 94 | * So we define blackfin uart regs to BFIN_UART_*. |
| 95 | #define UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ | 95 | */ |
| 96 | #define UART_IIR 0xFFC00408 /* Interrupt Identification Register */ | 96 | #define BFIN_UART_THR 0xFFC00400 /* Transmit Holding register */ |
| 97 | #define UART_LCR 0xFFC0040C /* Line Control Register */ | 97 | #define BFIN_UART_RBR 0xFFC00400 /* Receive Buffer register */ |
| 98 | #define UART_MCR 0xFFC00410 /* Modem Control Register */ | 98 | #define BFIN_UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ |
| 99 | #define UART_LSR 0xFFC00414 /* Line Status Register */ | 99 | #define BFIN_UART_IER 0xFFC00404 /* Interrupt Enable Register */ |
| 100 | #define BFIN_UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ | ||
| 101 | #define BFIN_UART_IIR 0xFFC00408 /* Interrupt Identification Register */ | ||
| 102 | #define BFIN_UART_LCR 0xFFC0040C /* Line Control Register */ | ||
| 103 | #define BFIN_UART_MCR 0xFFC00410 /* Modem Control Register */ | ||
| 104 | #define BFIN_UART_LSR 0xFFC00414 /* Line Status Register */ | ||
| 100 | #if 0 | 105 | #if 0 |
| 101 | #define UART_MSR 0xFFC00418 /* Modem Status Register (UNUSED in ADSP-BF532) */ | 106 | #define BFIN_UART_MSR 0xFFC00418 /* Modem Status Register (UNUSED in ADSP-BF532) */ |
| 102 | #endif | 107 | #endif |
| 103 | #define UART_SCR 0xFFC0041C /* SCR Scratch Register */ | 108 | #define BFIN_UART_SCR 0xFFC0041C /* SCR Scratch Register */ |
| 104 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ | 109 | #define BFIN_UART_GCTL 0xFFC00424 /* Global Control Register */ |
| 105 | 110 | ||
| 106 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 111 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
| 107 | #define SPI0_REGBASE 0xFFC00500 | 112 | #define SPI0_REGBASE 0xFFC00500 |
diff --git a/include/asm-blackfin/mach-bf533/dma.h b/include/asm-blackfin/mach-bf533/dma.h index 16c672c01d80..bd9d5e94307d 100644 --- a/include/asm-blackfin/mach-bf533/dma.h +++ b/include/asm-blackfin/mach-bf533/dma.h | |||
| @@ -51,7 +51,4 @@ | |||
| 51 | #define CH_MEM_STREAM1_DEST 10 /* TX */ | 51 | #define CH_MEM_STREAM1_DEST 10 /* TX */ |
| 52 | #define CH_MEM_STREAM1_SRC 11 /* RX */ | 52 | #define CH_MEM_STREAM1_SRC 11 /* RX */ |
| 53 | 53 | ||
| 54 | extern int channel2irq(unsigned int channel); | ||
| 55 | extern struct dma_register *base_addr[]; | ||
| 56 | |||
| 57 | #endif | 54 | #endif |
diff --git a/include/asm-blackfin/mach-bf533/mem_init.h b/include/asm-blackfin/mach-bf533/mem_init.h index 1620dae5254d..f8f31901fca9 100644 --- a/include/asm-blackfin/mach-bf533/mem_init.h +++ b/include/asm-blackfin/mach-bf533/mem_init.h | |||
| @@ -29,7 +29,8 @@ | |||
| 29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| 30 | */ | 30 | */ |
| 31 | 31 | ||
| 32 | #if (CONFIG_MEM_MT48LC16M16A2TG_75 || CONFIG_MEM_MT48LC64M4A2FB_7E || CONFIG_MEM_GENERIC_BOARD) | 32 | #if (CONFIG_MEM_MT48LC16M16A2TG_75 || CONFIG_MEM_MT48LC64M4A2FB_7E || \ |
| 33 | CONFIG_MEM_MT48LC32M16A2TG_75 || CONFIG_MEM_GENERIC_BOARD) | ||
| 33 | #if (CONFIG_SCLK_HZ > 119402985) | 34 | #if (CONFIG_SCLK_HZ > 119402985) |
| 34 | #define SDRAM_tRP TRP_2 | 35 | #define SDRAM_tRP TRP_2 |
| 35 | #define SDRAM_tRP_num 2 | 36 | #define SDRAM_tRP_num 2 |
| @@ -118,6 +119,13 @@ | |||
| 118 | #define SDRAM_CL CL_3 | 119 | #define SDRAM_CL CL_3 |
| 119 | #endif | 120 | #endif |
| 120 | 121 | ||
| 122 | #if (CONFIG_MEM_MT48LC32M16A2TG_75) | ||
| 123 | /*SDRAM INFORMATION: */ | ||
| 124 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | ||
| 125 | #define SDRAM_NRA 8192 /* Number of row addresses in SDRAM */ | ||
| 126 | #define SDRAM_CL CL_3 | ||
| 127 | #endif | ||
| 128 | |||
| 121 | #if (CONFIG_MEM_GENERIC_BOARD) | 129 | #if (CONFIG_MEM_GENERIC_BOARD) |
| 122 | /*SDRAM INFORMATION: Modify this for your board */ | 130 | /*SDRAM INFORMATION: Modify this for your board */ |
| 123 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ | 131 | #define SDRAM_Tref 64 /* Refresh period in milliseconds */ |
diff --git a/include/asm-blackfin/mach-bf537/anomaly.h b/include/asm-blackfin/mach-bf537/anomaly.h index 746a794b3119..a6b08facb242 100644 --- a/include/asm-blackfin/mach-bf537/anomaly.h +++ b/include/asm-blackfin/mach-bf537/anomaly.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
| 10 | * - Revision A, 09/04/2007; ADSP-BF534/ADSP-BF536/ADSP-BF537 Blackfin Processor Anomaly List | 10 | * - Revision C, 02/08/2008; ADSP-BF534/ADSP-BF536/ADSP-BF537 Blackfin Processor Anomaly List |
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
| @@ -132,10 +132,24 @@ | |||
| 132 | #define ANOMALY_05000322 (1) | 132 | #define ANOMALY_05000322 (1) |
| 133 | /* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */ | 133 | /* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */ |
| 134 | #define ANOMALY_05000341 (__SILICON_REVISION__ >= 3) | 134 | #define ANOMALY_05000341 (__SILICON_REVISION__ >= 3) |
| 135 | /* New Feature: UART Remains Enabled after UART Boot (Not Available on Older Silicon) */ | ||
| 136 | #define ANOMALY_05000350 (__SILICON_REVISION__ < 3) | ||
| 137 | /* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */ | ||
| 138 | #define ANOMALY_05000355 (1) | ||
| 135 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ | 139 | /* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */ |
| 136 | #define ANOMALY_05000357 (1) | 140 | #define ANOMALY_05000357 (1) |
| 137 | /* DMAs that Go Urgent during Tight Core Writes to External Memory Are Blocked */ | 141 | /* DMAs that Go Urgent during Tight Core Writes to External Memory Are Blocked */ |
| 138 | #define ANOMALY_05000359 (1) | 142 | #define ANOMALY_05000359 (1) |
| 143 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | ||
| 144 | #define ANOMALY_05000366 (1) | ||
| 145 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | ||
| 146 | #define ANOMALY_05000371 (1) | ||
| 147 | /* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */ | ||
| 148 | #define ANOMALY_05000402 (__SILICON_REVISION__ >= 3) | ||
| 149 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | ||
| 150 | #define ANOMALY_05000403 (1) | ||
| 151 | |||
| 152 | |||
| 139 | 153 | ||
| 140 | /* Anomalies that don't exist on this proc */ | 154 | /* Anomalies that don't exist on this proc */ |
| 141 | #define ANOMALY_05000125 (0) | 155 | #define ANOMALY_05000125 (0) |
| @@ -146,5 +160,6 @@ | |||
| 146 | #define ANOMALY_05000266 (0) | 160 | #define ANOMALY_05000266 (0) |
| 147 | #define ANOMALY_05000311 (0) | 161 | #define ANOMALY_05000311 (0) |
| 148 | #define ANOMALY_05000323 (0) | 162 | #define ANOMALY_05000323 (0) |
| 163 | #define ANOMALY_05000363 (0) | ||
| 149 | 164 | ||
| 150 | #endif | 165 | #endif |
diff --git a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h index 8fc672d31057..fd100a415b98 100644 --- a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | |||
| @@ -1,22 +1,38 @@ | |||
| 1 | /* | ||
| 2 | * file: include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | ||
| 3 | * based on: | ||
| 4 | * author: | ||
| 5 | * | ||
| 6 | * created: | ||
| 7 | * description: | ||
| 8 | * blackfin serial driver header files | ||
| 9 | * rev: | ||
| 10 | * | ||
| 11 | * modified: | ||
| 12 | * | ||
| 13 | * | ||
| 14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
| 15 | * | ||
| 16 | * this program is free software; you can redistribute it and/or modify | ||
| 17 | * it under the terms of the gnu general public license as published by | ||
| 18 | * the free software foundation; either version 2, or (at your option) | ||
| 19 | * any later version. | ||
| 20 | * | ||
| 21 | * this program is distributed in the hope that it will be useful, | ||
| 22 | * but without any warranty; without even the implied warranty of | ||
| 23 | * merchantability or fitness for a particular purpose. see the | ||
| 24 | * gnu general public license for more details. | ||
| 25 | * | ||
| 26 | * you should have received a copy of the gnu general public license | ||
| 27 | * along with this program; see the file copying. | ||
| 28 | * if not, write to the free software foundation, | ||
| 29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
| 30 | */ | ||
| 31 | |||
| 1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
| 2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
| 3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
| 4 | 35 | ||
| 5 | #define NR_PORTS 2 | ||
| 6 | |||
| 7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 19 | |||
| 20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
| 21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
| 22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
| @@ -92,7 +108,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
| 92 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 108 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
| 93 | } | 109 | } |
| 94 | 110 | ||
| 95 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 111 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
| 96 | struct bfin_serial_res { | 112 | struct bfin_serial_res { |
| 97 | unsigned long uart_base_addr; | 113 | unsigned long uart_base_addr; |
| 98 | int uart_irq; | 114 | int uart_irq; |
diff --git a/include/asm-blackfin/mach-bf537/bfin_sir.h b/include/asm-blackfin/mach-bf537/bfin_sir.h new file mode 100644 index 000000000000..0612d0c9501c --- /dev/null +++ b/include/asm-blackfin/mach-bf537/bfin_sir.h | |||
| @@ -0,0 +1,133 @@ | |||
| 1 | /* | ||
| 2 | * Blackfin Infra-red Driver | ||
| 3 | * | ||
| 4 | * Copyright 2006-2008 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
| 7 | * | ||
| 8 | * Licensed under the GPL-2 or later. | ||
| 9 | * | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/serial.h> | ||
| 13 | #include <asm/dma.h> | ||
| 14 | #include <asm/portmux.h> | ||
| 15 | |||
| 16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
| 17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
| 18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
| 19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
| 20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
| 21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
| 22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
| 23 | |||
| 24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
| 25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
| 26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
| 27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
| 28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
| 29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
| 30 | |||
| 31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 32 | struct dma_rx_buf { | ||
| 33 | char *buf; | ||
| 34 | int head; | ||
| 35 | int tail; | ||
| 36 | }; | ||
| 37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 38 | |||
| 39 | struct bfin_sir_port { | ||
| 40 | unsigned char __iomem *membase; | ||
| 41 | unsigned int irq; | ||
| 42 | unsigned int lsr; | ||
| 43 | unsigned long clk; | ||
| 44 | struct net_device *dev; | ||
| 45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 46 | int tx_done; | ||
| 47 | struct dma_rx_buf rx_dma_buf; | ||
| 48 | struct timer_list rx_dma_timer; | ||
| 49 | int rx_dma_nrows; | ||
| 50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 51 | unsigned int tx_dma_channel; | ||
| 52 | unsigned int rx_dma_channel; | ||
| 53 | }; | ||
| 54 | |||
| 55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
| 56 | |||
| 57 | struct bfin_sir_port_res { | ||
| 58 | unsigned long base_addr; | ||
| 59 | int irq; | ||
| 60 | unsigned int rx_dma_channel; | ||
| 61 | unsigned int tx_dma_channel; | ||
| 62 | }; | ||
| 63 | |||
| 64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
| 65 | #ifdef CONFIG_BFIN_SIR0 | ||
| 66 | { | ||
| 67 | 0xFFC00400, | ||
| 68 | IRQ_UART0_RX, | ||
| 69 | CH_UART0_RX, | ||
| 70 | CH_UART0_TX, | ||
| 71 | }, | ||
| 72 | #endif | ||
| 73 | #ifdef CONFIG_BFIN_SIR1 | ||
| 74 | { | ||
| 75 | 0xFFC02000, | ||
| 76 | IRQ_UART1_RX, | ||
| 77 | CH_UART1_RX, | ||
| 78 | CH_UART1_TX, | ||
| 79 | }, | ||
| 80 | #endif | ||
| 81 | }; | ||
| 82 | |||
| 83 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
| 84 | |||
| 85 | struct bfin_sir_self { | ||
| 86 | struct bfin_sir_port *sir_port; | ||
| 87 | spinlock_t lock; | ||
| 88 | unsigned int open; | ||
| 89 | int speed; | ||
| 90 | int newspeed; | ||
| 91 | |||
| 92 | struct sk_buff *txskb; | ||
| 93 | struct sk_buff *rxskb; | ||
| 94 | struct net_device_stats stats; | ||
| 95 | struct device *dev; | ||
| 96 | struct irlap_cb *irlap; | ||
| 97 | struct qos_info qos; | ||
| 98 | |||
| 99 | iobuff_t tx_buff; | ||
| 100 | iobuff_t rx_buff; | ||
| 101 | |||
| 102 | struct work_struct work; | ||
| 103 | int mtt; | ||
| 104 | }; | ||
| 105 | |||
| 106 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
| 107 | { | ||
| 108 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
| 109 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
| 110 | return lsr | port->lsr; | ||
| 111 | } | ||
| 112 | |||
| 113 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
| 114 | { | ||
| 115 | port->lsr = 0; | ||
| 116 | bfin_read16(port->membase + OFFSET_LSR); | ||
| 117 | } | ||
| 118 | |||
| 119 | #define DRIVER_NAME "bfin_sir" | ||
| 120 | |||
| 121 | static void bfin_sir_hw_init(void) | ||
| 122 | { | ||
| 123 | #ifdef CONFIG_BFIN_SIR0 | ||
| 124 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
| 125 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
| 126 | #endif | ||
| 127 | |||
| 128 | #ifdef CONFIG_BFIN_SIR1 | ||
| 129 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
| 130 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
| 131 | #endif | ||
| 132 | SSYNC(); | ||
| 133 | } | ||
diff --git a/include/asm-blackfin/mach-bf537/blackfin.h b/include/asm-blackfin/mach-bf537/blackfin.h index 53fcfa3408d0..cffc786b2a2b 100644 --- a/include/asm-blackfin/mach-bf537/blackfin.h +++ b/include/asm-blackfin/mach-bf537/blackfin.h | |||
| @@ -82,8 +82,6 @@ | |||
| 82 | #define STATUS_P1 0x02 | 82 | #define STATUS_P1 0x02 |
| 83 | #define STATUS_P0 0x01 | 83 | #define STATUS_P0 0x01 |
| 84 | 84 | ||
| 85 | /* UART 0*/ | ||
| 86 | |||
| 87 | /* DMA Channnel */ | 85 | /* DMA Channnel */ |
| 88 | #define bfin_read_CH_UART_RX() bfin_read_CH_UART0_RX() | 86 | #define bfin_read_CH_UART_RX() bfin_read_CH_UART0_RX() |
| 89 | #define bfin_write_CH_UART_RX(val) bfin_write_CH_UART0_RX(val) | 87 | #define bfin_write_CH_UART_RX(val) bfin_write_CH_UART0_RX(val) |
| @@ -106,37 +104,52 @@ | |||
| 106 | /* MMR Registers*/ | 104 | /* MMR Registers*/ |
| 107 | #define bfin_read_UART_THR() bfin_read_UART0_THR() | 105 | #define bfin_read_UART_THR() bfin_read_UART0_THR() |
| 108 | #define bfin_write_UART_THR(val) bfin_write_UART0_THR(val) | 106 | #define bfin_write_UART_THR(val) bfin_write_UART0_THR(val) |
| 109 | #define UART_THR UART0_THR | 107 | #define BFIN_UART_THR UART0_THR |
| 110 | #define bfin_read_UART_RBR() bfin_read_UART0_RBR() | 108 | #define bfin_read_UART_RBR() bfin_read_UART0_RBR() |
| 111 | #define bfin_write_UART_RBR(val) bfin_write_UART0_RBR(val) | 109 | #define bfin_write_UART_RBR(val) bfin_write_UART0_RBR(val) |
| 112 | #define UART_RBR UART0_RBR | 110 | #define BFIN_UART_RBR UART0_RBR |
| 113 | #define bfin_read_UART_DLL() bfin_read_UART0_DLL() | 111 | #define bfin_read_UART_DLL() bfin_read_UART0_DLL() |
| 114 | #define bfin_write_UART_DLL(val) bfin_write_UART0_DLL(val) | 112 | #define bfin_write_UART_DLL(val) bfin_write_UART0_DLL(val) |
| 115 | #define UART_DLL UART0_DLL | 113 | #define BFIN_UART_DLL UART0_DLL |
| 116 | #define bfin_read_UART_IER() bfin_read_UART0_IER() | 114 | #define bfin_read_UART_IER() bfin_read_UART0_IER() |
| 117 | #define bfin_write_UART_IER(val) bfin_write_UART0_IER(val) | 115 | #define bfin_write_UART_IER(val) bfin_write_UART0_IER(val) |
| 118 | #define UART_IER UART0_IER | 116 | #define BFIN_UART_IER UART0_IER |
| 119 | #define bfin_read_UART_DLH() bfin_read_UART0_DLH() | 117 | #define bfin_read_UART_DLH() bfin_read_UART0_DLH() |
| 120 | #define bfin_write_UART_DLH(val) bfin_write_UART0_DLH(val) | 118 | #define bfin_write_UART_DLH(val) bfin_write_UART0_DLH(val) |
| 121 | #define UART_DLH UART0_DLH | 119 | #define BFIN_UART_DLH UART0_DLH |
| 122 | #define bfin_read_UART_IIR() bfin_read_UART0_IIR() | 120 | #define bfin_read_UART_IIR() bfin_read_UART0_IIR() |
| 123 | #define bfin_write_UART_IIR(val) bfin_write_UART0_IIR(val) | 121 | #define bfin_write_UART_IIR(val) bfin_write_UART0_IIR(val) |
| 124 | #define UART_IIR UART0_IIR | 122 | #define BFIN_UART_IIR UART0_IIR |
| 125 | #define bfin_read_UART_LCR() bfin_read_UART0_LCR() | 123 | #define bfin_read_UART_LCR() bfin_read_UART0_LCR() |
| 126 | #define bfin_write_UART_LCR(val) bfin_write_UART0_LCR(val) | 124 | #define bfin_write_UART_LCR(val) bfin_write_UART0_LCR(val) |
| 127 | #define UART_LCR UART0_LCR | 125 | #define BFIN_UART_LCR UART0_LCR |
| 128 | #define bfin_read_UART_MCR() bfin_read_UART0_MCR() | 126 | #define bfin_read_UART_MCR() bfin_read_UART0_MCR() |
| 129 | #define bfin_write_UART_MCR(val) bfin_write_UART0_MCR(val) | 127 | #define bfin_write_UART_MCR(val) bfin_write_UART0_MCR(val) |
| 130 | #define UART_MCR UART0_MCR | 128 | #define BFIN_UART_MCR UART0_MCR |
| 131 | #define bfin_read_UART_LSR() bfin_read_UART0_LSR() | 129 | #define bfin_read_UART_LSR() bfin_read_UART0_LSR() |
| 132 | #define bfin_write_UART_LSR(val) bfin_write_UART0_LSR(val) | 130 | #define bfin_write_UART_LSR(val) bfin_write_UART0_LSR(val) |
| 133 | #define UART_LSR UART0_LSR | 131 | #define BFIN_UART_LSR UART0_LSR |
| 134 | #define bfin_read_UART_SCR() bfin_read_UART0_SCR() | 132 | #define bfin_read_UART_SCR() bfin_read_UART0_SCR() |
| 135 | #define bfin_write_UART_SCR(val) bfin_write_UART0_SCR(val) | 133 | #define bfin_write_UART_SCR(val) bfin_write_UART0_SCR(val) |
| 136 | #define UART_SCR UART0_SCR | 134 | #define BFIN_UART_SCR UART0_SCR |
| 137 | #define bfin_read_UART_GCTL() bfin_read_UART0_GCTL() | 135 | #define bfin_read_UART_GCTL() bfin_read_UART0_GCTL() |
| 138 | #define bfin_write_UART_GCTL(val) bfin_write_UART0_GCTL(val) | 136 | #define bfin_write_UART_GCTL(val) bfin_write_UART0_GCTL(val) |
| 139 | #define UART_GCTL UART0_GCTL | 137 | #define BFIN_UART_GCTL UART0_GCTL |
| 138 | |||
| 139 | #define BFIN_UART_NR_PORTS 2 | ||
| 140 | |||
| 141 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 142 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 143 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 144 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 145 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 146 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 147 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 148 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 149 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 150 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 151 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 152 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 140 | 153 | ||
| 141 | /* DPMC*/ | 154 | /* DPMC*/ |
| 142 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() | 155 | #define bfin_read_STOPCK_OFF() bfin_read_STOPCK() |
diff --git a/include/asm-blackfin/mach-bf537/cdefBF534.h b/include/asm-blackfin/mach-bf537/cdefBF534.h index 78227bc855df..82de526f8097 100644 --- a/include/asm-blackfin/mach-bf537/cdefBF534.h +++ b/include/asm-blackfin/mach-bf537/cdefBF534.h | |||
| @@ -44,7 +44,27 @@ | |||
| 44 | 44 | ||
| 45 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 45 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
| 46 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 46 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
| 47 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL,val) | 47 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
| 48 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
| 49 | { | ||
| 50 | unsigned long flags, iwr; | ||
| 51 | |||
| 52 | if (val == bfin_read_PLL_CTL()) | ||
| 53 | return; | ||
| 54 | |||
| 55 | local_irq_save(flags); | ||
| 56 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
| 57 | iwr = bfin_read32(SIC_IWR); | ||
| 58 | /* Only allow PPL Wakeup) */ | ||
| 59 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); | ||
| 60 | |||
| 61 | bfin_write16(PLL_CTL, val); | ||
| 62 | SSYNC(); | ||
| 63 | asm("IDLE;"); | ||
| 64 | |||
| 65 | bfin_write32(SIC_IWR, iwr); | ||
| 66 | local_irq_restore(flags); | ||
| 67 | } | ||
| 48 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 68 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
| 49 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) | 69 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) |
| 50 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 70 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
| @@ -53,6 +73,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 53 | { | 73 | { |
| 54 | unsigned long flags, iwr; | 74 | unsigned long flags, iwr; |
| 55 | 75 | ||
| 76 | if (val == bfin_read_VR_CTL()) | ||
| 77 | return; | ||
| 78 | |||
| 79 | local_irq_save(flags); | ||
| 56 | /* Enable the PLL Wakeup bit in SIC IWR */ | 80 | /* Enable the PLL Wakeup bit in SIC IWR */ |
| 57 | iwr = bfin_read32(SIC_IWR); | 81 | iwr = bfin_read32(SIC_IWR); |
| 58 | /* Only allow PPL Wakeup) */ | 82 | /* Only allow PPL Wakeup) */ |
| @@ -60,11 +84,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 60 | 84 | ||
| 61 | bfin_write16(VR_CTL, val); | 85 | bfin_write16(VR_CTL, val); |
| 62 | SSYNC(); | 86 | SSYNC(); |
| 63 | |||
| 64 | local_irq_save(flags); | ||
| 65 | asm("IDLE;"); | 87 | asm("IDLE;"); |
| 66 | local_irq_restore(flags); | 88 | |
| 67 | bfin_write32(SIC_IWR, iwr); | 89 | bfin_write32(SIC_IWR, iwr); |
| 90 | local_irq_restore(flags); | ||
| 68 | } | 91 | } |
| 69 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 92 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
| 70 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) | 93 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) |
| @@ -858,39 +881,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 858 | #define bfin_read_PPI_FRAME() bfin_read16(PPI_FRAME) | 881 | #define bfin_read_PPI_FRAME() bfin_read16(PPI_FRAME) |
| 859 | #define bfin_write_PPI_FRAME(val) bfin_write16(PPI_FRAME,val) | 882 | #define bfin_write_PPI_FRAME(val) bfin_write16(PPI_FRAME,val) |
| 860 | 883 | ||
| 861 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ | 884 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ |
| 862 | #define bfin_read_TWI_CLKDIV() bfin_read16(TWI_CLKDIV) | ||
| 863 | #define bfin_write_TWI_CLKDIV(val) bfin_write16(TWI_CLKDIV,val) | ||
| 864 | #define bfin_read_TWI_CONTROL() bfin_read16(TWI_CONTROL) | ||
| 865 | #define bfin_write_TWI_CONTROL(val) bfin_write16(TWI_CONTROL,val) | ||
| 866 | #define bfin_read_TWI_SLAVE_CTL() bfin_read16(TWI_SLAVE_CTL) | ||
| 867 | #define bfin_write_TWI_SLAVE_CTL(val) bfin_write16(TWI_SLAVE_CTL,val) | ||
| 868 | #define bfin_read_TWI_SLAVE_STAT() bfin_read16(TWI_SLAVE_STAT) | ||
| 869 | #define bfin_write_TWI_SLAVE_STAT(val) bfin_write16(TWI_SLAVE_STAT,val) | ||
| 870 | #define bfin_read_TWI_SLAVE_ADDR() bfin_read16(TWI_SLAVE_ADDR) | ||
| 871 | #define bfin_write_TWI_SLAVE_ADDR(val) bfin_write16(TWI_SLAVE_ADDR,val) | ||
| 872 | #define bfin_read_TWI_MASTER_CTL() bfin_read16(TWI_MASTER_CTL) | ||
| 873 | #define bfin_write_TWI_MASTER_CTL(val) bfin_write16(TWI_MASTER_CTL,val) | ||
| 874 | #define bfin_read_TWI_MASTER_STAT() bfin_read16(TWI_MASTER_STAT) | ||
| 875 | #define bfin_write_TWI_MASTER_STAT(val) bfin_write16(TWI_MASTER_STAT,val) | ||
| 876 | #define bfin_read_TWI_MASTER_ADDR() bfin_read16(TWI_MASTER_ADDR) | ||
| 877 | #define bfin_write_TWI_MASTER_ADDR(val) bfin_write16(TWI_MASTER_ADDR,val) | ||
| 878 | #define bfin_read_TWI_INT_STAT() bfin_read16(TWI_INT_STAT) | ||
| 879 | #define bfin_write_TWI_INT_STAT(val) bfin_write16(TWI_INT_STAT,val) | ||
| 880 | #define bfin_read_TWI_INT_MASK() bfin_read16(TWI_INT_MASK) | ||
| 881 | #define bfin_write_TWI_INT_MASK(val) bfin_write16(TWI_INT_MASK,val) | ||
| 882 | #define bfin_read_TWI_FIFO_CTL() bfin_read16(TWI_FIFO_CTL) | ||
| 883 | #define bfin_write_TWI_FIFO_CTL(val) bfin_write16(TWI_FIFO_CTL,val) | ||
| 884 | #define bfin_read_TWI_FIFO_STAT() bfin_read16(TWI_FIFO_STAT) | ||
| 885 | #define bfin_write_TWI_FIFO_STAT(val) bfin_write16(TWI_FIFO_STAT,val) | ||
| 886 | #define bfin_read_TWI_XMT_DATA8() bfin_read16(TWI_XMT_DATA8) | ||
| 887 | #define bfin_write_TWI_XMT_DATA8(val) bfin_write16(TWI_XMT_DATA8,val) | ||
| 888 | #define bfin_read_TWI_XMT_DATA16() bfin_read16(TWI_XMT_DATA16) | ||
| 889 | #define bfin_write_TWI_XMT_DATA16(val) bfin_write16(TWI_XMT_DATA16,val) | ||
| 890 | #define bfin_read_TWI_RCV_DATA8() bfin_read16(TWI_RCV_DATA8) | ||
| 891 | #define bfin_write_TWI_RCV_DATA8(val) bfin_write16(TWI_RCV_DATA8,val) | ||
| 892 | #define bfin_read_TWI_RCV_DATA16() bfin_read16(TWI_RCV_DATA16) | ||
| 893 | #define bfin_write_TWI_RCV_DATA16(val) bfin_write16(TWI_RCV_DATA16,val) | ||
| 894 | 885 | ||
| 895 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ | 886 | /* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */ |
| 896 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) | 887 | #define bfin_read_PORTGIO() bfin_read16(PORTGIO) |
diff --git a/include/asm-blackfin/mach-bf537/dma.h b/include/asm-blackfin/mach-bf537/dma.h index 021991984e6e..7a964040870a 100644 --- a/include/asm-blackfin/mach-bf537/dma.h +++ b/include/asm-blackfin/mach-bf537/dma.h | |||
| @@ -52,7 +52,4 @@ | |||
| 52 | #define CH_MEM_STREAM1_DEST 14 /* TX */ | 52 | #define CH_MEM_STREAM1_DEST 14 /* TX */ |
| 53 | #define CH_MEM_STREAM1_SRC 15 /* RX */ | 53 | #define CH_MEM_STREAM1_SRC 15 /* RX */ |
| 54 | 54 | ||
| 55 | extern int channel2irq(unsigned int channel); | ||
| 56 | extern struct dma_register *base_addr[]; | ||
| 57 | |||
| 58 | #endif | 55 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/anomaly.h b/include/asm-blackfin/mach-bf548/anomaly.h index 850dc12eb7f2..49d3cebc5293 100644 --- a/include/asm-blackfin/mach-bf548/anomaly.h +++ b/include/asm-blackfin/mach-bf548/anomaly.h | |||
| @@ -93,5 +93,6 @@ | |||
| 93 | #define ANOMALY_05000273 (0) | 93 | #define ANOMALY_05000273 (0) |
| 94 | #define ANOMALY_05000311 (0) | 94 | #define ANOMALY_05000311 (0) |
| 95 | #define ANOMALY_05000323 (0) | 95 | #define ANOMALY_05000323 (0) |
| 96 | #define ANOMALY_05000363 (0) | ||
| 96 | 97 | ||
| 97 | #endif | 98 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h index 7e6339f62a50..6547027cd3e6 100644 --- a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | |||
| @@ -1,22 +1,38 @@ | |||
| 1 | /* | ||
| 2 | * file: include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | ||
| 3 | * based on: | ||
| 4 | * author: | ||
| 5 | * | ||
| 6 | * created: | ||
| 7 | * description: | ||
| 8 | * blackfin serial driver head file | ||
| 9 | * rev: | ||
| 10 | * | ||
| 11 | * modified: | ||
| 12 | * | ||
| 13 | * | ||
| 14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
| 15 | * | ||
| 16 | * this program is free software; you can redistribute it and/or modify | ||
| 17 | * it under the terms of the gnu general public license as published by | ||
| 18 | * the free software foundation; either version 2, or (at your option) | ||
| 19 | * any later version. | ||
| 20 | * | ||
| 21 | * this program is distributed in the hope that it will be useful, | ||
| 22 | * but without any warranty; without even the implied warranty of | ||
| 23 | * merchantability or fitness for a particular purpose. see the | ||
| 24 | * gnu general public license for more details. | ||
| 25 | * | ||
| 26 | * you should have received a copy of the gnu general public license | ||
| 27 | * along with this program; see the file copying. | ||
| 28 | * if not, write to the free software foundation, | ||
| 29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
| 30 | */ | ||
| 31 | |||
| 1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
| 2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
| 3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
| 4 | 35 | ||
| 5 | #define NR_PORTS 4 | ||
| 6 | |||
| 7 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 8 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 9 | #define OFFSET_GCTL 0x08 /* Global Control Register */ | ||
| 10 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 11 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 12 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 13 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 14 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 15 | #define OFFSET_IER_SET 0x20 /* Set Interrupt Enable Register */ | ||
| 16 | #define OFFSET_IER_CLEAR 0x24 /* Clear Interrupt Enable Register */ | ||
| 17 | #define OFFSET_THR 0x28 /* Transmit Holding register */ | ||
| 18 | #define OFFSET_RBR 0x2C /* Receive Buffer register */ | ||
| 19 | |||
| 20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
| 21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
| 22 | #define UART_GET_DLH(uart) bfin_read16(((uart)->port.membase + OFFSET_DLH)) | 38 | #define UART_GET_DLH(uart) bfin_read16(((uart)->port.membase + OFFSET_DLH)) |
| @@ -80,7 +96,7 @@ struct bfin_serial_port { | |||
| 80 | #endif | 96 | #endif |
| 81 | }; | 97 | }; |
| 82 | 98 | ||
| 83 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 99 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
| 84 | struct bfin_serial_res { | 100 | struct bfin_serial_res { |
| 85 | unsigned long uart_base_addr; | 101 | unsigned long uart_base_addr; |
| 86 | int uart_irq; | 102 | int uart_irq; |
diff --git a/include/asm-blackfin/mach-bf548/bfin_sir.h b/include/asm-blackfin/mach-bf548/bfin_sir.h new file mode 100644 index 000000000000..5e94271c7e3b --- /dev/null +++ b/include/asm-blackfin/mach-bf548/bfin_sir.h | |||
| @@ -0,0 +1,149 @@ | |||
| 1 | /* | ||
| 2 | * Blackfin Infra-red Driver | ||
| 3 | * | ||
| 4 | * Copyright 2006-2008 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
| 7 | * | ||
| 8 | * Licensed under the GPL-2 or later. | ||
| 9 | * | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/serial.h> | ||
| 13 | #include <asm/dma.h> | ||
| 14 | #include <asm/portmux.h> | ||
| 15 | |||
| 16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
| 17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
| 18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER_SET) | ||
| 19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
| 20 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
| 21 | #define SIR_UART_GET_LSR(port) bfin_read16((port)->membase + OFFSET_LSR) | ||
| 22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
| 23 | |||
| 24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
| 25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
| 26 | #define SIR_UART_SET_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER_SET), v) | ||
| 27 | #define SIR_UART_CLEAR_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER_CLEAR), v) | ||
| 28 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
| 29 | #define SIR_UART_PUT_LSR(port, v) bfin_write16(((port)->membase + OFFSET_LSR), v) | ||
| 30 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
| 31 | #define SIR_UART_CLEAR_LSR(port) bfin_write16(((port)->membase + OFFSET_LSR), -1) | ||
| 32 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
| 33 | |||
| 34 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 35 | struct dma_rx_buf { | ||
| 36 | char *buf; | ||
| 37 | int head; | ||
| 38 | int tail; | ||
| 39 | }; | ||
| 40 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 41 | |||
| 42 | struct bfin_sir_port { | ||
| 43 | unsigned char __iomem *membase; | ||
| 44 | unsigned int irq; | ||
| 45 | unsigned int lsr; | ||
| 46 | unsigned long clk; | ||
| 47 | struct net_device *dev; | ||
| 48 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 49 | int tx_done; | ||
| 50 | struct dma_rx_buf rx_dma_buf; | ||
| 51 | struct timer_list rx_dma_timer; | ||
| 52 | int rx_dma_nrows; | ||
| 53 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 54 | unsigned int tx_dma_channel; | ||
| 55 | unsigned int rx_dma_channel; | ||
| 56 | }; | ||
| 57 | |||
| 58 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
| 59 | |||
| 60 | struct bfin_sir_port_res { | ||
| 61 | unsigned long base_addr; | ||
| 62 | int irq; | ||
| 63 | unsigned int rx_dma_channel; | ||
| 64 | unsigned int tx_dma_channel; | ||
| 65 | }; | ||
| 66 | |||
| 67 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
| 68 | #ifdef CONFIG_BFIN_SIR0 | ||
| 69 | { | ||
| 70 | 0xFFC00400, | ||
| 71 | IRQ_UART0_RX, | ||
| 72 | CH_UART0_RX, | ||
| 73 | CH_UART0_TX, | ||
| 74 | }, | ||
| 75 | #endif | ||
| 76 | #ifdef CONFIG_BFIN_SIR1 | ||
| 77 | { | ||
| 78 | 0xFFC02000, | ||
| 79 | IRQ_UART1_RX, | ||
| 80 | CH_UART1_RX, | ||
| 81 | CH_UART1_TX, | ||
| 82 | }, | ||
| 83 | #endif | ||
| 84 | #ifdef CONFIG_BFIN_SIR2 | ||
| 85 | { | ||
| 86 | 0xFFC02100, | ||
| 87 | IRQ_UART2_RX, | ||
| 88 | CH_UART2_RX, | ||
| 89 | CH_UART2_TX, | ||
| 90 | }, | ||
| 91 | #endif | ||
| 92 | #ifdef CONFIG_BFIN_SIR3 | ||
| 93 | { | ||
| 94 | 0xFFC03100, | ||
| 95 | IRQ_UART3_RX, | ||
| 96 | CH_UART3_RX, | ||
| 97 | CH_UART3_TX, | ||
| 98 | }, | ||
| 99 | #endif | ||
| 100 | }; | ||
| 101 | |||
| 102 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
| 103 | |||
| 104 | struct bfin_sir_self { | ||
| 105 | struct bfin_sir_port *sir_port; | ||
| 106 | spinlock_t lock; | ||
| 107 | unsigned int open; | ||
| 108 | int speed; | ||
| 109 | int newspeed; | ||
| 110 | |||
| 111 | struct sk_buff *txskb; | ||
| 112 | struct sk_buff *rxskb; | ||
| 113 | struct net_device_stats stats; | ||
| 114 | struct device *dev; | ||
| 115 | struct irlap_cb *irlap; | ||
| 116 | struct qos_info qos; | ||
| 117 | |||
| 118 | iobuff_t tx_buff; | ||
| 119 | iobuff_t rx_buff; | ||
| 120 | |||
| 121 | struct work_struct work; | ||
| 122 | int mtt; | ||
| 123 | }; | ||
| 124 | |||
| 125 | #define DRIVER_NAME "bfin_sir" | ||
| 126 | |||
| 127 | static void bfin_sir_hw_init(void) | ||
| 128 | { | ||
| 129 | #ifdef CONFIG_BFIN_SIR0 | ||
| 130 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
| 131 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
| 132 | #endif | ||
| 133 | |||
| 134 | #ifdef CONFIG_BFIN_SIR1 | ||
| 135 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
| 136 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
| 137 | #endif | ||
| 138 | |||
| 139 | #ifdef CONFIG_BFIN_SIR2 | ||
| 140 | peripheral_request(P_UART2_TX, DRIVER_NAME); | ||
| 141 | peripheral_request(P_UART2_RX, DRIVER_NAME); | ||
| 142 | #endif | ||
| 143 | |||
| 144 | #ifdef CONFIG_BFIN_SIR3 | ||
| 145 | peripheral_request(P_UART3_TX, DRIVER_NAME); | ||
| 146 | peripheral_request(P_UART3_RX, DRIVER_NAME); | ||
| 147 | #endif | ||
| 148 | SSYNC(); | ||
| 149 | } | ||
diff --git a/include/asm-blackfin/mach-bf548/blackfin.h b/include/asm-blackfin/mach-bf548/blackfin.h index 3bd67da86053..d6ee74ac0460 100644 --- a/include/asm-blackfin/mach-bf548/blackfin.h +++ b/include/asm-blackfin/mach-bf548/blackfin.h | |||
| @@ -153,17 +153,33 @@ | |||
| 153 | #define bfin_write_UART_SCR(val) bfin_write_UART1_SCR(val) | 153 | #define bfin_write_UART_SCR(val) bfin_write_UART1_SCR(val) |
| 154 | #define bfin_read_UART_GCTL() bfin_read_UART1_GCTL() | 154 | #define bfin_read_UART_GCTL() bfin_read_UART1_GCTL() |
| 155 | #define bfin_write_UART_GCTL(val) bfin_write_UART1_GCTL(val) | 155 | #define bfin_write_UART_GCTL(val) bfin_write_UART1_GCTL(val) |
| 156 | #define UART_THR UART1_THR | 156 | |
| 157 | #define UART_RBR UART1_RBR | 157 | #define BFIN_UART_THR UART1_THR |
| 158 | #define UART_DLL UART1_DLL | 158 | #define BFIN_UART_RBR UART1_RBR |
| 159 | #define UART_IER UART1_IER | 159 | #define BFIN_UART_DLL UART1_DLL |
| 160 | #define UART_DLH UART1_DLH | 160 | #define BFIN_UART_IER UART1_IER |
| 161 | #define UART_IIR UART1_IIR | 161 | #define BFIN_UART_DLH UART1_DLH |
| 162 | #define UART_LCR UART1_LCR | 162 | #define BFIN_UART_IIR UART1_IIR |
| 163 | #define UART_MCR UART1_MCR | 163 | #define BFIN_UART_LCR UART1_LCR |
| 164 | #define UART_LSR UART1_LSR | 164 | #define BFIN_UART_MCR UART1_MCR |
| 165 | #define UART_SCR UART1_SCR | 165 | #define BFIN_UART_LSR UART1_LSR |
| 166 | #define UART_GCTL UART1_GCTL | 166 | #define BFIN_UART_SCR UART1_SCR |
| 167 | #define BFIN_UART_GCTL UART1_GCTL | ||
| 168 | |||
| 169 | #define BFIN_UART_NR_PORTS 4 | ||
| 170 | |||
| 171 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 172 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 173 | #define OFFSET_GCTL 0x08 /* Global Control Register */ | ||
| 174 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 175 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 176 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 177 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 178 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 179 | #define OFFSET_IER_SET 0x20 /* Set Interrupt Enable Register */ | ||
| 180 | #define OFFSET_IER_CLEAR 0x24 /* Clear Interrupt Enable Register */ | ||
| 181 | #define OFFSET_THR 0x28 /* Transmit Holding register */ | ||
| 182 | #define OFFSET_RBR 0x2C /* Receive Buffer register */ | ||
| 167 | 183 | ||
| 168 | /* PLL_DIV Masks */ | 184 | /* PLL_DIV Masks */ |
| 169 | #define CCLK_DIV1 CSEL_DIV1 /* CCLK = VCO / 1 */ | 185 | #define CCLK_DIV1 CSEL_DIV1 /* CCLK = VCO / 1 */ |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF542.h b/include/asm-blackfin/mach-bf548/cdefBF542.h index 308b33ab5311..60b9f77576f1 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF542.h +++ b/include/asm-blackfin/mach-bf548/cdefBF542.h | |||
| @@ -123,12 +123,12 @@ | |||
| 123 | #define bfin_write_SDH_DATA_LGTH(val) bfin_write16(SDH_DATA_LGTH, val) | 123 | #define bfin_write_SDH_DATA_LGTH(val) bfin_write16(SDH_DATA_LGTH, val) |
| 124 | #define bfin_read_SDH_DATA_CTL() bfin_read16(SDH_DATA_CTL) | 124 | #define bfin_read_SDH_DATA_CTL() bfin_read16(SDH_DATA_CTL) |
| 125 | #define bfin_write_SDH_DATA_CTL(val) bfin_write16(SDH_DATA_CTL, val) | 125 | #define bfin_write_SDH_DATA_CTL(val) bfin_write16(SDH_DATA_CTL, val) |
| 126 | #define bfin_read_SDH_DATA_CNT() fin_read16(SDH_DATA_CNT) | 126 | #define bfin_read_SDH_DATA_CNT() bfin_read16(SDH_DATA_CNT) |
| 127 | #define bfin_write_SDH_DATA_CNT(val) bfin_write16(SDH_DATA_CNT, val) | 127 | #define bfin_write_SDH_DATA_CNT(val) bfin_write16(SDH_DATA_CNT, val) |
| 128 | #define bfin_read_SDH_STATUS() bfin_read32(SDH_STATUS) | 128 | #define bfin_read_SDH_STATUS() bfin_read32(SDH_STATUS) |
| 129 | #define bfin_write_SDH_STATUS(val) bfin_write32(SDH_STATUS, val) | 129 | #define bfin_write_SDH_STATUS(val) bfin_write32(SDH_STATUS, val) |
| 130 | #define bfin_read_SDH_STATUS_CLR() fin_read16(SDH_STATUS_CLR) | 130 | #define bfin_read_SDH_STATUS_CLR() bfin_read16(SDH_STATUS_CLR) |
| 131 | #define bfin_write_SDH_STATUS_CLR(val) fin_write16(SDH_STATUS_CLR, val) | 131 | #define bfin_write_SDH_STATUS_CLR(val) bfin_write16(SDH_STATUS_CLR, val) |
| 132 | #define bfin_read_SDH_MASK0() bfin_read32(SDH_MASK0) | 132 | #define bfin_read_SDH_MASK0() bfin_read32(SDH_MASK0) |
| 133 | #define bfin_write_SDH_MASK0(val) bfin_write32(SDH_MASK0, val) | 133 | #define bfin_write_SDH_MASK0(val) bfin_write32(SDH_MASK0, val) |
| 134 | #define bfin_read_SDH_MASK1() bfin_read32(SDH_MASK1) | 134 | #define bfin_read_SDH_MASK1() bfin_read32(SDH_MASK1) |
| @@ -184,8 +184,8 @@ | |||
| 184 | #define bfin_write_USB_FRAME(val) bfin_write16(USB_FRAME, val) | 184 | #define bfin_write_USB_FRAME(val) bfin_write16(USB_FRAME, val) |
| 185 | #define bfin_read_USB_INDEX() bfin_read16(USB_INDEX) | 185 | #define bfin_read_USB_INDEX() bfin_read16(USB_INDEX) |
| 186 | #define bfin_write_USB_INDEX(val) bfin_write16(USB_INDEX, val) | 186 | #define bfin_write_USB_INDEX(val) bfin_write16(USB_INDEX, val) |
| 187 | #define bfin_read_USB_TESTMODE() fin_read16(USB_TESTMODE) | 187 | #define bfin_read_USB_TESTMODE() bfin_read16(USB_TESTMODE) |
| 188 | #define bfin_write_USB_TESTMODE(val) fin_write16(USB_TESTMODE, val) | 188 | #define bfin_write_USB_TESTMODE(val) bfin_write16(USB_TESTMODE, val) |
| 189 | #define bfin_read_USB_GLOBINTR() bfin_read16(USB_GLOBINTR) | 189 | #define bfin_read_USB_GLOBINTR() bfin_read16(USB_GLOBINTR) |
| 190 | #define bfin_write_USB_GLOBINTR(val) bfin_write16(USB_GLOBINTR, val) | 190 | #define bfin_write_USB_GLOBINTR(val) bfin_write16(USB_GLOBINTR, val) |
| 191 | #define bfin_read_USB_GLOBAL_CTL() bfin_read16(USB_GLOBAL_CTL) | 191 | #define bfin_read_USB_GLOBAL_CTL() bfin_read16(USB_GLOBAL_CTL) |
| @@ -244,7 +244,7 @@ | |||
| 244 | #define bfin_read_USB_OTG_DEV_CTL() bfin_read16(USB_OTG_DEV_CTL) | 244 | #define bfin_read_USB_OTG_DEV_CTL() bfin_read16(USB_OTG_DEV_CTL) |
| 245 | #define bfin_write_USB_OTG_DEV_CTL(val) bfin_write16(USB_OTG_DEV_CTL, val) | 245 | #define bfin_write_USB_OTG_DEV_CTL(val) bfin_write16(USB_OTG_DEV_CTL, val) |
| 246 | #define bfin_read_USB_OTG_VBUS_IRQ() bfin_read16(USB_OTG_VBUS_IRQ) | 246 | #define bfin_read_USB_OTG_VBUS_IRQ() bfin_read16(USB_OTG_VBUS_IRQ) |
| 247 | #define bfin_write_USB_OTG_VBUS_IRQ(val) fin_write16(USB_OTG_VBUS_IRQ, val) | 247 | #define bfin_write_USB_OTG_VBUS_IRQ(val) bfin_write16(USB_OTG_VBUS_IRQ, val) |
| 248 | #define bfin_read_USB_OTG_VBUS_MASK() bfin_read16(USB_OTG_VBUS_MASK) | 248 | #define bfin_read_USB_OTG_VBUS_MASK() bfin_read16(USB_OTG_VBUS_MASK) |
| 249 | #define bfin_write_USB_OTG_VBUS_MASK(val) bfin_write16(USB_OTG_VBUS_MASK, val) | 249 | #define bfin_write_USB_OTG_VBUS_MASK(val) bfin_write16(USB_OTG_VBUS_MASK, val) |
| 250 | 250 | ||
diff --git a/include/asm-blackfin/mach-bf548/cdefBF544.h b/include/asm-blackfin/mach-bf548/cdefBF544.h index 7a2d177c8dc2..ea9b4ab496f3 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF544.h +++ b/include/asm-blackfin/mach-bf548/cdefBF544.h | |||
| @@ -113,39 +113,6 @@ | |||
| 113 | 113 | ||
| 114 | /* Two Wire Interface Registers (TWI1) */ | 114 | /* Two Wire Interface Registers (TWI1) */ |
| 115 | 115 | ||
| 116 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
| 117 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
| 118 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
| 119 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
| 120 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
| 121 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
| 122 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
| 123 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
| 124 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
| 125 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
| 126 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
| 127 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
| 128 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
| 129 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
| 130 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
| 131 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
| 132 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
| 133 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
| 134 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
| 135 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
| 136 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
| 137 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
| 138 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
| 139 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
| 140 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
| 141 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
| 142 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
| 143 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
| 144 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
| 145 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
| 146 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
| 147 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
| 148 | |||
| 149 | /* CAN Controller 1 Config 1 Registers */ | 116 | /* CAN Controller 1 Config 1 Registers */ |
| 150 | 117 | ||
| 151 | #define bfin_read_CAN1_MC1() bfin_read16(CAN1_MC1) | 118 | #define bfin_read_CAN1_MC1() bfin_read16(CAN1_MC1) |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF547.h b/include/asm-blackfin/mach-bf548/cdefBF547.h index d0a200b08abd..ba716277c00d 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF547.h +++ b/include/asm-blackfin/mach-bf548/cdefBF547.h | |||
| @@ -185,39 +185,6 @@ | |||
| 185 | 185 | ||
| 186 | /* Two Wire Interface Registers (TWI1) */ | 186 | /* Two Wire Interface Registers (TWI1) */ |
| 187 | 187 | ||
| 188 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
| 189 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
| 190 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
| 191 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
| 192 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
| 193 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
| 194 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
| 195 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
| 196 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
| 197 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
| 198 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
| 199 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
| 200 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
| 201 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
| 202 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
| 203 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
| 204 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
| 205 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
| 206 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
| 207 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
| 208 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
| 209 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
| 210 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
| 211 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
| 212 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
| 213 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
| 214 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
| 215 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
| 216 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
| 217 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
| 218 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
| 219 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
| 220 | |||
| 221 | /* SPI2 Registers */ | 188 | /* SPI2 Registers */ |
| 222 | 189 | ||
| 223 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) | 190 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF548.h b/include/asm-blackfin/mach-bf548/cdefBF548.h index 674be0216bff..ae971ebff6a0 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF548.h +++ b/include/asm-blackfin/mach-bf548/cdefBF548.h | |||
| @@ -185,39 +185,6 @@ | |||
| 185 | 185 | ||
| 186 | /* Two Wire Interface Registers (TWI1) */ | 186 | /* Two Wire Interface Registers (TWI1) */ |
| 187 | 187 | ||
| 188 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
| 189 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
| 190 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
| 191 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
| 192 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
| 193 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
| 194 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
| 195 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
| 196 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
| 197 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
| 198 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
| 199 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
| 200 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
| 201 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
| 202 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
| 203 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
| 204 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
| 205 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
| 206 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
| 207 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
| 208 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
| 209 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
| 210 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
| 211 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
| 212 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
| 213 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
| 214 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
| 215 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
| 216 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
| 217 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
| 218 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
| 219 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
| 220 | |||
| 221 | /* SPI2 Registers */ | 188 | /* SPI2 Registers */ |
| 222 | 189 | ||
| 223 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) | 190 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF549.h b/include/asm-blackfin/mach-bf548/cdefBF549.h index 2ab5b7c00820..92d07d961999 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF549.h +++ b/include/asm-blackfin/mach-bf548/cdefBF549.h | |||
| @@ -185,39 +185,6 @@ | |||
| 185 | 185 | ||
| 186 | /* Two Wire Interface Registers (TWI1) */ | 186 | /* Two Wire Interface Registers (TWI1) */ |
| 187 | 187 | ||
| 188 | #define bfin_read_TWI1_CLKDIV() bfin_read16(TWI1_CLKDIV) | ||
| 189 | #define bfin_write_TWI1_CLKDIV(val) bfin_write16(TWI1_CLKDIV, val) | ||
| 190 | #define bfin_read_TWI1_CONTROL() bfin_read16(TWI1_CONTROL) | ||
| 191 | #define bfin_write_TWI1_CONTROL(val) bfin_write16(TWI1_CONTROL, val) | ||
| 192 | #define bfin_read_TWI1_SLAVE_CTRL() bfin_read16(TWI1_SLAVE_CTRL) | ||
| 193 | #define bfin_write_TWI1_SLAVE_CTRL(val) bfin_write16(TWI1_SLAVE_CTRL, val) | ||
| 194 | #define bfin_read_TWI1_SLAVE_STAT() bfin_read16(TWI1_SLAVE_STAT) | ||
| 195 | #define bfin_write_TWI1_SLAVE_STAT(val) bfin_write16(TWI1_SLAVE_STAT, val) | ||
| 196 | #define bfin_read_TWI1_SLAVE_ADDR() bfin_read16(TWI1_SLAVE_ADDR) | ||
| 197 | #define bfin_write_TWI1_SLAVE_ADDR(val) bfin_write16(TWI1_SLAVE_ADDR, val) | ||
| 198 | #define bfin_read_TWI1_MASTER_CTRL() bfin_read16(TWI1_MASTER_CTRL) | ||
| 199 | #define bfin_write_TWI1_MASTER_CTRL(val) bfin_write16(TWI1_MASTER_CTRL, val) | ||
| 200 | #define bfin_read_TWI1_MASTER_STAT() bfin_read16(TWI1_MASTER_STAT) | ||
| 201 | #define bfin_write_TWI1_MASTER_STAT(val) bfin_write16(TWI1_MASTER_STAT, val) | ||
| 202 | #define bfin_read_TWI1_MASTER_ADDR() bfin_read16(TWI1_MASTER_ADDR) | ||
| 203 | #define bfin_write_TWI1_MASTER_ADDR(val) bfin_write16(TWI1_MASTER_ADDR, val) | ||
| 204 | #define bfin_read_TWI1_INT_STAT() bfin_read16(TWI1_INT_STAT) | ||
| 205 | #define bfin_write_TWI1_INT_STAT(val) bfin_write16(TWI1_INT_STAT, val) | ||
| 206 | #define bfin_read_TWI1_INT_MASK() bfin_read16(TWI1_INT_MASK) | ||
| 207 | #define bfin_write_TWI1_INT_MASK(val) bfin_write16(TWI1_INT_MASK, val) | ||
| 208 | #define bfin_read_TWI1_FIFO_CTRL() bfin_read16(TWI1_FIFO_CTRL) | ||
| 209 | #define bfin_write_TWI1_FIFO_CTRL(val) bfin_write16(TWI1_FIFO_CTRL, val) | ||
| 210 | #define bfin_read_TWI1_FIFO_STAT() bfin_read16(TWI1_FIFO_STAT) | ||
| 211 | #define bfin_write_TWI1_FIFO_STAT(val) bfin_write16(TWI1_FIFO_STAT, val) | ||
| 212 | #define bfin_read_TWI1_XMT_DATA8() bfin_read16(TWI1_XMT_DATA8) | ||
| 213 | #define bfin_write_TWI1_XMT_DATA8(val) bfin_write16(TWI1_XMT_DATA8, val) | ||
| 214 | #define bfin_read_TWI1_XMT_DATA16() bfin_read16(TWI1_XMT_DATA16) | ||
| 215 | #define bfin_write_TWI1_XMT_DATA16(val) bfin_write16(TWI1_XMT_DATA16, val) | ||
| 216 | #define bfin_read_TWI1_RCV_DATA8() bfin_read16(TWI1_RCV_DATA8) | ||
| 217 | #define bfin_write_TWI1_RCV_DATA8(val) bfin_write16(TWI1_RCV_DATA8, val) | ||
| 218 | #define bfin_read_TWI1_RCV_DATA16() bfin_read16(TWI1_RCV_DATA16) | ||
| 219 | #define bfin_write_TWI1_RCV_DATA16(val) bfin_write16(TWI1_RCV_DATA16, val) | ||
| 220 | |||
| 221 | /* SPI2 Registers */ | 188 | /* SPI2 Registers */ |
| 222 | 189 | ||
| 223 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) | 190 | #define bfin_read_SPI2_CTL() bfin_read16(SPI2_CTL) |
| @@ -1773,7 +1740,7 @@ | |||
| 1773 | #define bfin_read_USB_DMA5ADDRHIGH() bfin_read16(USB_DMA5ADDRHIGH) | 1740 | #define bfin_read_USB_DMA5ADDRHIGH() bfin_read16(USB_DMA5ADDRHIGH) |
| 1774 | #define bfin_write_USB_DMA5ADDRHIGH(val) bfin_write16(USB_DMA5ADDRHIGH, val) | 1741 | #define bfin_write_USB_DMA5ADDRHIGH(val) bfin_write16(USB_DMA5ADDRHIGH, val) |
| 1775 | #define bfin_read_USB_DMA5COUNTLOW() bfin_read16(USB_DMA5COUNTLOW) | 1742 | #define bfin_read_USB_DMA5COUNTLOW() bfin_read16(USB_DMA5COUNTLOW) |
| 1776 | #define bfin_write_USB_DMA5COUNTLOW(val) fin_write16(USB_DMA5COUNTLOW, val) | 1743 | #define bfin_write_USB_DMA5COUNTLOW(val) bfin_write16(USB_DMA5COUNTLOW, val) |
| 1777 | #define bfin_read_USB_DMA5COUNTHIGH() bfin_read16(USB_DMA5COUNTHIGH) | 1744 | #define bfin_read_USB_DMA5COUNTHIGH() bfin_read16(USB_DMA5COUNTHIGH) |
| 1778 | #define bfin_write_USB_DMA5COUNTHIGH(val) bfin_write16(USB_DMA5COUNTHIGH, val) | 1745 | #define bfin_write_USB_DMA5COUNTHIGH(val) bfin_write16(USB_DMA5COUNTHIGH, val) |
| 1779 | 1746 | ||
diff --git a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h index 19ddcd83c71f..57ac8cb9b1f6 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h +++ b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h | |||
| @@ -43,7 +43,33 @@ | |||
| 43 | /* PLL Registers */ | 43 | /* PLL Registers */ |
| 44 | 44 | ||
| 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 45 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
| 46 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL, val) | 46 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
| 47 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
| 48 | { | ||
| 49 | unsigned long flags, iwr0, iwr1, iwr2; | ||
| 50 | |||
| 51 | if (val == bfin_read_PLL_CTL()) | ||
| 52 | return; | ||
| 53 | |||
| 54 | local_irq_save(flags); | ||
| 55 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
| 56 | iwr0 = bfin_read32(SIC_IWR0); | ||
| 57 | iwr1 = bfin_read32(SIC_IWR1); | ||
| 58 | iwr2 = bfin_read32(SIC_IWR2); | ||
| 59 | /* Only allow PPL Wakeup) */ | ||
| 60 | bfin_write32(SIC_IWR0, IWR_ENABLE(0)); | ||
| 61 | bfin_write32(SIC_IWR1, 0); | ||
| 62 | bfin_write32(SIC_IWR2, 0); | ||
| 63 | |||
| 64 | bfin_write16(PLL_CTL, val); | ||
| 65 | SSYNC(); | ||
| 66 | asm("IDLE;"); | ||
| 67 | |||
| 68 | bfin_write32(SIC_IWR0, iwr0); | ||
| 69 | bfin_write32(SIC_IWR1, iwr1); | ||
| 70 | bfin_write32(SIC_IWR2, iwr2); | ||
| 71 | local_irq_restore(flags); | ||
| 72 | } | ||
| 47 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 73 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
| 48 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) | 74 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV, val) |
| 49 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 75 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
| @@ -52,6 +78,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 52 | { | 78 | { |
| 53 | unsigned long flags, iwr0, iwr1, iwr2; | 79 | unsigned long flags, iwr0, iwr1, iwr2; |
| 54 | 80 | ||
| 81 | if (val == bfin_read_VR_CTL()) | ||
| 82 | return; | ||
| 83 | |||
| 84 | local_irq_save(flags); | ||
| 55 | /* Enable the PLL Wakeup bit in SIC IWR */ | 85 | /* Enable the PLL Wakeup bit in SIC IWR */ |
| 56 | iwr0 = bfin_read32(SIC_IWR0); | 86 | iwr0 = bfin_read32(SIC_IWR0); |
| 57 | iwr1 = bfin_read32(SIC_IWR1); | 87 | iwr1 = bfin_read32(SIC_IWR1); |
| @@ -63,13 +93,12 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 63 | 93 | ||
| 64 | bfin_write16(VR_CTL, val); | 94 | bfin_write16(VR_CTL, val); |
| 65 | SSYNC(); | 95 | SSYNC(); |
| 66 | |||
| 67 | local_irq_save(flags); | ||
| 68 | asm("IDLE;"); | 96 | asm("IDLE;"); |
| 69 | local_irq_restore(flags); | 97 | |
| 70 | bfin_write32(SIC_IWR0, iwr0); | 98 | bfin_write32(SIC_IWR0, iwr0); |
| 71 | bfin_write32(SIC_IWR1, iwr1); | 99 | bfin_write32(SIC_IWR1, iwr1); |
| 72 | bfin_write32(SIC_IWR2, iwr2); | 100 | bfin_write32(SIC_IWR2, iwr2); |
| 101 | local_irq_restore(flags); | ||
| 73 | } | 102 | } |
| 74 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 103 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
| 75 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) | 104 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT, val) |
| @@ -211,39 +240,6 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 211 | 240 | ||
| 212 | /* Two Wire Interface Registers (TWI0) */ | 241 | /* Two Wire Interface Registers (TWI0) */ |
| 213 | 242 | ||
| 214 | #define bfin_read_TWI0_CLKDIV() bfin_read16(TWI0_CLKDIV) | ||
| 215 | #define bfin_write_TWI0_CLKDIV(val) bfin_write16(TWI0_CLKDIV, val) | ||
| 216 | #define bfin_read_TWI0_CONTROL() bfin_read16(TWI0_CONTROL) | ||
| 217 | #define bfin_write_TWI0_CONTROL(val) bfin_write16(TWI0_CONTROL, val) | ||
| 218 | #define bfin_read_TWI0_SLAVE_CTRL() bfin_read16(TWI0_SLAVE_CTRL) | ||
| 219 | #define bfin_write_TWI0_SLAVE_CTRL(val) bfin_write16(TWI0_SLAVE_CTRL, val) | ||
| 220 | #define bfin_read_TWI0_SLAVE_STAT() bfin_read16(TWI0_SLAVE_STAT) | ||
| 221 | #define bfin_write_TWI0_SLAVE_STAT(val) bfin_write16(TWI0_SLAVE_STAT, val) | ||
| 222 | #define bfin_read_TWI0_SLAVE_ADDR() bfin_read16(TWI0_SLAVE_ADDR) | ||
| 223 | #define bfin_write_TWI0_SLAVE_ADDR(val) bfin_write16(TWI0_SLAVE_ADDR, val) | ||
| 224 | #define bfin_read_TWI0_MASTER_CTRL() bfin_read16(TWI0_MASTER_CTRL) | ||
| 225 | #define bfin_write_TWI0_MASTER_CTRL(val) bfin_write16(TWI0_MASTER_CTRL, val) | ||
| 226 | #define bfin_read_TWI0_MASTER_STAT() bfin_read16(TWI0_MASTER_STAT) | ||
| 227 | #define bfin_write_TWI0_MASTER_STAT(val) bfin_write16(TWI0_MASTER_STAT, val) | ||
| 228 | #define bfin_read_TWI0_MASTER_ADDR() bfin_read16(TWI0_MASTER_ADDR) | ||
| 229 | #define bfin_write_TWI0_MASTER_ADDR(val) bfin_write16(TWI0_MASTER_ADDR, val) | ||
| 230 | #define bfin_read_TWI0_INT_STAT() bfin_read16(TWI0_INT_STAT) | ||
| 231 | #define bfin_write_TWI0_INT_STAT(val) bfin_write16(TWI0_INT_STAT, val) | ||
| 232 | #define bfin_read_TWI0_INT_MASK() bfin_read16(TWI0_INT_MASK) | ||
| 233 | #define bfin_write_TWI0_INT_MASK(val) bfin_write16(TWI0_INT_MASK, val) | ||
| 234 | #define bfin_read_TWI0_FIFO_CTRL() bfin_read16(TWI0_FIFO_CTRL) | ||
| 235 | #define bfin_write_TWI0_FIFO_CTRL(val) bfin_write16(TWI0_FIFO_CTRL, val) | ||
| 236 | #define bfin_read_TWI0_FIFO_STAT() bfin_read16(TWI0_FIFO_STAT) | ||
| 237 | #define bfin_write_TWI0_FIFO_STAT(val) bfin_write16(TWI0_FIFO_STAT, val) | ||
| 238 | #define bfin_read_TWI0_XMT_DATA8() bfin_read16(TWI0_XMT_DATA8) | ||
| 239 | #define bfin_write_TWI0_XMT_DATA8(val) bfin_write16(TWI0_XMT_DATA8, val) | ||
| 240 | #define bfin_read_TWI0_XMT_DATA16() bfin_read16(TWI0_XMT_DATA16) | ||
| 241 | #define bfin_write_TWI0_XMT_DATA16(val) bfin_write16(TWI0_XMT_DATA16, val) | ||
| 242 | #define bfin_read_TWI0_RCV_DATA8() bfin_read16(TWI0_RCV_DATA8) | ||
| 243 | #define bfin_write_TWI0_RCV_DATA8(val) bfin_write16(TWI0_RCV_DATA8, val) | ||
| 244 | #define bfin_read_TWI0_RCV_DATA16() bfin_read16(TWI0_RCV_DATA16) | ||
| 245 | #define bfin_write_TWI0_RCV_DATA16(val) bfin_write16(TWI0_RCV_DATA16, val) | ||
| 246 | |||
| 247 | /* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */ | 243 | /* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */ |
| 248 | 244 | ||
| 249 | /* SPORT1 Registers */ | 245 | /* SPORT1 Registers */ |
| @@ -323,7 +319,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 323 | #define bfin_read_EBIU_DDRQUE() bfin_read32(EBIU_DDRQUE) | 319 | #define bfin_read_EBIU_DDRQUE() bfin_read32(EBIU_DDRQUE) |
| 324 | #define bfin_write_EBIU_DDRQUE(val) bfin_write32(EBIU_DDRQUE, val) | 320 | #define bfin_write_EBIU_DDRQUE(val) bfin_write32(EBIU_DDRQUE, val) |
| 325 | #define bfin_read_EBIU_ERRADD() bfin_read32(EBIU_ERRADD) | 321 | #define bfin_read_EBIU_ERRADD() bfin_read32(EBIU_ERRADD) |
| 326 | #define bfin_write_EBIU_ERRADD(val) bfin_write32(EBIU_ERRADD) | 322 | #define bfin_write_EBIU_ERRADD(val) bfin_write32(EBIU_ERRADD, val) |
| 327 | #define bfin_read_EBIU_ERRMST() bfin_read16(EBIU_ERRMST) | 323 | #define bfin_read_EBIU_ERRMST() bfin_read16(EBIU_ERRMST) |
| 328 | #define bfin_write_EBIU_ERRMST(val) bfin_write16(EBIU_ERRMST, val) | 324 | #define bfin_write_EBIU_ERRMST(val) bfin_write16(EBIU_ERRMST, val) |
| 329 | #define bfin_read_EBIU_RSTCTL() bfin_read16(EBIU_RSTCTL) | 325 | #define bfin_read_EBIU_RSTCTL() bfin_read16(EBIU_RSTCTL) |
| @@ -392,23 +388,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 392 | /* DMA Channel 0 Registers */ | 388 | /* DMA Channel 0 Registers */ |
| 393 | 389 | ||
| 394 | #define bfin_read_DMA0_NEXT_DESC_PTR() bfin_read32(DMA0_NEXT_DESC_PTR) | 390 | #define bfin_read_DMA0_NEXT_DESC_PTR() bfin_read32(DMA0_NEXT_DESC_PTR) |
| 395 | #define bfin_write_DMA0_NEXT_DESC_PTR(val) bfin_write32(DMA0_NEXT_DESC_PTR) | 391 | #define bfin_write_DMA0_NEXT_DESC_PTR(val) bfin_write32(DMA0_NEXT_DESC_PTR, val) |
| 396 | #define bfin_read_DMA0_START_ADDR() bfin_read32(DMA0_START_ADDR) | 392 | #define bfin_read_DMA0_START_ADDR() bfin_read32(DMA0_START_ADDR) |
| 397 | #define bfin_write_DMA0_START_ADDR(val) bfin_write32(DMA0_START_ADDR) | 393 | #define bfin_write_DMA0_START_ADDR(val) bfin_write32(DMA0_START_ADDR, val) |
| 398 | #define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG) | 394 | #define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG) |
| 399 | #define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG, val) | 395 | #define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG, val) |
| 400 | #define bfin_read_DMA0_X_COUNT() bfin_read16(DMA0_X_COUNT) | 396 | #define bfin_read_DMA0_X_COUNT() bfin_read16(DMA0_X_COUNT) |
| 401 | #define bfin_write_DMA0_X_COUNT(val) bfin_write16(DMA0_X_COUNT, val) | 397 | #define bfin_write_DMA0_X_COUNT(val) bfin_write16(DMA0_X_COUNT, val) |
| 402 | #define bfin_read_DMA0_X_MODIFY() bfin_read16(DMA0_X_MODIFY) | 398 | #define bfin_read_DMA0_X_MODIFY() bfin_read16(DMA0_X_MODIFY) |
| 403 | #define bfin_write_DMA0_X_MODIFY(val) bfin_write16(DMA0_X_MODIFY) | 399 | #define bfin_write_DMA0_X_MODIFY(val) bfin_write16(DMA0_X_MODIFY, val) |
| 404 | #define bfin_read_DMA0_Y_COUNT() bfin_read16(DMA0_Y_COUNT) | 400 | #define bfin_read_DMA0_Y_COUNT() bfin_read16(DMA0_Y_COUNT) |
| 405 | #define bfin_write_DMA0_Y_COUNT(val) bfin_write16(DMA0_Y_COUNT, val) | 401 | #define bfin_write_DMA0_Y_COUNT(val) bfin_write16(DMA0_Y_COUNT, val) |
| 406 | #define bfin_read_DMA0_Y_MODIFY() bfin_read16(DMA0_Y_MODIFY) | 402 | #define bfin_read_DMA0_Y_MODIFY() bfin_read16(DMA0_Y_MODIFY) |
| 407 | #define bfin_write_DMA0_Y_MODIFY(val) bfin_write16(DMA0_Y_MODIFY) | 403 | #define bfin_write_DMA0_Y_MODIFY(val) bfin_write16(DMA0_Y_MODIFY, val) |
| 408 | #define bfin_read_DMA0_CURR_DESC_PTR() bfin_read32(DMA0_CURR_DESC_PTR) | 404 | #define bfin_read_DMA0_CURR_DESC_PTR() bfin_read32(DMA0_CURR_DESC_PTR) |
| 409 | #define bfin_write_DMA0_CURR_DESC_PTR(val) bfin_write32(DMA0_CURR_DESC_PTR) | 405 | #define bfin_write_DMA0_CURR_DESC_PTR(val) bfin_write32(DMA0_CURR_DESC_PTR, val) |
| 410 | #define bfin_read_DMA0_CURR_ADDR() bfin_read32(DMA0_CURR_ADDR) | 406 | #define bfin_read_DMA0_CURR_ADDR() bfin_read32(DMA0_CURR_ADDR) |
| 411 | #define bfin_write_DMA0_CURR_ADDR(val) bfin_write32(DMA0_CURR_ADDR) | 407 | #define bfin_write_DMA0_CURR_ADDR(val) bfin_write32(DMA0_CURR_ADDR, val) |
| 412 | #define bfin_read_DMA0_IRQ_STATUS() bfin_read16(DMA0_IRQ_STATUS) | 408 | #define bfin_read_DMA0_IRQ_STATUS() bfin_read16(DMA0_IRQ_STATUS) |
| 413 | #define bfin_write_DMA0_IRQ_STATUS(val) bfin_write16(DMA0_IRQ_STATUS, val) | 409 | #define bfin_write_DMA0_IRQ_STATUS(val) bfin_write16(DMA0_IRQ_STATUS, val) |
| 414 | #define bfin_read_DMA0_PERIPHERAL_MAP() bfin_read16(DMA0_PERIPHERAL_MAP) | 410 | #define bfin_read_DMA0_PERIPHERAL_MAP() bfin_read16(DMA0_PERIPHERAL_MAP) |
| @@ -421,23 +417,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 421 | /* DMA Channel 1 Registers */ | 417 | /* DMA Channel 1 Registers */ |
| 422 | 418 | ||
| 423 | #define bfin_read_DMA1_NEXT_DESC_PTR() bfin_read32(DMA1_NEXT_DESC_PTR) | 419 | #define bfin_read_DMA1_NEXT_DESC_PTR() bfin_read32(DMA1_NEXT_DESC_PTR) |
| 424 | #define bfin_write_DMA1_NEXT_DESC_PTR(val) bfin_write32(DMA1_NEXT_DESC_PTR) | 420 | #define bfin_write_DMA1_NEXT_DESC_PTR(val) bfin_write32(DMA1_NEXT_DESC_PTR, val) |
| 425 | #define bfin_read_DMA1_START_ADDR() bfin_read32(DMA1_START_ADDR) | 421 | #define bfin_read_DMA1_START_ADDR() bfin_read32(DMA1_START_ADDR) |
| 426 | #define bfin_write_DMA1_START_ADDR(val) bfin_write32(DMA1_START_ADDR) | 422 | #define bfin_write_DMA1_START_ADDR(val) bfin_write32(DMA1_START_ADDR, val) |
| 427 | #define bfin_read_DMA1_CONFIG() bfin_read16(DMA1_CONFIG) | 423 | #define bfin_read_DMA1_CONFIG() bfin_read16(DMA1_CONFIG) |
| 428 | #define bfin_write_DMA1_CONFIG(val) bfin_write16(DMA1_CONFIG, val) | 424 | #define bfin_write_DMA1_CONFIG(val) bfin_write16(DMA1_CONFIG, val) |
| 429 | #define bfin_read_DMA1_X_COUNT() bfin_read16(DMA1_X_COUNT) | 425 | #define bfin_read_DMA1_X_COUNT() bfin_read16(DMA1_X_COUNT) |
| 430 | #define bfin_write_DMA1_X_COUNT(val) bfin_write16(DMA1_X_COUNT, val) | 426 | #define bfin_write_DMA1_X_COUNT(val) bfin_write16(DMA1_X_COUNT, val) |
| 431 | #define bfin_read_DMA1_X_MODIFY() bfin_read16(DMA1_X_MODIFY) | 427 | #define bfin_read_DMA1_X_MODIFY() bfin_read16(DMA1_X_MODIFY) |
| 432 | #define bfin_write_DMA1_X_MODIFY(val) bfin_write16(DMA1_X_MODIFY) | 428 | #define bfin_write_DMA1_X_MODIFY(val) bfin_write16(DMA1_X_MODIFY, val) |
| 433 | #define bfin_read_DMA1_Y_COUNT() bfin_read16(DMA1_Y_COUNT) | 429 | #define bfin_read_DMA1_Y_COUNT() bfin_read16(DMA1_Y_COUNT) |
| 434 | #define bfin_write_DMA1_Y_COUNT(val) bfin_write16(DMA1_Y_COUNT, val) | 430 | #define bfin_write_DMA1_Y_COUNT(val) bfin_write16(DMA1_Y_COUNT, val) |
| 435 | #define bfin_read_DMA1_Y_MODIFY() bfin_read16(DMA1_Y_MODIFY) | 431 | #define bfin_read_DMA1_Y_MODIFY() bfin_read16(DMA1_Y_MODIFY) |
| 436 | #define bfin_write_DMA1_Y_MODIFY(val) bfin_write16(DMA1_Y_MODIFY) | 432 | #define bfin_write_DMA1_Y_MODIFY(val) bfin_write16(DMA1_Y_MODIFY, val) |
| 437 | #define bfin_read_DMA1_CURR_DESC_PTR() bfin_read32(DMA1_CURR_DESC_PTR) | 433 | #define bfin_read_DMA1_CURR_DESC_PTR() bfin_read32(DMA1_CURR_DESC_PTR) |
| 438 | #define bfin_write_DMA1_CURR_DESC_PTR(val) bfin_write32(DMA1_CURR_DESC_PTR) | 434 | #define bfin_write_DMA1_CURR_DESC_PTR(val) bfin_write32(DMA1_CURR_DESC_PTR, val) |
| 439 | #define bfin_read_DMA1_CURR_ADDR() bfin_read32(DMA1_CURR_ADDR) | 435 | #define bfin_read_DMA1_CURR_ADDR() bfin_read32(DMA1_CURR_ADDR) |
| 440 | #define bfin_write_DMA1_CURR_ADDR(val) bfin_write32(DMA1_CURR_ADDR) | 436 | #define bfin_write_DMA1_CURR_ADDR(val) bfin_write32(DMA1_CURR_ADDR, val) |
| 441 | #define bfin_read_DMA1_IRQ_STATUS() bfin_read16(DMA1_IRQ_STATUS) | 437 | #define bfin_read_DMA1_IRQ_STATUS() bfin_read16(DMA1_IRQ_STATUS) |
| 442 | #define bfin_write_DMA1_IRQ_STATUS(val) bfin_write16(DMA1_IRQ_STATUS, val) | 438 | #define bfin_write_DMA1_IRQ_STATUS(val) bfin_write16(DMA1_IRQ_STATUS, val) |
| 443 | #define bfin_read_DMA1_PERIPHERAL_MAP() bfin_read16(DMA1_PERIPHERAL_MAP) | 439 | #define bfin_read_DMA1_PERIPHERAL_MAP() bfin_read16(DMA1_PERIPHERAL_MAP) |
| @@ -450,23 +446,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 450 | /* DMA Channel 2 Registers */ | 446 | /* DMA Channel 2 Registers */ |
| 451 | 447 | ||
| 452 | #define bfin_read_DMA2_NEXT_DESC_PTR() bfin_read32(DMA2_NEXT_DESC_PTR) | 448 | #define bfin_read_DMA2_NEXT_DESC_PTR() bfin_read32(DMA2_NEXT_DESC_PTR) |
| 453 | #define bfin_write_DMA2_NEXT_DESC_PTR(val) bfin_write32(DMA2_NEXT_DESC_PTR) | 449 | #define bfin_write_DMA2_NEXT_DESC_PTR(val) bfin_write32(DMA2_NEXT_DESC_PTR, val) |
| 454 | #define bfin_read_DMA2_START_ADDR() bfin_read32(DMA2_START_ADDR) | 450 | #define bfin_read_DMA2_START_ADDR() bfin_read32(DMA2_START_ADDR) |
| 455 | #define bfin_write_DMA2_START_ADDR(val) bfin_write32(DMA2_START_ADDR) | 451 | #define bfin_write_DMA2_START_ADDR(val) bfin_write32(DMA2_START_ADDR, val) |
| 456 | #define bfin_read_DMA2_CONFIG() bfin_read16(DMA2_CONFIG) | 452 | #define bfin_read_DMA2_CONFIG() bfin_read16(DMA2_CONFIG) |
| 457 | #define bfin_write_DMA2_CONFIG(val) bfin_write16(DMA2_CONFIG, val) | 453 | #define bfin_write_DMA2_CONFIG(val) bfin_write16(DMA2_CONFIG, val) |
| 458 | #define bfin_read_DMA2_X_COUNT() bfin_read16(DMA2_X_COUNT) | 454 | #define bfin_read_DMA2_X_COUNT() bfin_read16(DMA2_X_COUNT) |
| 459 | #define bfin_write_DMA2_X_COUNT(val) bfin_write16(DMA2_X_COUNT, val) | 455 | #define bfin_write_DMA2_X_COUNT(val) bfin_write16(DMA2_X_COUNT, val) |
| 460 | #define bfin_read_DMA2_X_MODIFY() bfin_read16(DMA2_X_MODIFY) | 456 | #define bfin_read_DMA2_X_MODIFY() bfin_read16(DMA2_X_MODIFY) |
| 461 | #define bfin_write_DMA2_X_MODIFY(val) bfin_write16(DMA2_X_MODIFY) | 457 | #define bfin_write_DMA2_X_MODIFY(val) bfin_write16(DMA2_X_MODIFY, val) |
| 462 | #define bfin_read_DMA2_Y_COUNT() bfin_read16(DMA2_Y_COUNT) | 458 | #define bfin_read_DMA2_Y_COUNT() bfin_read16(DMA2_Y_COUNT) |
| 463 | #define bfin_write_DMA2_Y_COUNT(val) bfin_write16(DMA2_Y_COUNT, val) | 459 | #define bfin_write_DMA2_Y_COUNT(val) bfin_write16(DMA2_Y_COUNT, val) |
| 464 | #define bfin_read_DMA2_Y_MODIFY() bfin_read16(DMA2_Y_MODIFY) | 460 | #define bfin_read_DMA2_Y_MODIFY() bfin_read16(DMA2_Y_MODIFY) |
| 465 | #define bfin_write_DMA2_Y_MODIFY(val) bfin_write16(DMA2_Y_MODIFY) | 461 | #define bfin_write_DMA2_Y_MODIFY(val) bfin_write16(DMA2_Y_MODIFY, val) |
| 466 | #define bfin_read_DMA2_CURR_DESC_PTR() bfin_read32(DMA2_CURR_DESC_PTR) | 462 | #define bfin_read_DMA2_CURR_DESC_PTR() bfin_read32(DMA2_CURR_DESC_PTR) |
| 467 | #define bfin_write_DMA2_CURR_DESC_PTR(val) bfin_write32(DMA2_CURR_DESC_PTR) | 463 | #define bfin_write_DMA2_CURR_DESC_PTR(val) bfin_write32(DMA2_CURR_DESC_PTR, val) |
| 468 | #define bfin_read_DMA2_CURR_ADDR() bfin_read32(DMA2_CURR_ADDR) | 464 | #define bfin_read_DMA2_CURR_ADDR() bfin_read32(DMA2_CURR_ADDR) |
| 469 | #define bfin_write_DMA2_CURR_ADDR(val) bfin_write32(DMA2_CURR_ADDR) | 465 | #define bfin_write_DMA2_CURR_ADDR(val) bfin_write32(DMA2_CURR_ADDR, val) |
| 470 | #define bfin_read_DMA2_IRQ_STATUS() bfin_read16(DMA2_IRQ_STATUS) | 466 | #define bfin_read_DMA2_IRQ_STATUS() bfin_read16(DMA2_IRQ_STATUS) |
| 471 | #define bfin_write_DMA2_IRQ_STATUS(val) bfin_write16(DMA2_IRQ_STATUS, val) | 467 | #define bfin_write_DMA2_IRQ_STATUS(val) bfin_write16(DMA2_IRQ_STATUS, val) |
| 472 | #define bfin_read_DMA2_PERIPHERAL_MAP() bfin_read16(DMA2_PERIPHERAL_MAP) | 468 | #define bfin_read_DMA2_PERIPHERAL_MAP() bfin_read16(DMA2_PERIPHERAL_MAP) |
| @@ -479,23 +475,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 479 | /* DMA Channel 3 Registers */ | 475 | /* DMA Channel 3 Registers */ |
| 480 | 476 | ||
| 481 | #define bfin_read_DMA3_NEXT_DESC_PTR() bfin_read32(DMA3_NEXT_DESC_PTR) | 477 | #define bfin_read_DMA3_NEXT_DESC_PTR() bfin_read32(DMA3_NEXT_DESC_PTR) |
| 482 | #define bfin_write_DMA3_NEXT_DESC_PTR(val) bfin_write32(DMA3_NEXT_DESC_PTR) | 478 | #define bfin_write_DMA3_NEXT_DESC_PTR(val) bfin_write32(DMA3_NEXT_DESC_PTR, val) |
| 483 | #define bfin_read_DMA3_START_ADDR() bfin_read32(DMA3_START_ADDR) | 479 | #define bfin_read_DMA3_START_ADDR() bfin_read32(DMA3_START_ADDR) |
| 484 | #define bfin_write_DMA3_START_ADDR(val) bfin_write32(DMA3_START_ADDR) | 480 | #define bfin_write_DMA3_START_ADDR(val) bfin_write32(DMA3_START_ADDR, val) |
| 485 | #define bfin_read_DMA3_CONFIG() bfin_read16(DMA3_CONFIG) | 481 | #define bfin_read_DMA3_CONFIG() bfin_read16(DMA3_CONFIG) |
| 486 | #define bfin_write_DMA3_CONFIG(val) bfin_write16(DMA3_CONFIG, val) | 482 | #define bfin_write_DMA3_CONFIG(val) bfin_write16(DMA3_CONFIG, val) |
| 487 | #define bfin_read_DMA3_X_COUNT() bfin_read16(DMA3_X_COUNT) | 483 | #define bfin_read_DMA3_X_COUNT() bfin_read16(DMA3_X_COUNT) |
| 488 | #define bfin_write_DMA3_X_COUNT(val) bfin_write16(DMA3_X_COUNT, val) | 484 | #define bfin_write_DMA3_X_COUNT(val) bfin_write16(DMA3_X_COUNT, val) |
| 489 | #define bfin_read_DMA3_X_MODIFY() bfin_read16(DMA3_X_MODIFY) | 485 | #define bfin_read_DMA3_X_MODIFY() bfin_read16(DMA3_X_MODIFY) |
| 490 | #define bfin_write_DMA3_X_MODIFY(val) bfin_write16(DMA3_X_MODIFY) | 486 | #define bfin_write_DMA3_X_MODIFY(val) bfin_write16(DMA3_X_MODIFY, val) |
| 491 | #define bfin_read_DMA3_Y_COUNT() bfin_read16(DMA3_Y_COUNT) | 487 | #define bfin_read_DMA3_Y_COUNT() bfin_read16(DMA3_Y_COUNT) |
| 492 | #define bfin_write_DMA3_Y_COUNT(val) bfin_write16(DMA3_Y_COUNT, val) | 488 | #define bfin_write_DMA3_Y_COUNT(val) bfin_write16(DMA3_Y_COUNT, val) |
| 493 | #define bfin_read_DMA3_Y_MODIFY() bfin_read16(DMA3_Y_MODIFY) | 489 | #define bfin_read_DMA3_Y_MODIFY() bfin_read16(DMA3_Y_MODIFY) |
| 494 | #define bfin_write_DMA3_Y_MODIFY(val) bfin_write16(DMA3_Y_MODIFY) | 490 | #define bfin_write_DMA3_Y_MODIFY(val) bfin_write16(DMA3_Y_MODIFY, val) |
| 495 | #define bfin_read_DMA3_CURR_DESC_PTR() bfin_read32(DMA3_CURR_DESC_PTR) | 491 | #define bfin_read_DMA3_CURR_DESC_PTR() bfin_read32(DMA3_CURR_DESC_PTR) |
| 496 | #define bfin_write_DMA3_CURR_DESC_PTR(val) bfin_write32(DMA3_CURR_DESC_PTR) | 492 | #define bfin_write_DMA3_CURR_DESC_PTR(val) bfin_write32(DMA3_CURR_DESC_PTR, val) |
| 497 | #define bfin_read_DMA3_CURR_ADDR() bfin_read32(DMA3_CURR_ADDR) | 493 | #define bfin_read_DMA3_CURR_ADDR() bfin_read32(DMA3_CURR_ADDR) |
| 498 | #define bfin_write_DMA3_CURR_ADDR(val) bfin_write32(DMA3_CURR_ADDR) | 494 | #define bfin_write_DMA3_CURR_ADDR(val) bfin_write32(DMA3_CURR_ADDR, val) |
| 499 | #define bfin_read_DMA3_IRQ_STATUS() bfin_read16(DMA3_IRQ_STATUS) | 495 | #define bfin_read_DMA3_IRQ_STATUS() bfin_read16(DMA3_IRQ_STATUS) |
| 500 | #define bfin_write_DMA3_IRQ_STATUS(val) bfin_write16(DMA3_IRQ_STATUS, val) | 496 | #define bfin_write_DMA3_IRQ_STATUS(val) bfin_write16(DMA3_IRQ_STATUS, val) |
| 501 | #define bfin_read_DMA3_PERIPHERAL_MAP() bfin_read16(DMA3_PERIPHERAL_MAP) | 497 | #define bfin_read_DMA3_PERIPHERAL_MAP() bfin_read16(DMA3_PERIPHERAL_MAP) |
| @@ -508,23 +504,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 508 | /* DMA Channel 4 Registers */ | 504 | /* DMA Channel 4 Registers */ |
| 509 | 505 | ||
| 510 | #define bfin_read_DMA4_NEXT_DESC_PTR() bfin_read32(DMA4_NEXT_DESC_PTR) | 506 | #define bfin_read_DMA4_NEXT_DESC_PTR() bfin_read32(DMA4_NEXT_DESC_PTR) |
| 511 | #define bfin_write_DMA4_NEXT_DESC_PTR(val) bfin_write32(DMA4_NEXT_DESC_PTR) | 507 | #define bfin_write_DMA4_NEXT_DESC_PTR(val) bfin_write32(DMA4_NEXT_DESC_PTR, val) |
| 512 | #define bfin_read_DMA4_START_ADDR() bfin_read32(DMA4_START_ADDR) | 508 | #define bfin_read_DMA4_START_ADDR() bfin_read32(DMA4_START_ADDR) |
| 513 | #define bfin_write_DMA4_START_ADDR(val) bfin_write32(DMA4_START_ADDR) | 509 | #define bfin_write_DMA4_START_ADDR(val) bfin_write32(DMA4_START_ADDR, val) |
| 514 | #define bfin_read_DMA4_CONFIG() bfin_read16(DMA4_CONFIG) | 510 | #define bfin_read_DMA4_CONFIG() bfin_read16(DMA4_CONFIG) |
| 515 | #define bfin_write_DMA4_CONFIG(val) bfin_write16(DMA4_CONFIG, val) | 511 | #define bfin_write_DMA4_CONFIG(val) bfin_write16(DMA4_CONFIG, val) |
| 516 | #define bfin_read_DMA4_X_COUNT() bfin_read16(DMA4_X_COUNT) | 512 | #define bfin_read_DMA4_X_COUNT() bfin_read16(DMA4_X_COUNT) |
| 517 | #define bfin_write_DMA4_X_COUNT(val) bfin_write16(DMA4_X_COUNT, val) | 513 | #define bfin_write_DMA4_X_COUNT(val) bfin_write16(DMA4_X_COUNT, val) |
| 518 | #define bfin_read_DMA4_X_MODIFY() bfin_read16(DMA4_X_MODIFY) | 514 | #define bfin_read_DMA4_X_MODIFY() bfin_read16(DMA4_X_MODIFY) |
| 519 | #define bfin_write_DMA4_X_MODIFY(val) bfin_write16(DMA4_X_MODIFY) | 515 | #define bfin_write_DMA4_X_MODIFY(val) bfin_write16(DMA4_X_MODIFY, val) |
| 520 | #define bfin_read_DMA4_Y_COUNT() bfin_read16(DMA4_Y_COUNT) | 516 | #define bfin_read_DMA4_Y_COUNT() bfin_read16(DMA4_Y_COUNT) |
| 521 | #define bfin_write_DMA4_Y_COUNT(val) bfin_write16(DMA4_Y_COUNT, val) | 517 | #define bfin_write_DMA4_Y_COUNT(val) bfin_write16(DMA4_Y_COUNT, val) |
| 522 | #define bfin_read_DMA4_Y_MODIFY() bfin_read16(DMA4_Y_MODIFY) | 518 | #define bfin_read_DMA4_Y_MODIFY() bfin_read16(DMA4_Y_MODIFY) |
| 523 | #define bfin_write_DMA4_Y_MODIFY(val) bfin_write16(DMA4_Y_MODIFY) | 519 | #define bfin_write_DMA4_Y_MODIFY(val) bfin_write16(DMA4_Y_MODIFY, val) |
| 524 | #define bfin_read_DMA4_CURR_DESC_PTR() bfin_read32(DMA4_CURR_DESC_PTR) | 520 | #define bfin_read_DMA4_CURR_DESC_PTR() bfin_read32(DMA4_CURR_DESC_PTR) |
| 525 | #define bfin_write_DMA4_CURR_DESC_PTR(val) bfin_write32(DMA4_CURR_DESC_PTR) | 521 | #define bfin_write_DMA4_CURR_DESC_PTR(val) bfin_write32(DMA4_CURR_DESC_PTR, val) |
| 526 | #define bfin_read_DMA4_CURR_ADDR() bfin_read32(DMA4_CURR_ADDR) | 522 | #define bfin_read_DMA4_CURR_ADDR() bfin_read32(DMA4_CURR_ADDR) |
| 527 | #define bfin_write_DMA4_CURR_ADDR(val) bfin_write32(DMA4_CURR_ADDR) | 523 | #define bfin_write_DMA4_CURR_ADDR(val) bfin_write32(DMA4_CURR_ADDR, val) |
| 528 | #define bfin_read_DMA4_IRQ_STATUS() bfin_read16(DMA4_IRQ_STATUS) | 524 | #define bfin_read_DMA4_IRQ_STATUS() bfin_read16(DMA4_IRQ_STATUS) |
| 529 | #define bfin_write_DMA4_IRQ_STATUS(val) bfin_write16(DMA4_IRQ_STATUS, val) | 525 | #define bfin_write_DMA4_IRQ_STATUS(val) bfin_write16(DMA4_IRQ_STATUS, val) |
| 530 | #define bfin_read_DMA4_PERIPHERAL_MAP() bfin_read16(DMA4_PERIPHERAL_MAP) | 526 | #define bfin_read_DMA4_PERIPHERAL_MAP() bfin_read16(DMA4_PERIPHERAL_MAP) |
| @@ -537,23 +533,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 537 | /* DMA Channel 5 Registers */ | 533 | /* DMA Channel 5 Registers */ |
| 538 | 534 | ||
| 539 | #define bfin_read_DMA5_NEXT_DESC_PTR() bfin_read32(DMA5_NEXT_DESC_PTR) | 535 | #define bfin_read_DMA5_NEXT_DESC_PTR() bfin_read32(DMA5_NEXT_DESC_PTR) |
| 540 | #define bfin_write_DMA5_NEXT_DESC_PTR(val) bfin_write32(DMA5_NEXT_DESC_PTR) | 536 | #define bfin_write_DMA5_NEXT_DESC_PTR(val) bfin_write32(DMA5_NEXT_DESC_PTR, val) |
| 541 | #define bfin_read_DMA5_START_ADDR() bfin_read32(DMA5_START_ADDR) | 537 | #define bfin_read_DMA5_START_ADDR() bfin_read32(DMA5_START_ADDR) |
| 542 | #define bfin_write_DMA5_START_ADDR(val) bfin_write32(DMA5_START_ADDR) | 538 | #define bfin_write_DMA5_START_ADDR(val) bfin_write32(DMA5_START_ADDR, val) |
| 543 | #define bfin_read_DMA5_CONFIG() bfin_read16(DMA5_CONFIG) | 539 | #define bfin_read_DMA5_CONFIG() bfin_read16(DMA5_CONFIG) |
| 544 | #define bfin_write_DMA5_CONFIG(val) bfin_write16(DMA5_CONFIG, val) | 540 | #define bfin_write_DMA5_CONFIG(val) bfin_write16(DMA5_CONFIG, val) |
| 545 | #define bfin_read_DMA5_X_COUNT() bfin_read16(DMA5_X_COUNT) | 541 | #define bfin_read_DMA5_X_COUNT() bfin_read16(DMA5_X_COUNT) |
| 546 | #define bfin_write_DMA5_X_COUNT(val) bfin_write16(DMA5_X_COUNT, val) | 542 | #define bfin_write_DMA5_X_COUNT(val) bfin_write16(DMA5_X_COUNT, val) |
| 547 | #define bfin_read_DMA5_X_MODIFY() bfin_read16(DMA5_X_MODIFY) | 543 | #define bfin_read_DMA5_X_MODIFY() bfin_read16(DMA5_X_MODIFY) |
| 548 | #define bfin_write_DMA5_X_MODIFY(val) bfin_write16(DMA5_X_MODIFY) | 544 | #define bfin_write_DMA5_X_MODIFY(val) bfin_write16(DMA5_X_MODIFY, val) |
| 549 | #define bfin_read_DMA5_Y_COUNT() bfin_read16(DMA5_Y_COUNT) | 545 | #define bfin_read_DMA5_Y_COUNT() bfin_read16(DMA5_Y_COUNT) |
| 550 | #define bfin_write_DMA5_Y_COUNT(val) bfin_write16(DMA5_Y_COUNT, val) | 546 | #define bfin_write_DMA5_Y_COUNT(val) bfin_write16(DMA5_Y_COUNT, val) |
| 551 | #define bfin_read_DMA5_Y_MODIFY() bfin_read16(DMA5_Y_MODIFY) | 547 | #define bfin_read_DMA5_Y_MODIFY() bfin_read16(DMA5_Y_MODIFY) |
| 552 | #define bfin_write_DMA5_Y_MODIFY(val) bfin_write16(DMA5_Y_MODIFY) | 548 | #define bfin_write_DMA5_Y_MODIFY(val) bfin_write16(DMA5_Y_MODIFY, val) |
| 553 | #define bfin_read_DMA5_CURR_DESC_PTR() bfin_read32(DMA5_CURR_DESC_PTR) | 549 | #define bfin_read_DMA5_CURR_DESC_PTR() bfin_read32(DMA5_CURR_DESC_PTR) |
| 554 | #define bfin_write_DMA5_CURR_DESC_PTR(val) bfin_write32(DMA5_CURR_DESC_PTR) | 550 | #define bfin_write_DMA5_CURR_DESC_PTR(val) bfin_write32(DMA5_CURR_DESC_PTR, val) |
| 555 | #define bfin_read_DMA5_CURR_ADDR() bfin_read32(DMA5_CURR_ADDR) | 551 | #define bfin_read_DMA5_CURR_ADDR() bfin_read32(DMA5_CURR_ADDR) |
| 556 | #define bfin_write_DMA5_CURR_ADDR(val) bfin_write32(DMA5_CURR_ADDR) | 552 | #define bfin_write_DMA5_CURR_ADDR(val) bfin_write32(DMA5_CURR_ADDR, val) |
| 557 | #define bfin_read_DMA5_IRQ_STATUS() bfin_read16(DMA5_IRQ_STATUS) | 553 | #define bfin_read_DMA5_IRQ_STATUS() bfin_read16(DMA5_IRQ_STATUS) |
| 558 | #define bfin_write_DMA5_IRQ_STATUS(val) bfin_write16(DMA5_IRQ_STATUS, val) | 554 | #define bfin_write_DMA5_IRQ_STATUS(val) bfin_write16(DMA5_IRQ_STATUS, val) |
| 559 | #define bfin_read_DMA5_PERIPHERAL_MAP() bfin_read16(DMA5_PERIPHERAL_MAP) | 555 | #define bfin_read_DMA5_PERIPHERAL_MAP() bfin_read16(DMA5_PERIPHERAL_MAP) |
| @@ -566,23 +562,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 566 | /* DMA Channel 6 Registers */ | 562 | /* DMA Channel 6 Registers */ |
| 567 | 563 | ||
| 568 | #define bfin_read_DMA6_NEXT_DESC_PTR() bfin_read32(DMA6_NEXT_DESC_PTR) | 564 | #define bfin_read_DMA6_NEXT_DESC_PTR() bfin_read32(DMA6_NEXT_DESC_PTR) |
| 569 | #define bfin_write_DMA6_NEXT_DESC_PTR(val) bfin_write32(DMA6_NEXT_DESC_PTR) | 565 | #define bfin_write_DMA6_NEXT_DESC_PTR(val) bfin_write32(DMA6_NEXT_DESC_PTR, val) |
| 570 | #define bfin_read_DMA6_START_ADDR() bfin_read32(DMA6_START_ADDR) | 566 | #define bfin_read_DMA6_START_ADDR() bfin_read32(DMA6_START_ADDR) |
| 571 | #define bfin_write_DMA6_START_ADDR(val) bfin_write32(DMA6_START_ADDR) | 567 | #define bfin_write_DMA6_START_ADDR(val) bfin_write32(DMA6_START_ADDR, val) |
| 572 | #define bfin_read_DMA6_CONFIG() bfin_read16(DMA6_CONFIG) | 568 | #define bfin_read_DMA6_CONFIG() bfin_read16(DMA6_CONFIG) |
| 573 | #define bfin_write_DMA6_CONFIG(val) bfin_write16(DMA6_CONFIG, val) | 569 | #define bfin_write_DMA6_CONFIG(val) bfin_write16(DMA6_CONFIG, val) |
| 574 | #define bfin_read_DMA6_X_COUNT() bfin_read16(DMA6_X_COUNT) | 570 | #define bfin_read_DMA6_X_COUNT() bfin_read16(DMA6_X_COUNT) |
| 575 | #define bfin_write_DMA6_X_COUNT(val) bfin_write16(DMA6_X_COUNT, val) | 571 | #define bfin_write_DMA6_X_COUNT(val) bfin_write16(DMA6_X_COUNT, val) |
| 576 | #define bfin_read_DMA6_X_MODIFY() bfin_read16(DMA6_X_MODIFY) | 572 | #define bfin_read_DMA6_X_MODIFY() bfin_read16(DMA6_X_MODIFY) |
| 577 | #define bfin_write_DMA6_X_MODIFY(val) bfin_write16(DMA6_X_MODIFY) | 573 | #define bfin_write_DMA6_X_MODIFY(val) bfin_write16(DMA6_X_MODIFY, val) |
| 578 | #define bfin_read_DMA6_Y_COUNT() bfin_read16(DMA6_Y_COUNT) | 574 | #define bfin_read_DMA6_Y_COUNT() bfin_read16(DMA6_Y_COUNT) |
| 579 | #define bfin_write_DMA6_Y_COUNT(val) bfin_write16(DMA6_Y_COUNT, val) | 575 | #define bfin_write_DMA6_Y_COUNT(val) bfin_write16(DMA6_Y_COUNT, val) |
| 580 | #define bfin_read_DMA6_Y_MODIFY() bfin_read16(DMA6_Y_MODIFY) | 576 | #define bfin_read_DMA6_Y_MODIFY() bfin_read16(DMA6_Y_MODIFY) |
| 581 | #define bfin_write_DMA6_Y_MODIFY(val) bfin_write16(DMA6_Y_MODIFY) | 577 | #define bfin_write_DMA6_Y_MODIFY(val) bfin_write16(DMA6_Y_MODIFY, val) |
| 582 | #define bfin_read_DMA6_CURR_DESC_PTR() bfin_read32(DMA6_CURR_DESC_PTR) | 578 | #define bfin_read_DMA6_CURR_DESC_PTR() bfin_read32(DMA6_CURR_DESC_PTR) |
| 583 | #define bfin_write_DMA6_CURR_DESC_PTR(val) bfin_write32(DMA6_CURR_DESC_PTR) | 579 | #define bfin_write_DMA6_CURR_DESC_PTR(val) bfin_write32(DMA6_CURR_DESC_PTR, val) |
| 584 | #define bfin_read_DMA6_CURR_ADDR() bfin_read32(DMA6_CURR_ADDR) | 580 | #define bfin_read_DMA6_CURR_ADDR() bfin_read32(DMA6_CURR_ADDR) |
| 585 | #define bfin_write_DMA6_CURR_ADDR(val) bfin_write32(DMA6_CURR_ADDR) | 581 | #define bfin_write_DMA6_CURR_ADDR(val) bfin_write32(DMA6_CURR_ADDR, val) |
| 586 | #define bfin_read_DMA6_IRQ_STATUS() bfin_read16(DMA6_IRQ_STATUS) | 582 | #define bfin_read_DMA6_IRQ_STATUS() bfin_read16(DMA6_IRQ_STATUS) |
| 587 | #define bfin_write_DMA6_IRQ_STATUS(val) bfin_write16(DMA6_IRQ_STATUS, val) | 583 | #define bfin_write_DMA6_IRQ_STATUS(val) bfin_write16(DMA6_IRQ_STATUS, val) |
| 588 | #define bfin_read_DMA6_PERIPHERAL_MAP() bfin_read16(DMA6_PERIPHERAL_MAP) | 584 | #define bfin_read_DMA6_PERIPHERAL_MAP() bfin_read16(DMA6_PERIPHERAL_MAP) |
| @@ -595,23 +591,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 595 | /* DMA Channel 7 Registers */ | 591 | /* DMA Channel 7 Registers */ |
| 596 | 592 | ||
| 597 | #define bfin_read_DMA7_NEXT_DESC_PTR() bfin_read32(DMA7_NEXT_DESC_PTR) | 593 | #define bfin_read_DMA7_NEXT_DESC_PTR() bfin_read32(DMA7_NEXT_DESC_PTR) |
| 598 | #define bfin_write_DMA7_NEXT_DESC_PTR(val) bfin_write32(DMA7_NEXT_DESC_PTR) | 594 | #define bfin_write_DMA7_NEXT_DESC_PTR(val) bfin_write32(DMA7_NEXT_DESC_PTR, val) |
| 599 | #define bfin_read_DMA7_START_ADDR() bfin_read32(DMA7_START_ADDR) | 595 | #define bfin_read_DMA7_START_ADDR() bfin_read32(DMA7_START_ADDR) |
| 600 | #define bfin_write_DMA7_START_ADDR(val) bfin_write32(DMA7_START_ADDR) | 596 | #define bfin_write_DMA7_START_ADDR(val) bfin_write32(DMA7_START_ADDR, val) |
| 601 | #define bfin_read_DMA7_CONFIG() bfin_read16(DMA7_CONFIG) | 597 | #define bfin_read_DMA7_CONFIG() bfin_read16(DMA7_CONFIG) |
| 602 | #define bfin_write_DMA7_CONFIG(val) bfin_write16(DMA7_CONFIG, val) | 598 | #define bfin_write_DMA7_CONFIG(val) bfin_write16(DMA7_CONFIG, val) |
| 603 | #define bfin_read_DMA7_X_COUNT() bfin_read16(DMA7_X_COUNT) | 599 | #define bfin_read_DMA7_X_COUNT() bfin_read16(DMA7_X_COUNT) |
| 604 | #define bfin_write_DMA7_X_COUNT(val) bfin_write16(DMA7_X_COUNT, val) | 600 | #define bfin_write_DMA7_X_COUNT(val) bfin_write16(DMA7_X_COUNT, val) |
| 605 | #define bfin_read_DMA7_X_MODIFY() bfin_read16(DMA7_X_MODIFY) | 601 | #define bfin_read_DMA7_X_MODIFY() bfin_read16(DMA7_X_MODIFY) |
| 606 | #define bfin_write_DMA7_X_MODIFY(val) bfin_write16(DMA7_X_MODIFY) | 602 | #define bfin_write_DMA7_X_MODIFY(val) bfin_write16(DMA7_X_MODIFY, val) |
| 607 | #define bfin_read_DMA7_Y_COUNT() bfin_read16(DMA7_Y_COUNT) | 603 | #define bfin_read_DMA7_Y_COUNT() bfin_read16(DMA7_Y_COUNT) |
| 608 | #define bfin_write_DMA7_Y_COUNT(val) bfin_write16(DMA7_Y_COUNT, val) | 604 | #define bfin_write_DMA7_Y_COUNT(val) bfin_write16(DMA7_Y_COUNT, val) |
| 609 | #define bfin_read_DMA7_Y_MODIFY() bfin_read16(DMA7_Y_MODIFY) | 605 | #define bfin_read_DMA7_Y_MODIFY() bfin_read16(DMA7_Y_MODIFY) |
| 610 | #define bfin_write_DMA7_Y_MODIFY(val) bfin_write16(DMA7_Y_MODIFY) | 606 | #define bfin_write_DMA7_Y_MODIFY(val) bfin_write16(DMA7_Y_MODIFY, val) |
| 611 | #define bfin_read_DMA7_CURR_DESC_PTR() bfin_read32(DMA7_CURR_DESC_PTR) | 607 | #define bfin_read_DMA7_CURR_DESC_PTR() bfin_read32(DMA7_CURR_DESC_PTR) |
| 612 | #define bfin_write_DMA7_CURR_DESC_PTR(val) bfin_write32(DMA7_CURR_DESC_PTR) | 608 | #define bfin_write_DMA7_CURR_DESC_PTR(val) bfin_write32(DMA7_CURR_DESC_PTR, val) |
| 613 | #define bfin_read_DMA7_CURR_ADDR() bfin_read32(DMA7_CURR_ADDR) | 609 | #define bfin_read_DMA7_CURR_ADDR() bfin_read32(DMA7_CURR_ADDR) |
| 614 | #define bfin_write_DMA7_CURR_ADDR(val) bfin_write32(DMA7_CURR_ADDR) | 610 | #define bfin_write_DMA7_CURR_ADDR(val) bfin_write32(DMA7_CURR_ADDR, val) |
| 615 | #define bfin_read_DMA7_IRQ_STATUS() bfin_read16(DMA7_IRQ_STATUS) | 611 | #define bfin_read_DMA7_IRQ_STATUS() bfin_read16(DMA7_IRQ_STATUS) |
| 616 | #define bfin_write_DMA7_IRQ_STATUS(val) bfin_write16(DMA7_IRQ_STATUS, val) | 612 | #define bfin_write_DMA7_IRQ_STATUS(val) bfin_write16(DMA7_IRQ_STATUS, val) |
| 617 | #define bfin_read_DMA7_PERIPHERAL_MAP() bfin_read16(DMA7_PERIPHERAL_MAP) | 613 | #define bfin_read_DMA7_PERIPHERAL_MAP() bfin_read16(DMA7_PERIPHERAL_MAP) |
| @@ -624,23 +620,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 624 | /* DMA Channel 8 Registers */ | 620 | /* DMA Channel 8 Registers */ |
| 625 | 621 | ||
| 626 | #define bfin_read_DMA8_NEXT_DESC_PTR() bfin_read32(DMA8_NEXT_DESC_PTR) | 622 | #define bfin_read_DMA8_NEXT_DESC_PTR() bfin_read32(DMA8_NEXT_DESC_PTR) |
| 627 | #define bfin_write_DMA8_NEXT_DESC_PTR(val) bfin_write32(DMA8_NEXT_DESC_PTR) | 623 | #define bfin_write_DMA8_NEXT_DESC_PTR(val) bfin_write32(DMA8_NEXT_DESC_PTR, val) |
| 628 | #define bfin_read_DMA8_START_ADDR() bfin_read32(DMA8_START_ADDR) | 624 | #define bfin_read_DMA8_START_ADDR() bfin_read32(DMA8_START_ADDR) |
| 629 | #define bfin_write_DMA8_START_ADDR(val) bfin_write32(DMA8_START_ADDR) | 625 | #define bfin_write_DMA8_START_ADDR(val) bfin_write32(DMA8_START_ADDR, val) |
| 630 | #define bfin_read_DMA8_CONFIG() bfin_read16(DMA8_CONFIG) | 626 | #define bfin_read_DMA8_CONFIG() bfin_read16(DMA8_CONFIG) |
| 631 | #define bfin_write_DMA8_CONFIG(val) bfin_write16(DMA8_CONFIG, val) | 627 | #define bfin_write_DMA8_CONFIG(val) bfin_write16(DMA8_CONFIG, val) |
| 632 | #define bfin_read_DMA8_X_COUNT() bfin_read16(DMA8_X_COUNT) | 628 | #define bfin_read_DMA8_X_COUNT() bfin_read16(DMA8_X_COUNT) |
| 633 | #define bfin_write_DMA8_X_COUNT(val) bfin_write16(DMA8_X_COUNT, val) | 629 | #define bfin_write_DMA8_X_COUNT(val) bfin_write16(DMA8_X_COUNT, val) |
| 634 | #define bfin_read_DMA8_X_MODIFY() bfin_read16(DMA8_X_MODIFY) | 630 | #define bfin_read_DMA8_X_MODIFY() bfin_read16(DMA8_X_MODIFY) |
| 635 | #define bfin_write_DMA8_X_MODIFY(val) bfin_write16(DMA8_X_MODIFY) | 631 | #define bfin_write_DMA8_X_MODIFY(val) bfin_write16(DMA8_X_MODIFY, val) |
| 636 | #define bfin_read_DMA8_Y_COUNT() bfin_read16(DMA8_Y_COUNT) | 632 | #define bfin_read_DMA8_Y_COUNT() bfin_read16(DMA8_Y_COUNT) |
| 637 | #define bfin_write_DMA8_Y_COUNT(val) bfin_write16(DMA8_Y_COUNT, val) | 633 | #define bfin_write_DMA8_Y_COUNT(val) bfin_write16(DMA8_Y_COUNT, val) |
| 638 | #define bfin_read_DMA8_Y_MODIFY() bfin_read16(DMA8_Y_MODIFY) | 634 | #define bfin_read_DMA8_Y_MODIFY() bfin_read16(DMA8_Y_MODIFY) |
| 639 | #define bfin_write_DMA8_Y_MODIFY(val) bfin_write16(DMA8_Y_MODIFY) | 635 | #define bfin_write_DMA8_Y_MODIFY(val) bfin_write16(DMA8_Y_MODIFY, val) |
| 640 | #define bfin_read_DMA8_CURR_DESC_PTR() bfin_read32(DMA8_CURR_DESC_PTR) | 636 | #define bfin_read_DMA8_CURR_DESC_PTR() bfin_read32(DMA8_CURR_DESC_PTR) |
| 641 | #define bfin_write_DMA8_CURR_DESC_PTR(val) bfin_write32(DMA8_CURR_DESC_PTR) | 637 | #define bfin_write_DMA8_CURR_DESC_PTR(val) bfin_write32(DMA8_CURR_DESC_PTR, val) |
| 642 | #define bfin_read_DMA8_CURR_ADDR() bfin_read32(DMA8_CURR_ADDR) | 638 | #define bfin_read_DMA8_CURR_ADDR() bfin_read32(DMA8_CURR_ADDR) |
| 643 | #define bfin_write_DMA8_CURR_ADDR(val) bfin_write32(DMA8_CURR_ADDR) | 639 | #define bfin_write_DMA8_CURR_ADDR(val) bfin_write32(DMA8_CURR_ADDR, val) |
| 644 | #define bfin_read_DMA8_IRQ_STATUS() bfin_read16(DMA8_IRQ_STATUS) | 640 | #define bfin_read_DMA8_IRQ_STATUS() bfin_read16(DMA8_IRQ_STATUS) |
| 645 | #define bfin_write_DMA8_IRQ_STATUS(val) bfin_write16(DMA8_IRQ_STATUS, val) | 641 | #define bfin_write_DMA8_IRQ_STATUS(val) bfin_write16(DMA8_IRQ_STATUS, val) |
| 646 | #define bfin_read_DMA8_PERIPHERAL_MAP() bfin_read16(DMA8_PERIPHERAL_MAP) | 642 | #define bfin_read_DMA8_PERIPHERAL_MAP() bfin_read16(DMA8_PERIPHERAL_MAP) |
| @@ -653,23 +649,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 653 | /* DMA Channel 9 Registers */ | 649 | /* DMA Channel 9 Registers */ |
| 654 | 650 | ||
| 655 | #define bfin_read_DMA9_NEXT_DESC_PTR() bfin_read32(DMA9_NEXT_DESC_PTR) | 651 | #define bfin_read_DMA9_NEXT_DESC_PTR() bfin_read32(DMA9_NEXT_DESC_PTR) |
| 656 | #define bfin_write_DMA9_NEXT_DESC_PTR(val) bfin_write32(DMA9_NEXT_DESC_PTR) | 652 | #define bfin_write_DMA9_NEXT_DESC_PTR(val) bfin_write32(DMA9_NEXT_DESC_PTR, val) |
| 657 | #define bfin_read_DMA9_START_ADDR() bfin_read32(DMA9_START_ADDR) | 653 | #define bfin_read_DMA9_START_ADDR() bfin_read32(DMA9_START_ADDR) |
| 658 | #define bfin_write_DMA9_START_ADDR(val) bfin_write32(DMA9_START_ADDR) | 654 | #define bfin_write_DMA9_START_ADDR(val) bfin_write32(DMA9_START_ADDR, val) |
| 659 | #define bfin_read_DMA9_CONFIG() bfin_read16(DMA9_CONFIG) | 655 | #define bfin_read_DMA9_CONFIG() bfin_read16(DMA9_CONFIG) |
| 660 | #define bfin_write_DMA9_CONFIG(val) bfin_write16(DMA9_CONFIG, val) | 656 | #define bfin_write_DMA9_CONFIG(val) bfin_write16(DMA9_CONFIG, val) |
| 661 | #define bfin_read_DMA9_X_COUNT() bfin_read16(DMA9_X_COUNT) | 657 | #define bfin_read_DMA9_X_COUNT() bfin_read16(DMA9_X_COUNT) |
| 662 | #define bfin_write_DMA9_X_COUNT(val) bfin_write16(DMA9_X_COUNT, val) | 658 | #define bfin_write_DMA9_X_COUNT(val) bfin_write16(DMA9_X_COUNT, val) |
| 663 | #define bfin_read_DMA9_X_MODIFY() bfin_read16(DMA9_X_MODIFY) | 659 | #define bfin_read_DMA9_X_MODIFY() bfin_read16(DMA9_X_MODIFY) |
| 664 | #define bfin_write_DMA9_X_MODIFY(val) bfin_write16(DMA9_X_MODIFY) | 660 | #define bfin_write_DMA9_X_MODIFY(val) bfin_write16(DMA9_X_MODIFY, val) |
| 665 | #define bfin_read_DMA9_Y_COUNT() bfin_read16(DMA9_Y_COUNT) | 661 | #define bfin_read_DMA9_Y_COUNT() bfin_read16(DMA9_Y_COUNT) |
| 666 | #define bfin_write_DMA9_Y_COUNT(val) bfin_write16(DMA9_Y_COUNT, val) | 662 | #define bfin_write_DMA9_Y_COUNT(val) bfin_write16(DMA9_Y_COUNT, val) |
| 667 | #define bfin_read_DMA9_Y_MODIFY() bfin_read16(DMA9_Y_MODIFY) | 663 | #define bfin_read_DMA9_Y_MODIFY() bfin_read16(DMA9_Y_MODIFY) |
| 668 | #define bfin_write_DMA9_Y_MODIFY(val) bfin_write16(DMA9_Y_MODIFY) | 664 | #define bfin_write_DMA9_Y_MODIFY(val) bfin_write16(DMA9_Y_MODIFY, val) |
| 669 | #define bfin_read_DMA9_CURR_DESC_PTR() bfin_read32(DMA9_CURR_DESC_PTR) | 665 | #define bfin_read_DMA9_CURR_DESC_PTR() bfin_read32(DMA9_CURR_DESC_PTR) |
| 670 | #define bfin_write_DMA9_CURR_DESC_PTR(val) bfin_write32(DMA9_CURR_DESC_PTR) | 666 | #define bfin_write_DMA9_CURR_DESC_PTR(val) bfin_write32(DMA9_CURR_DESC_PTR, val) |
| 671 | #define bfin_read_DMA9_CURR_ADDR() bfin_read32(DMA9_CURR_ADDR) | 667 | #define bfin_read_DMA9_CURR_ADDR() bfin_read32(DMA9_CURR_ADDR) |
| 672 | #define bfin_write_DMA9_CURR_ADDR(val) bfin_write32(DMA9_CURR_ADDR) | 668 | #define bfin_write_DMA9_CURR_ADDR(val) bfin_write32(DMA9_CURR_ADDR, val) |
| 673 | #define bfin_read_DMA9_IRQ_STATUS() bfin_read16(DMA9_IRQ_STATUS) | 669 | #define bfin_read_DMA9_IRQ_STATUS() bfin_read16(DMA9_IRQ_STATUS) |
| 674 | #define bfin_write_DMA9_IRQ_STATUS(val) bfin_write16(DMA9_IRQ_STATUS, val) | 670 | #define bfin_write_DMA9_IRQ_STATUS(val) bfin_write16(DMA9_IRQ_STATUS, val) |
| 675 | #define bfin_read_DMA9_PERIPHERAL_MAP() bfin_read16(DMA9_PERIPHERAL_MAP) | 671 | #define bfin_read_DMA9_PERIPHERAL_MAP() bfin_read16(DMA9_PERIPHERAL_MAP) |
| @@ -682,23 +678,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 682 | /* DMA Channel 10 Registers */ | 678 | /* DMA Channel 10 Registers */ |
| 683 | 679 | ||
| 684 | #define bfin_read_DMA10_NEXT_DESC_PTR() bfin_read32(DMA10_NEXT_DESC_PTR) | 680 | #define bfin_read_DMA10_NEXT_DESC_PTR() bfin_read32(DMA10_NEXT_DESC_PTR) |
| 685 | #define bfin_write_DMA10_NEXT_DESC_PTR(val) bfin_write32(DMA10_NEXT_DESC_PTR) | 681 | #define bfin_write_DMA10_NEXT_DESC_PTR(val) bfin_write32(DMA10_NEXT_DESC_PTR, val) |
| 686 | #define bfin_read_DMA10_START_ADDR() bfin_read32(DMA10_START_ADDR) | 682 | #define bfin_read_DMA10_START_ADDR() bfin_read32(DMA10_START_ADDR) |
| 687 | #define bfin_write_DMA10_START_ADDR(val) bfin_write32(DMA10_START_ADDR) | 683 | #define bfin_write_DMA10_START_ADDR(val) bfin_write32(DMA10_START_ADDR, val) |
| 688 | #define bfin_read_DMA10_CONFIG() bfin_read16(DMA10_CONFIG) | 684 | #define bfin_read_DMA10_CONFIG() bfin_read16(DMA10_CONFIG) |
| 689 | #define bfin_write_DMA10_CONFIG(val) bfin_write16(DMA10_CONFIG, val) | 685 | #define bfin_write_DMA10_CONFIG(val) bfin_write16(DMA10_CONFIG, val) |
| 690 | #define bfin_read_DMA10_X_COUNT() bfin_read16(DMA10_X_COUNT) | 686 | #define bfin_read_DMA10_X_COUNT() bfin_read16(DMA10_X_COUNT) |
| 691 | #define bfin_write_DMA10_X_COUNT(val) bfin_write16(DMA10_X_COUNT, val) | 687 | #define bfin_write_DMA10_X_COUNT(val) bfin_write16(DMA10_X_COUNT, val) |
| 692 | #define bfin_read_DMA10_X_MODIFY() bfin_read16(DMA10_X_MODIFY) | 688 | #define bfin_read_DMA10_X_MODIFY() bfin_read16(DMA10_X_MODIFY) |
| 693 | #define bfin_write_DMA10_X_MODIFY(val) bfin_write16(DMA10_X_MODIFY) | 689 | #define bfin_write_DMA10_X_MODIFY(val) bfin_write16(DMA10_X_MODIFY, val) |
| 694 | #define bfin_read_DMA10_Y_COUNT() bfin_read16(DMA10_Y_COUNT) | 690 | #define bfin_read_DMA10_Y_COUNT() bfin_read16(DMA10_Y_COUNT) |
| 695 | #define bfin_write_DMA10_Y_COUNT(val) bfin_write16(DMA10_Y_COUNT, val) | 691 | #define bfin_write_DMA10_Y_COUNT(val) bfin_write16(DMA10_Y_COUNT, val) |
| 696 | #define bfin_read_DMA10_Y_MODIFY() bfin_read16(DMA10_Y_MODIFY) | 692 | #define bfin_read_DMA10_Y_MODIFY() bfin_read16(DMA10_Y_MODIFY) |
| 697 | #define bfin_write_DMA10_Y_MODIFY(val) bfin_write16(DMA10_Y_MODIFY) | 693 | #define bfin_write_DMA10_Y_MODIFY(val) bfin_write16(DMA10_Y_MODIFY, val) |
| 698 | #define bfin_read_DMA10_CURR_DESC_PTR() bfin_read32(DMA10_CURR_DESC_PTR) | 694 | #define bfin_read_DMA10_CURR_DESC_PTR() bfin_read32(DMA10_CURR_DESC_PTR) |
| 699 | #define bfin_write_DMA10_CURR_DESC_PTR(val) bfin_write32(DMA10_CURR_DESC_PTR) | 695 | #define bfin_write_DMA10_CURR_DESC_PTR(val) bfin_write32(DMA10_CURR_DESC_PTR, val) |
| 700 | #define bfin_read_DMA10_CURR_ADDR() bfin_read32(DMA10_CURR_ADDR) | 696 | #define bfin_read_DMA10_CURR_ADDR() bfin_read32(DMA10_CURR_ADDR) |
| 701 | #define bfin_write_DMA10_CURR_ADDR(val) bfin_write32(DMA10_CURR_ADDR) | 697 | #define bfin_write_DMA10_CURR_ADDR(val) bfin_write32(DMA10_CURR_ADDR, val) |
| 702 | #define bfin_read_DMA10_IRQ_STATUS() bfin_read16(DMA10_IRQ_STATUS) | 698 | #define bfin_read_DMA10_IRQ_STATUS() bfin_read16(DMA10_IRQ_STATUS) |
| 703 | #define bfin_write_DMA10_IRQ_STATUS(val) bfin_write16(DMA10_IRQ_STATUS, val) | 699 | #define bfin_write_DMA10_IRQ_STATUS(val) bfin_write16(DMA10_IRQ_STATUS, val) |
| 704 | #define bfin_read_DMA10_PERIPHERAL_MAP() bfin_read16(DMA10_PERIPHERAL_MAP) | 700 | #define bfin_read_DMA10_PERIPHERAL_MAP() bfin_read16(DMA10_PERIPHERAL_MAP) |
| @@ -711,23 +707,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 711 | /* DMA Channel 11 Registers */ | 707 | /* DMA Channel 11 Registers */ |
| 712 | 708 | ||
| 713 | #define bfin_read_DMA11_NEXT_DESC_PTR() bfin_read32(DMA11_NEXT_DESC_PTR) | 709 | #define bfin_read_DMA11_NEXT_DESC_PTR() bfin_read32(DMA11_NEXT_DESC_PTR) |
| 714 | #define bfin_write_DMA11_NEXT_DESC_PTR(val) bfin_write32(DMA11_NEXT_DESC_PTR) | 710 | #define bfin_write_DMA11_NEXT_DESC_PTR(val) bfin_write32(DMA11_NEXT_DESC_PTR, val) |
| 715 | #define bfin_read_DMA11_START_ADDR() bfin_read32(DMA11_START_ADDR) | 711 | #define bfin_read_DMA11_START_ADDR() bfin_read32(DMA11_START_ADDR) |
| 716 | #define bfin_write_DMA11_START_ADDR(val) bfin_write32(DMA11_START_ADDR) | 712 | #define bfin_write_DMA11_START_ADDR(val) bfin_write32(DMA11_START_ADDR, val) |
| 717 | #define bfin_read_DMA11_CONFIG() bfin_read16(DMA11_CONFIG) | 713 | #define bfin_read_DMA11_CONFIG() bfin_read16(DMA11_CONFIG) |
| 718 | #define bfin_write_DMA11_CONFIG(val) bfin_write16(DMA11_CONFIG, val) | 714 | #define bfin_write_DMA11_CONFIG(val) bfin_write16(DMA11_CONFIG, val) |
| 719 | #define bfin_read_DMA11_X_COUNT() bfin_read16(DMA11_X_COUNT) | 715 | #define bfin_read_DMA11_X_COUNT() bfin_read16(DMA11_X_COUNT) |
| 720 | #define bfin_write_DMA11_X_COUNT(val) bfin_write16(DMA11_X_COUNT, val) | 716 | #define bfin_write_DMA11_X_COUNT(val) bfin_write16(DMA11_X_COUNT, val) |
| 721 | #define bfin_read_DMA11_X_MODIFY() bfin_read16(DMA11_X_MODIFY) | 717 | #define bfin_read_DMA11_X_MODIFY() bfin_read16(DMA11_X_MODIFY) |
| 722 | #define bfin_write_DMA11_X_MODIFY(val) bfin_write16(DMA11_X_MODIFY) | 718 | #define bfin_write_DMA11_X_MODIFY(val) bfin_write16(DMA11_X_MODIFY, val) |
| 723 | #define bfin_read_DMA11_Y_COUNT() bfin_read16(DMA11_Y_COUNT) | 719 | #define bfin_read_DMA11_Y_COUNT() bfin_read16(DMA11_Y_COUNT) |
| 724 | #define bfin_write_DMA11_Y_COUNT(val) bfin_write16(DMA11_Y_COUNT, val) | 720 | #define bfin_write_DMA11_Y_COUNT(val) bfin_write16(DMA11_Y_COUNT, val) |
| 725 | #define bfin_read_DMA11_Y_MODIFY() bfin_read16(DMA11_Y_MODIFY) | 721 | #define bfin_read_DMA11_Y_MODIFY() bfin_read16(DMA11_Y_MODIFY) |
| 726 | #define bfin_write_DMA11_Y_MODIFY(val) bfin_write16(DMA11_Y_MODIFY) | 722 | #define bfin_write_DMA11_Y_MODIFY(val) bfin_write16(DMA11_Y_MODIFY, val) |
| 727 | #define bfin_read_DMA11_CURR_DESC_PTR() bfin_read32(DMA11_CURR_DESC_PTR) | 723 | #define bfin_read_DMA11_CURR_DESC_PTR() bfin_read32(DMA11_CURR_DESC_PTR) |
| 728 | #define bfin_write_DMA11_CURR_DESC_PTR(val) bfin_write32(DMA11_CURR_DESC_PTR) | 724 | #define bfin_write_DMA11_CURR_DESC_PTR(val) bfin_write32(DMA11_CURR_DESC_PTR, val) |
| 729 | #define bfin_read_DMA11_CURR_ADDR() bfin_read32(DMA11_CURR_ADDR) | 725 | #define bfin_read_DMA11_CURR_ADDR() bfin_read32(DMA11_CURR_ADDR) |
| 730 | #define bfin_write_DMA11_CURR_ADDR(val) bfin_write32(DMA11_CURR_ADDR) | 726 | #define bfin_write_DMA11_CURR_ADDR(val) bfin_write32(DMA11_CURR_ADDR, val) |
| 731 | #define bfin_read_DMA11_IRQ_STATUS() bfin_read16(DMA11_IRQ_STATUS) | 727 | #define bfin_read_DMA11_IRQ_STATUS() bfin_read16(DMA11_IRQ_STATUS) |
| 732 | #define bfin_write_DMA11_IRQ_STATUS(val) bfin_write16(DMA11_IRQ_STATUS, val) | 728 | #define bfin_write_DMA11_IRQ_STATUS(val) bfin_write16(DMA11_IRQ_STATUS, val) |
| 733 | #define bfin_read_DMA11_PERIPHERAL_MAP() bfin_read16(DMA11_PERIPHERAL_MAP) | 729 | #define bfin_read_DMA11_PERIPHERAL_MAP() bfin_read16(DMA11_PERIPHERAL_MAP) |
| @@ -740,7 +736,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 740 | /* MDMA Stream 0 Registers */ | 736 | /* MDMA Stream 0 Registers */ |
| 741 | 737 | ||
| 742 | #define bfin_read_MDMA_D0_NEXT_DESC_PTR() bfin_read32(MDMA_D0_NEXT_DESC_PTR) | 738 | #define bfin_read_MDMA_D0_NEXT_DESC_PTR() bfin_read32(MDMA_D0_NEXT_DESC_PTR) |
| 743 | #define bfin_write_MDMA_D0_NEXT_DESC_PTR(val) bfin_write32(MDMA_D0_NEXT_DESC_PTR) | 739 | #define bfin_write_MDMA_D0_NEXT_DESC_PTR(val) bfin_write32(MDMA_D0_NEXT_DESC_PTR, val) |
| 744 | #define bfin_read_MDMA_D0_START_ADDR() bfin_read32(MDMA_D0_START_ADDR) | 740 | #define bfin_read_MDMA_D0_START_ADDR() bfin_read32(MDMA_D0_START_ADDR) |
| 745 | #define bfin_write_MDMA_D0_START_ADDR(val) bfin_write32(MDMA_D0_START_ADDR, val) | 741 | #define bfin_write_MDMA_D0_START_ADDR(val) bfin_write32(MDMA_D0_START_ADDR, val) |
| 746 | #define bfin_read_MDMA_D0_CONFIG() bfin_read16(MDMA_D0_CONFIG) | 742 | #define bfin_read_MDMA_D0_CONFIG() bfin_read16(MDMA_D0_CONFIG) |
| @@ -803,11 +799,11 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 803 | #define bfin_read_MDMA_D1_X_COUNT() bfin_read16(MDMA_D1_X_COUNT) | 799 | #define bfin_read_MDMA_D1_X_COUNT() bfin_read16(MDMA_D1_X_COUNT) |
| 804 | #define bfin_write_MDMA_D1_X_COUNT(val) bfin_write16(MDMA_D1_X_COUNT, val) | 800 | #define bfin_write_MDMA_D1_X_COUNT(val) bfin_write16(MDMA_D1_X_COUNT, val) |
| 805 | #define bfin_read_MDMA_D1_X_MODIFY() bfin_read16(MDMA_D1_X_MODIFY) | 801 | #define bfin_read_MDMA_D1_X_MODIFY() bfin_read16(MDMA_D1_X_MODIFY) |
| 806 | #define bfin_write_MDMA_D1_X_MODIFY(val) bfin_write16(MDMA_D1_X_MODIFY) | 802 | #define bfin_write_MDMA_D1_X_MODIFY(val) bfin_write16(MDMA_D1_X_MODIFY, val) |
| 807 | #define bfin_read_MDMA_D1_Y_COUNT() bfin_read16(MDMA_D1_Y_COUNT) | 803 | #define bfin_read_MDMA_D1_Y_COUNT() bfin_read16(MDMA_D1_Y_COUNT) |
| 808 | #define bfin_write_MDMA_D1_Y_COUNT(val) bfin_write16(MDMA_D1_Y_COUNT, val) | 804 | #define bfin_write_MDMA_D1_Y_COUNT(val) bfin_write16(MDMA_D1_Y_COUNT, val) |
| 809 | #define bfin_read_MDMA_D1_Y_MODIFY() bfin_read16(MDMA_D1_Y_MODIFY) | 805 | #define bfin_read_MDMA_D1_Y_MODIFY() bfin_read16(MDMA_D1_Y_MODIFY) |
| 810 | #define bfin_write_MDMA_D1_Y_MODIFY(val) bfin_write16(MDMA_D1_Y_MODIFY) | 806 | #define bfin_write_MDMA_D1_Y_MODIFY(val) bfin_write16(MDMA_D1_Y_MODIFY, val) |
| 811 | #define bfin_read_MDMA_D1_CURR_DESC_PTR() bfin_read32(MDMA_D1_CURR_DESC_PTR) | 807 | #define bfin_read_MDMA_D1_CURR_DESC_PTR() bfin_read32(MDMA_D1_CURR_DESC_PTR) |
| 812 | #define bfin_write_MDMA_D1_CURR_DESC_PTR(val) bfin_write32(MDMA_D1_CURR_DESC_PTR, val) | 808 | #define bfin_write_MDMA_D1_CURR_DESC_PTR(val) bfin_write32(MDMA_D1_CURR_DESC_PTR, val) |
| 813 | #define bfin_read_MDMA_D1_CURR_ADDR() bfin_read32(MDMA_D1_CURR_ADDR) | 809 | #define bfin_read_MDMA_D1_CURR_ADDR() bfin_read32(MDMA_D1_CURR_ADDR) |
| @@ -829,11 +825,11 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 829 | #define bfin_read_MDMA_S1_X_COUNT() bfin_read16(MDMA_S1_X_COUNT) | 825 | #define bfin_read_MDMA_S1_X_COUNT() bfin_read16(MDMA_S1_X_COUNT) |
| 830 | #define bfin_write_MDMA_S1_X_COUNT(val) bfin_write16(MDMA_S1_X_COUNT, val) | 826 | #define bfin_write_MDMA_S1_X_COUNT(val) bfin_write16(MDMA_S1_X_COUNT, val) |
| 831 | #define bfin_read_MDMA_S1_X_MODIFY() bfin_read16(MDMA_S1_X_MODIFY) | 827 | #define bfin_read_MDMA_S1_X_MODIFY() bfin_read16(MDMA_S1_X_MODIFY) |
| 832 | #define bfin_write_MDMA_S1_X_MODIFY(val) bfin_write16(MDMA_S1_X_MODIFY) | 828 | #define bfin_write_MDMA_S1_X_MODIFY(val) bfin_write16(MDMA_S1_X_MODIFY, val) |
| 833 | #define bfin_read_MDMA_S1_Y_COUNT() bfin_read16(MDMA_S1_Y_COUNT) | 829 | #define bfin_read_MDMA_S1_Y_COUNT() bfin_read16(MDMA_S1_Y_COUNT) |
| 834 | #define bfin_write_MDMA_S1_Y_COUNT(val) bfin_write16(MDMA_S1_Y_COUNT, val) | 830 | #define bfin_write_MDMA_S1_Y_COUNT(val) bfin_write16(MDMA_S1_Y_COUNT, val) |
| 835 | #define bfin_read_MDMA_S1_Y_MODIFY() bfin_read16(MDMA_S1_Y_MODIFY) | 831 | #define bfin_read_MDMA_S1_Y_MODIFY() bfin_read16(MDMA_S1_Y_MODIFY) |
| 836 | #define bfin_write_MDMA_S1_Y_MODIFY(val) bfin_write16(MDMA_S1_Y_MODIFY) | 832 | #define bfin_write_MDMA_S1_Y_MODIFY(val) bfin_write16(MDMA_S1_Y_MODIFY, val) |
| 837 | #define bfin_read_MDMA_S1_CURR_DESC_PTR() bfin_read32(MDMA_S1_CURR_DESC_PTR) | 833 | #define bfin_read_MDMA_S1_CURR_DESC_PTR() bfin_read32(MDMA_S1_CURR_DESC_PTR) |
| 838 | #define bfin_write_MDMA_S1_CURR_DESC_PTR(val) bfin_write32(MDMA_S1_CURR_DESC_PTR, val) | 834 | #define bfin_write_MDMA_S1_CURR_DESC_PTR(val) bfin_write32(MDMA_S1_CURR_DESC_PTR, val) |
| 839 | #define bfin_read_MDMA_S1_CURR_ADDR() bfin_read32(MDMA_S1_CURR_ADDR) | 835 | #define bfin_read_MDMA_S1_CURR_ADDR() bfin_read32(MDMA_S1_CURR_ADDR) |
| @@ -1246,23 +1242,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1246 | /* DMA Channel 12 Registers */ | 1242 | /* DMA Channel 12 Registers */ |
| 1247 | 1243 | ||
| 1248 | #define bfin_read_DMA12_NEXT_DESC_PTR() bfin_read32(DMA12_NEXT_DESC_PTR) | 1244 | #define bfin_read_DMA12_NEXT_DESC_PTR() bfin_read32(DMA12_NEXT_DESC_PTR) |
| 1249 | #define bfin_write_DMA12_NEXT_DESC_PTR(val) bfin_write32(DMA12_NEXT_DESC_PTR) | 1245 | #define bfin_write_DMA12_NEXT_DESC_PTR(val) bfin_write32(DMA12_NEXT_DESC_PTR, val) |
| 1250 | #define bfin_read_DMA12_START_ADDR() bfin_read32(DMA12_START_ADDR) | 1246 | #define bfin_read_DMA12_START_ADDR() bfin_read32(DMA12_START_ADDR) |
| 1251 | #define bfin_write_DMA12_START_ADDR(val) bfin_write32(DMA12_START_ADDR) | 1247 | #define bfin_write_DMA12_START_ADDR(val) bfin_write32(DMA12_START_ADDR, val) |
| 1252 | #define bfin_read_DMA12_CONFIG() bfin_read16(DMA12_CONFIG) | 1248 | #define bfin_read_DMA12_CONFIG() bfin_read16(DMA12_CONFIG) |
| 1253 | #define bfin_write_DMA12_CONFIG(val) bfin_write16(DMA12_CONFIG, val) | 1249 | #define bfin_write_DMA12_CONFIG(val) bfin_write16(DMA12_CONFIG, val) |
| 1254 | #define bfin_read_DMA12_X_COUNT() bfin_read16(DMA12_X_COUNT) | 1250 | #define bfin_read_DMA12_X_COUNT() bfin_read16(DMA12_X_COUNT) |
| 1255 | #define bfin_write_DMA12_X_COUNT(val) bfin_write16(DMA12_X_COUNT, val) | 1251 | #define bfin_write_DMA12_X_COUNT(val) bfin_write16(DMA12_X_COUNT, val) |
| 1256 | #define bfin_read_DMA12_X_MODIFY() bfin_read16(DMA12_X_MODIFY) | 1252 | #define bfin_read_DMA12_X_MODIFY() bfin_read16(DMA12_X_MODIFY) |
| 1257 | #define bfin_write_DMA12_X_MODIFY(val) bfin_write16(DMA12_X_MODIFY) | 1253 | #define bfin_write_DMA12_X_MODIFY(val) bfin_write16(DMA12_X_MODIFY, val) |
| 1258 | #define bfin_read_DMA12_Y_COUNT() bfin_read16(DMA12_Y_COUNT) | 1254 | #define bfin_read_DMA12_Y_COUNT() bfin_read16(DMA12_Y_COUNT) |
| 1259 | #define bfin_write_DMA12_Y_COUNT(val) bfin_write16(DMA12_Y_COUNT, val) | 1255 | #define bfin_write_DMA12_Y_COUNT(val) bfin_write16(DMA12_Y_COUNT, val) |
| 1260 | #define bfin_read_DMA12_Y_MODIFY() bfin_read16(DMA12_Y_MODIFY) | 1256 | #define bfin_read_DMA12_Y_MODIFY() bfin_read16(DMA12_Y_MODIFY) |
| 1261 | #define bfin_write_DMA12_Y_MODIFY(val) bfin_write16(DMA12_Y_MODIFY) | 1257 | #define bfin_write_DMA12_Y_MODIFY(val) bfin_write16(DMA12_Y_MODIFY, val) |
| 1262 | #define bfin_read_DMA12_CURR_DESC_PTR() bfin_read32(DMA12_CURR_DESC_PTR) | 1258 | #define bfin_read_DMA12_CURR_DESC_PTR() bfin_read32(DMA12_CURR_DESC_PTR) |
| 1263 | #define bfin_write_DMA12_CURR_DESC_PTR(val) bfin_write32(DMA12_CURR_DESC_PTR) | 1259 | #define bfin_write_DMA12_CURR_DESC_PTR(val) bfin_write32(DMA12_CURR_DESC_PTR, val) |
| 1264 | #define bfin_read_DMA12_CURR_ADDR() bfin_read32(DMA12_CURR_ADDR) | 1260 | #define bfin_read_DMA12_CURR_ADDR() bfin_read32(DMA12_CURR_ADDR) |
| 1265 | #define bfin_write_DMA12_CURR_ADDR(val) bfin_write32(DMA12_CURR_ADDR) | 1261 | #define bfin_write_DMA12_CURR_ADDR(val) bfin_write32(DMA12_CURR_ADDR, val) |
| 1266 | #define bfin_read_DMA12_IRQ_STATUS() bfin_read16(DMA12_IRQ_STATUS) | 1262 | #define bfin_read_DMA12_IRQ_STATUS() bfin_read16(DMA12_IRQ_STATUS) |
| 1267 | #define bfin_write_DMA12_IRQ_STATUS(val) bfin_write16(DMA12_IRQ_STATUS, val) | 1263 | #define bfin_write_DMA12_IRQ_STATUS(val) bfin_write16(DMA12_IRQ_STATUS, val) |
| 1268 | #define bfin_read_DMA12_PERIPHERAL_MAP() bfin_read16(DMA12_PERIPHERAL_MAP) | 1264 | #define bfin_read_DMA12_PERIPHERAL_MAP() bfin_read16(DMA12_PERIPHERAL_MAP) |
| @@ -1275,23 +1271,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1275 | /* DMA Channel 13 Registers */ | 1271 | /* DMA Channel 13 Registers */ |
| 1276 | 1272 | ||
| 1277 | #define bfin_read_DMA13_NEXT_DESC_PTR() bfin_read32(DMA13_NEXT_DESC_PTR) | 1273 | #define bfin_read_DMA13_NEXT_DESC_PTR() bfin_read32(DMA13_NEXT_DESC_PTR) |
| 1278 | #define bfin_write_DMA13_NEXT_DESC_PTR(val) bfin_write32(DMA13_NEXT_DESC_PTR) | 1274 | #define bfin_write_DMA13_NEXT_DESC_PTR(val) bfin_write32(DMA13_NEXT_DESC_PTR, val) |
| 1279 | #define bfin_read_DMA13_START_ADDR() bfin_read32(DMA13_START_ADDR) | 1275 | #define bfin_read_DMA13_START_ADDR() bfin_read32(DMA13_START_ADDR) |
| 1280 | #define bfin_write_DMA13_START_ADDR(val) bfin_write32(DMA13_START_ADDR) | 1276 | #define bfin_write_DMA13_START_ADDR(val) bfin_write32(DMA13_START_ADDR, val) |
| 1281 | #define bfin_read_DMA13_CONFIG() bfin_read16(DMA13_CONFIG) | 1277 | #define bfin_read_DMA13_CONFIG() bfin_read16(DMA13_CONFIG) |
| 1282 | #define bfin_write_DMA13_CONFIG(val) bfin_write16(DMA13_CONFIG, val) | 1278 | #define bfin_write_DMA13_CONFIG(val) bfin_write16(DMA13_CONFIG, val) |
| 1283 | #define bfin_read_DMA13_X_COUNT() bfin_read16(DMA13_X_COUNT) | 1279 | #define bfin_read_DMA13_X_COUNT() bfin_read16(DMA13_X_COUNT) |
| 1284 | #define bfin_write_DMA13_X_COUNT(val) bfin_write16(DMA13_X_COUNT, val) | 1280 | #define bfin_write_DMA13_X_COUNT(val) bfin_write16(DMA13_X_COUNT, val) |
| 1285 | #define bfin_read_DMA13_X_MODIFY() bfin_read16(DMA13_X_MODIFY) | 1281 | #define bfin_read_DMA13_X_MODIFY() bfin_read16(DMA13_X_MODIFY) |
| 1286 | #define bfin_write_DMA13_X_MODIFY(val) bfin_write16(DMA13_X_MODIFY) | 1282 | #define bfin_write_DMA13_X_MODIFY(val) bfin_write16(DMA13_X_MODIFY, val) |
| 1287 | #define bfin_read_DMA13_Y_COUNT() bfin_read16(DMA13_Y_COUNT) | 1283 | #define bfin_read_DMA13_Y_COUNT() bfin_read16(DMA13_Y_COUNT) |
| 1288 | #define bfin_write_DMA13_Y_COUNT(val) bfin_write16(DMA13_Y_COUNT, val) | 1284 | #define bfin_write_DMA13_Y_COUNT(val) bfin_write16(DMA13_Y_COUNT, val) |
| 1289 | #define bfin_read_DMA13_Y_MODIFY() bfin_read16(DMA13_Y_MODIFY) | 1285 | #define bfin_read_DMA13_Y_MODIFY() bfin_read16(DMA13_Y_MODIFY) |
| 1290 | #define bfin_write_DMA13_Y_MODIFY(val) bfin_write16(DMA13_Y_MODIFY) | 1286 | #define bfin_write_DMA13_Y_MODIFY(val) bfin_write16(DMA13_Y_MODIFY, val) |
| 1291 | #define bfin_read_DMA13_CURR_DESC_PTR() bfin_read32(DMA13_CURR_DESC_PTR) | 1287 | #define bfin_read_DMA13_CURR_DESC_PTR() bfin_read32(DMA13_CURR_DESC_PTR) |
| 1292 | #define bfin_write_DMA13_CURR_DESC_PTR(val) bfin_write32(DMA13_CURR_DESC_PTR) | 1288 | #define bfin_write_DMA13_CURR_DESC_PTR(val) bfin_write32(DMA13_CURR_DESC_PTR, val) |
| 1293 | #define bfin_read_DMA13_CURR_ADDR() bfin_read32(DMA13_CURR_ADDR) | 1289 | #define bfin_read_DMA13_CURR_ADDR() bfin_read32(DMA13_CURR_ADDR) |
| 1294 | #define bfin_write_DMA13_CURR_ADDR(val) bfin_write32(DMA13_CURR_ADDR) | 1290 | #define bfin_write_DMA13_CURR_ADDR(val) bfin_write32(DMA13_CURR_ADDR, val) |
| 1295 | #define bfin_read_DMA13_IRQ_STATUS() bfin_read16(DMA13_IRQ_STATUS) | 1291 | #define bfin_read_DMA13_IRQ_STATUS() bfin_read16(DMA13_IRQ_STATUS) |
| 1296 | #define bfin_write_DMA13_IRQ_STATUS(val) bfin_write16(DMA13_IRQ_STATUS, val) | 1292 | #define bfin_write_DMA13_IRQ_STATUS(val) bfin_write16(DMA13_IRQ_STATUS, val) |
| 1297 | #define bfin_read_DMA13_PERIPHERAL_MAP() bfin_read16(DMA13_PERIPHERAL_MAP) | 1293 | #define bfin_read_DMA13_PERIPHERAL_MAP() bfin_read16(DMA13_PERIPHERAL_MAP) |
| @@ -1304,23 +1300,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1304 | /* DMA Channel 14 Registers */ | 1300 | /* DMA Channel 14 Registers */ |
| 1305 | 1301 | ||
| 1306 | #define bfin_read_DMA14_NEXT_DESC_PTR() bfin_read32(DMA14_NEXT_DESC_PTR) | 1302 | #define bfin_read_DMA14_NEXT_DESC_PTR() bfin_read32(DMA14_NEXT_DESC_PTR) |
| 1307 | #define bfin_write_DMA14_NEXT_DESC_PTR(val) bfin_write32(DMA14_NEXT_DESC_PTR) | 1303 | #define bfin_write_DMA14_NEXT_DESC_PTR(val) bfin_write32(DMA14_NEXT_DESC_PTR, val) |
| 1308 | #define bfin_read_DMA14_START_ADDR() bfin_read32(DMA14_START_ADDR) | 1304 | #define bfin_read_DMA14_START_ADDR() bfin_read32(DMA14_START_ADDR) |
| 1309 | #define bfin_write_DMA14_START_ADDR(val) bfin_write32(DMA14_START_ADDR) | 1305 | #define bfin_write_DMA14_START_ADDR(val) bfin_write32(DMA14_START_ADDR, val) |
| 1310 | #define bfin_read_DMA14_CONFIG() bfin_read16(DMA14_CONFIG) | 1306 | #define bfin_read_DMA14_CONFIG() bfin_read16(DMA14_CONFIG) |
| 1311 | #define bfin_write_DMA14_CONFIG(val) bfin_write16(DMA14_CONFIG, val) | 1307 | #define bfin_write_DMA14_CONFIG(val) bfin_write16(DMA14_CONFIG, val) |
| 1312 | #define bfin_read_DMA14_X_COUNT() bfin_read16(DMA14_X_COUNT) | 1308 | #define bfin_read_DMA14_X_COUNT() bfin_read16(DMA14_X_COUNT) |
| 1313 | #define bfin_write_DMA14_X_COUNT(val) bfin_write16(DMA14_X_COUNT, val) | 1309 | #define bfin_write_DMA14_X_COUNT(val) bfin_write16(DMA14_X_COUNT, val) |
| 1314 | #define bfin_read_DMA14_X_MODIFY() bfin_read16(DMA14_X_MODIFY) | 1310 | #define bfin_read_DMA14_X_MODIFY() bfin_read16(DMA14_X_MODIFY) |
| 1315 | #define bfin_write_DMA14_X_MODIFY(val) bfin_write16(DMA14_X_MODIFY) | 1311 | #define bfin_write_DMA14_X_MODIFY(val) bfin_write16(DMA14_X_MODIFY, val) |
| 1316 | #define bfin_read_DMA14_Y_COUNT() bfin_read16(DMA14_Y_COUNT) | 1312 | #define bfin_read_DMA14_Y_COUNT() bfin_read16(DMA14_Y_COUNT) |
| 1317 | #define bfin_write_DMA14_Y_COUNT(val) bfin_write16(DMA14_Y_COUNT, val) | 1313 | #define bfin_write_DMA14_Y_COUNT(val) bfin_write16(DMA14_Y_COUNT, val) |
| 1318 | #define bfin_read_DMA14_Y_MODIFY() bfin_read16(DMA14_Y_MODIFY) | 1314 | #define bfin_read_DMA14_Y_MODIFY() bfin_read16(DMA14_Y_MODIFY) |
| 1319 | #define bfin_write_DMA14_Y_MODIFY(val) bfin_write16(DMA14_Y_MODIFY) | 1315 | #define bfin_write_DMA14_Y_MODIFY(val) bfin_write16(DMA14_Y_MODIFY, val) |
| 1320 | #define bfin_read_DMA14_CURR_DESC_PTR() bfin_read32(DMA14_CURR_DESC_PTR) | 1316 | #define bfin_read_DMA14_CURR_DESC_PTR() bfin_read32(DMA14_CURR_DESC_PTR) |
| 1321 | #define bfin_write_DMA14_CURR_DESC_PTR(val) bfin_write32(DMA14_CURR_DESC_PTR) | 1317 | #define bfin_write_DMA14_CURR_DESC_PTR(val) bfin_write32(DMA14_CURR_DESC_PTR, val) |
| 1322 | #define bfin_read_DMA14_CURR_ADDR() bfin_read32(DMA14_CURR_ADDR) | 1318 | #define bfin_read_DMA14_CURR_ADDR() bfin_read32(DMA14_CURR_ADDR) |
| 1323 | #define bfin_write_DMA14_CURR_ADDR(val) bfin_write32(DMA14_CURR_ADDR) | 1319 | #define bfin_write_DMA14_CURR_ADDR(val) bfin_write32(DMA14_CURR_ADDR, val) |
| 1324 | #define bfin_read_DMA14_IRQ_STATUS() bfin_read16(DMA14_IRQ_STATUS) | 1320 | #define bfin_read_DMA14_IRQ_STATUS() bfin_read16(DMA14_IRQ_STATUS) |
| 1325 | #define bfin_write_DMA14_IRQ_STATUS(val) bfin_write16(DMA14_IRQ_STATUS, val) | 1321 | #define bfin_write_DMA14_IRQ_STATUS(val) bfin_write16(DMA14_IRQ_STATUS, val) |
| 1326 | #define bfin_read_DMA14_PERIPHERAL_MAP() bfin_read16(DMA14_PERIPHERAL_MAP) | 1322 | #define bfin_read_DMA14_PERIPHERAL_MAP() bfin_read16(DMA14_PERIPHERAL_MAP) |
| @@ -1333,23 +1329,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1333 | /* DMA Channel 15 Registers */ | 1329 | /* DMA Channel 15 Registers */ |
| 1334 | 1330 | ||
| 1335 | #define bfin_read_DMA15_NEXT_DESC_PTR() bfin_read32(DMA15_NEXT_DESC_PTR) | 1331 | #define bfin_read_DMA15_NEXT_DESC_PTR() bfin_read32(DMA15_NEXT_DESC_PTR) |
| 1336 | #define bfin_write_DMA15_NEXT_DESC_PTR(val) bfin_write32(DMA15_NEXT_DESC_PTR) | 1332 | #define bfin_write_DMA15_NEXT_DESC_PTR(val) bfin_write32(DMA15_NEXT_DESC_PTR, val) |
| 1337 | #define bfin_read_DMA15_START_ADDR() bfin_read32(DMA15_START_ADDR) | 1333 | #define bfin_read_DMA15_START_ADDR() bfin_read32(DMA15_START_ADDR) |
| 1338 | #define bfin_write_DMA15_START_ADDR(val) bfin_write32(DMA15_START_ADDR) | 1334 | #define bfin_write_DMA15_START_ADDR(val) bfin_write32(DMA15_START_ADDR, val) |
| 1339 | #define bfin_read_DMA15_CONFIG() bfin_read16(DMA15_CONFIG) | 1335 | #define bfin_read_DMA15_CONFIG() bfin_read16(DMA15_CONFIG) |
| 1340 | #define bfin_write_DMA15_CONFIG(val) bfin_write16(DMA15_CONFIG, val) | 1336 | #define bfin_write_DMA15_CONFIG(val) bfin_write16(DMA15_CONFIG, val) |
| 1341 | #define bfin_read_DMA15_X_COUNT() bfin_read16(DMA15_X_COUNT) | 1337 | #define bfin_read_DMA15_X_COUNT() bfin_read16(DMA15_X_COUNT) |
| 1342 | #define bfin_write_DMA15_X_COUNT(val) bfin_write16(DMA15_X_COUNT, val) | 1338 | #define bfin_write_DMA15_X_COUNT(val) bfin_write16(DMA15_X_COUNT, val) |
| 1343 | #define bfin_read_DMA15_X_MODIFY() bfin_read16(DMA15_X_MODIFY) | 1339 | #define bfin_read_DMA15_X_MODIFY() bfin_read16(DMA15_X_MODIFY) |
| 1344 | #define bfin_write_DMA15_X_MODIFY(val) bfin_write16(DMA15_X_MODIFY) | 1340 | #define bfin_write_DMA15_X_MODIFY(val) bfin_write16(DMA15_X_MODIFY, val) |
| 1345 | #define bfin_read_DMA15_Y_COUNT() bfin_read16(DMA15_Y_COUNT) | 1341 | #define bfin_read_DMA15_Y_COUNT() bfin_read16(DMA15_Y_COUNT) |
| 1346 | #define bfin_write_DMA15_Y_COUNT(val) bfin_write16(DMA15_Y_COUNT, val) | 1342 | #define bfin_write_DMA15_Y_COUNT(val) bfin_write16(DMA15_Y_COUNT, val) |
| 1347 | #define bfin_read_DMA15_Y_MODIFY() bfin_read16(DMA15_Y_MODIFY) | 1343 | #define bfin_read_DMA15_Y_MODIFY() bfin_read16(DMA15_Y_MODIFY) |
| 1348 | #define bfin_write_DMA15_Y_MODIFY(val) bfin_write16(DMA15_Y_MODIFY) | 1344 | #define bfin_write_DMA15_Y_MODIFY(val) bfin_write16(DMA15_Y_MODIFY, val) |
| 1349 | #define bfin_read_DMA15_CURR_DESC_PTR() bfin_read32(DMA15_CURR_DESC_PTR) | 1345 | #define bfin_read_DMA15_CURR_DESC_PTR() bfin_read32(DMA15_CURR_DESC_PTR) |
| 1350 | #define bfin_write_DMA15_CURR_DESC_PTR(val) bfin_write32(DMA15_CURR_DESC_PTR) | 1346 | #define bfin_write_DMA15_CURR_DESC_PTR(val) bfin_write32(DMA15_CURR_DESC_PTR, val) |
| 1351 | #define bfin_read_DMA15_CURR_ADDR() bfin_read32(DMA15_CURR_ADDR) | 1347 | #define bfin_read_DMA15_CURR_ADDR() bfin_read32(DMA15_CURR_ADDR) |
| 1352 | #define bfin_write_DMA15_CURR_ADDR(val) bfin_write32(DMA15_CURR_ADDR) | 1348 | #define bfin_write_DMA15_CURR_ADDR(val) bfin_write32(DMA15_CURR_ADDR, val) |
| 1353 | #define bfin_read_DMA15_IRQ_STATUS() bfin_read16(DMA15_IRQ_STATUS) | 1349 | #define bfin_read_DMA15_IRQ_STATUS() bfin_read16(DMA15_IRQ_STATUS) |
| 1354 | #define bfin_write_DMA15_IRQ_STATUS(val) bfin_write16(DMA15_IRQ_STATUS, val) | 1350 | #define bfin_write_DMA15_IRQ_STATUS(val) bfin_write16(DMA15_IRQ_STATUS, val) |
| 1355 | #define bfin_read_DMA15_PERIPHERAL_MAP() bfin_read16(DMA15_PERIPHERAL_MAP) | 1351 | #define bfin_read_DMA15_PERIPHERAL_MAP() bfin_read16(DMA15_PERIPHERAL_MAP) |
| @@ -1362,23 +1358,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1362 | /* DMA Channel 16 Registers */ | 1358 | /* DMA Channel 16 Registers */ |
| 1363 | 1359 | ||
| 1364 | #define bfin_read_DMA16_NEXT_DESC_PTR() bfin_read32(DMA16_NEXT_DESC_PTR) | 1360 | #define bfin_read_DMA16_NEXT_DESC_PTR() bfin_read32(DMA16_NEXT_DESC_PTR) |
| 1365 | #define bfin_write_DMA16_NEXT_DESC_PTR(val) bfin_write32(DMA16_NEXT_DESC_PTR) | 1361 | #define bfin_write_DMA16_NEXT_DESC_PTR(val) bfin_write32(DMA16_NEXT_DESC_PTR, val) |
| 1366 | #define bfin_read_DMA16_START_ADDR() bfin_read32(DMA16_START_ADDR) | 1362 | #define bfin_read_DMA16_START_ADDR() bfin_read32(DMA16_START_ADDR) |
| 1367 | #define bfin_write_DMA16_START_ADDR(val) bfin_write32(DMA16_START_ADDR) | 1363 | #define bfin_write_DMA16_START_ADDR(val) bfin_write32(DMA16_START_ADDR, val) |
| 1368 | #define bfin_read_DMA16_CONFIG() bfin_read16(DMA16_CONFIG) | 1364 | #define bfin_read_DMA16_CONFIG() bfin_read16(DMA16_CONFIG) |
| 1369 | #define bfin_write_DMA16_CONFIG(val) bfin_write16(DMA16_CONFIG, val) | 1365 | #define bfin_write_DMA16_CONFIG(val) bfin_write16(DMA16_CONFIG, val) |
| 1370 | #define bfin_read_DMA16_X_COUNT() bfin_read16(DMA16_X_COUNT) | 1366 | #define bfin_read_DMA16_X_COUNT() bfin_read16(DMA16_X_COUNT) |
| 1371 | #define bfin_write_DMA16_X_COUNT(val) bfin_write16(DMA16_X_COUNT, val) | 1367 | #define bfin_write_DMA16_X_COUNT(val) bfin_write16(DMA16_X_COUNT, val) |
| 1372 | #define bfin_read_DMA16_X_MODIFY() bfin_read16(DMA16_X_MODIFY) | 1368 | #define bfin_read_DMA16_X_MODIFY() bfin_read16(DMA16_X_MODIFY) |
| 1373 | #define bfin_write_DMA16_X_MODIFY(val) bfin_write16(DMA16_X_MODIFY) | 1369 | #define bfin_write_DMA16_X_MODIFY(val) bfin_write16(DMA16_X_MODIFY, val) |
| 1374 | #define bfin_read_DMA16_Y_COUNT() bfin_read16(DMA16_Y_COUNT) | 1370 | #define bfin_read_DMA16_Y_COUNT() bfin_read16(DMA16_Y_COUNT) |
| 1375 | #define bfin_write_DMA16_Y_COUNT(val) bfin_write16(DMA16_Y_COUNT, val) | 1371 | #define bfin_write_DMA16_Y_COUNT(val) bfin_write16(DMA16_Y_COUNT, val) |
| 1376 | #define bfin_read_DMA16_Y_MODIFY() bfin_read16(DMA16_Y_MODIFY) | 1372 | #define bfin_read_DMA16_Y_MODIFY() bfin_read16(DMA16_Y_MODIFY) |
| 1377 | #define bfin_write_DMA16_Y_MODIFY(val) bfin_write16(DMA16_Y_MODIFY) | 1373 | #define bfin_write_DMA16_Y_MODIFY(val) bfin_write16(DMA16_Y_MODIFY, val) |
| 1378 | #define bfin_read_DMA16_CURR_DESC_PTR() bfin_read32(DMA16_CURR_DESC_PTR) | 1374 | #define bfin_read_DMA16_CURR_DESC_PTR() bfin_read32(DMA16_CURR_DESC_PTR) |
| 1379 | #define bfin_write_DMA16_CURR_DESC_PTR(val) bfin_write32(DMA16_CURR_DESC_PTR) | 1375 | #define bfin_write_DMA16_CURR_DESC_PTR(val) bfin_write32(DMA16_CURR_DESC_PTR, val) |
| 1380 | #define bfin_read_DMA16_CURR_ADDR() bfin_read32(DMA16_CURR_ADDR) | 1376 | #define bfin_read_DMA16_CURR_ADDR() bfin_read32(DMA16_CURR_ADDR) |
| 1381 | #define bfin_write_DMA16_CURR_ADDR(val) bfin_write32(DMA16_CURR_ADDR) | 1377 | #define bfin_write_DMA16_CURR_ADDR(val) bfin_write32(DMA16_CURR_ADDR, val) |
| 1382 | #define bfin_read_DMA16_IRQ_STATUS() bfin_read16(DMA16_IRQ_STATUS) | 1378 | #define bfin_read_DMA16_IRQ_STATUS() bfin_read16(DMA16_IRQ_STATUS) |
| 1383 | #define bfin_write_DMA16_IRQ_STATUS(val) bfin_write16(DMA16_IRQ_STATUS, val) | 1379 | #define bfin_write_DMA16_IRQ_STATUS(val) bfin_write16(DMA16_IRQ_STATUS, val) |
| 1384 | #define bfin_read_DMA16_PERIPHERAL_MAP() bfin_read16(DMA16_PERIPHERAL_MAP) | 1380 | #define bfin_read_DMA16_PERIPHERAL_MAP() bfin_read16(DMA16_PERIPHERAL_MAP) |
| @@ -1391,23 +1387,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1391 | /* DMA Channel 17 Registers */ | 1387 | /* DMA Channel 17 Registers */ |
| 1392 | 1388 | ||
| 1393 | #define bfin_read_DMA17_NEXT_DESC_PTR() bfin_read32(DMA17_NEXT_DESC_PTR) | 1389 | #define bfin_read_DMA17_NEXT_DESC_PTR() bfin_read32(DMA17_NEXT_DESC_PTR) |
| 1394 | #define bfin_write_DMA17_NEXT_DESC_PTR(val) bfin_write32(DMA17_NEXT_DESC_PTR) | 1390 | #define bfin_write_DMA17_NEXT_DESC_PTR(val) bfin_write32(DMA17_NEXT_DESC_PTR, val) |
| 1395 | #define bfin_read_DMA17_START_ADDR() bfin_read32(DMA17_START_ADDR) | 1391 | #define bfin_read_DMA17_START_ADDR() bfin_read32(DMA17_START_ADDR) |
| 1396 | #define bfin_write_DMA17_START_ADDR(val) bfin_write32(DMA17_START_ADDR) | 1392 | #define bfin_write_DMA17_START_ADDR(val) bfin_write32(DMA17_START_ADDR, val) |
| 1397 | #define bfin_read_DMA17_CONFIG() bfin_read16(DMA17_CONFIG) | 1393 | #define bfin_read_DMA17_CONFIG() bfin_read16(DMA17_CONFIG) |
| 1398 | #define bfin_write_DMA17_CONFIG(val) bfin_write16(DMA17_CONFIG, val) | 1394 | #define bfin_write_DMA17_CONFIG(val) bfin_write16(DMA17_CONFIG, val) |
| 1399 | #define bfin_read_DMA17_X_COUNT() bfin_read16(DMA17_X_COUNT) | 1395 | #define bfin_read_DMA17_X_COUNT() bfin_read16(DMA17_X_COUNT) |
| 1400 | #define bfin_write_DMA17_X_COUNT(val) bfin_write16(DMA17_X_COUNT, val) | 1396 | #define bfin_write_DMA17_X_COUNT(val) bfin_write16(DMA17_X_COUNT, val) |
| 1401 | #define bfin_read_DMA17_X_MODIFY() bfin_read16(DMA17_X_MODIFY) | 1397 | #define bfin_read_DMA17_X_MODIFY() bfin_read16(DMA17_X_MODIFY) |
| 1402 | #define bfin_write_DMA17_X_MODIFY(val) bfin_write16(DMA17_X_MODIFY) | 1398 | #define bfin_write_DMA17_X_MODIFY(val) bfin_write16(DMA17_X_MODIFY, val) |
| 1403 | #define bfin_read_DMA17_Y_COUNT() bfin_read16(DMA17_Y_COUNT) | 1399 | #define bfin_read_DMA17_Y_COUNT() bfin_read16(DMA17_Y_COUNT) |
| 1404 | #define bfin_write_DMA17_Y_COUNT(val) bfin_write16(DMA17_Y_COUNT, val) | 1400 | #define bfin_write_DMA17_Y_COUNT(val) bfin_write16(DMA17_Y_COUNT, val) |
| 1405 | #define bfin_read_DMA17_Y_MODIFY() bfin_read16(DMA17_Y_MODIFY) | 1401 | #define bfin_read_DMA17_Y_MODIFY() bfin_read16(DMA17_Y_MODIFY) |
| 1406 | #define bfin_write_DMA17_Y_MODIFY(val) bfin_write16(DMA17_Y_MODIFY) | 1402 | #define bfin_write_DMA17_Y_MODIFY(val) bfin_write16(DMA17_Y_MODIFY, val) |
| 1407 | #define bfin_read_DMA17_CURR_DESC_PTR() bfin_read32(DMA17_CURR_DESC_PTR) | 1403 | #define bfin_read_DMA17_CURR_DESC_PTR() bfin_read32(DMA17_CURR_DESC_PTR) |
| 1408 | #define bfin_write_DMA17_CURR_DESC_PTR(val) bfin_write32(DMA17_CURR_DESC_PTR) | 1404 | #define bfin_write_DMA17_CURR_DESC_PTR(val) bfin_write32(DMA17_CURR_DESC_PTR, val) |
| 1409 | #define bfin_read_DMA17_CURR_ADDR() bfin_read32(DMA17_CURR_ADDR) | 1405 | #define bfin_read_DMA17_CURR_ADDR() bfin_read32(DMA17_CURR_ADDR) |
| 1410 | #define bfin_write_DMA17_CURR_ADDR(val) bfin_write32(DMA17_CURR_ADDR) | 1406 | #define bfin_write_DMA17_CURR_ADDR(val) bfin_write32(DMA17_CURR_ADDR, val) |
| 1411 | #define bfin_read_DMA17_IRQ_STATUS() bfin_read16(DMA17_IRQ_STATUS) | 1407 | #define bfin_read_DMA17_IRQ_STATUS() bfin_read16(DMA17_IRQ_STATUS) |
| 1412 | #define bfin_write_DMA17_IRQ_STATUS(val) bfin_write16(DMA17_IRQ_STATUS, val) | 1408 | #define bfin_write_DMA17_IRQ_STATUS(val) bfin_write16(DMA17_IRQ_STATUS, val) |
| 1413 | #define bfin_read_DMA17_PERIPHERAL_MAP() bfin_read16(DMA17_PERIPHERAL_MAP) | 1409 | #define bfin_read_DMA17_PERIPHERAL_MAP() bfin_read16(DMA17_PERIPHERAL_MAP) |
| @@ -1420,23 +1416,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1420 | /* DMA Channel 18 Registers */ | 1416 | /* DMA Channel 18 Registers */ |
| 1421 | 1417 | ||
| 1422 | #define bfin_read_DMA18_NEXT_DESC_PTR() bfin_read32(DMA18_NEXT_DESC_PTR) | 1418 | #define bfin_read_DMA18_NEXT_DESC_PTR() bfin_read32(DMA18_NEXT_DESC_PTR) |
| 1423 | #define bfin_write_DMA18_NEXT_DESC_PTR(val) bfin_write32(DMA18_NEXT_DESC_PTR) | 1419 | #define bfin_write_DMA18_NEXT_DESC_PTR(val) bfin_write32(DMA18_NEXT_DESC_PTR, val) |
| 1424 | #define bfin_read_DMA18_START_ADDR() bfin_read32(DMA18_START_ADDR) | 1420 | #define bfin_read_DMA18_START_ADDR() bfin_read32(DMA18_START_ADDR) |
| 1425 | #define bfin_write_DMA18_START_ADDR(val) bfin_write32(DMA18_START_ADDR) | 1421 | #define bfin_write_DMA18_START_ADDR(val) bfin_write32(DMA18_START_ADDR, val) |
| 1426 | #define bfin_read_DMA18_CONFIG() bfin_read16(DMA18_CONFIG) | 1422 | #define bfin_read_DMA18_CONFIG() bfin_read16(DMA18_CONFIG) |
| 1427 | #define bfin_write_DMA18_CONFIG(val) bfin_write16(DMA18_CONFIG, val) | 1423 | #define bfin_write_DMA18_CONFIG(val) bfin_write16(DMA18_CONFIG, val) |
| 1428 | #define bfin_read_DMA18_X_COUNT() bfin_read16(DMA18_X_COUNT) | 1424 | #define bfin_read_DMA18_X_COUNT() bfin_read16(DMA18_X_COUNT) |
| 1429 | #define bfin_write_DMA18_X_COUNT(val) bfin_write16(DMA18_X_COUNT, val) | 1425 | #define bfin_write_DMA18_X_COUNT(val) bfin_write16(DMA18_X_COUNT, val) |
| 1430 | #define bfin_read_DMA18_X_MODIFY() bfin_read16(DMA18_X_MODIFY) | 1426 | #define bfin_read_DMA18_X_MODIFY() bfin_read16(DMA18_X_MODIFY) |
| 1431 | #define bfin_write_DMA18_X_MODIFY(val) bfin_write16(DMA18_X_MODIFY) | 1427 | #define bfin_write_DMA18_X_MODIFY(val) bfin_write16(DMA18_X_MODIFY, val) |
| 1432 | #define bfin_read_DMA18_Y_COUNT() bfin_read16(DMA18_Y_COUNT) | 1428 | #define bfin_read_DMA18_Y_COUNT() bfin_read16(DMA18_Y_COUNT) |
| 1433 | #define bfin_write_DMA18_Y_COUNT(val) bfin_write16(DMA18_Y_COUNT, val) | 1429 | #define bfin_write_DMA18_Y_COUNT(val) bfin_write16(DMA18_Y_COUNT, val) |
| 1434 | #define bfin_read_DMA18_Y_MODIFY() bfin_read16(DMA18_Y_MODIFY) | 1430 | #define bfin_read_DMA18_Y_MODIFY() bfin_read16(DMA18_Y_MODIFY) |
| 1435 | #define bfin_write_DMA18_Y_MODIFY(val) bfin_write16(DMA18_Y_MODIFY) | 1431 | #define bfin_write_DMA18_Y_MODIFY(val) bfin_write16(DMA18_Y_MODIFY, val) |
| 1436 | #define bfin_read_DMA18_CURR_DESC_PTR() bfin_read32(DMA18_CURR_DESC_PTR) | 1432 | #define bfin_read_DMA18_CURR_DESC_PTR() bfin_read32(DMA18_CURR_DESC_PTR) |
| 1437 | #define bfin_write_DMA18_CURR_DESC_PTR(val) bfin_write32(DMA18_CURR_DESC_PTR) | 1433 | #define bfin_write_DMA18_CURR_DESC_PTR(val) bfin_write32(DMA18_CURR_DESC_PTR, val) |
| 1438 | #define bfin_read_DMA18_CURR_ADDR() bfin_read32(DMA18_CURR_ADDR) | 1434 | #define bfin_read_DMA18_CURR_ADDR() bfin_read32(DMA18_CURR_ADDR) |
| 1439 | #define bfin_write_DMA18_CURR_ADDR(val) bfin_write32(DMA18_CURR_ADDR) | 1435 | #define bfin_write_DMA18_CURR_ADDR(val) bfin_write32(DMA18_CURR_ADDR, val) |
| 1440 | #define bfin_read_DMA18_IRQ_STATUS() bfin_read16(DMA18_IRQ_STATUS) | 1436 | #define bfin_read_DMA18_IRQ_STATUS() bfin_read16(DMA18_IRQ_STATUS) |
| 1441 | #define bfin_write_DMA18_IRQ_STATUS(val) bfin_write16(DMA18_IRQ_STATUS, val) | 1437 | #define bfin_write_DMA18_IRQ_STATUS(val) bfin_write16(DMA18_IRQ_STATUS, val) |
| 1442 | #define bfin_read_DMA18_PERIPHERAL_MAP() bfin_read16(DMA18_PERIPHERAL_MAP) | 1438 | #define bfin_read_DMA18_PERIPHERAL_MAP() bfin_read16(DMA18_PERIPHERAL_MAP) |
| @@ -1449,23 +1445,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1449 | /* DMA Channel 19 Registers */ | 1445 | /* DMA Channel 19 Registers */ |
| 1450 | 1446 | ||
| 1451 | #define bfin_read_DMA19_NEXT_DESC_PTR() bfin_read32(DMA19_NEXT_DESC_PTR) | 1447 | #define bfin_read_DMA19_NEXT_DESC_PTR() bfin_read32(DMA19_NEXT_DESC_PTR) |
| 1452 | #define bfin_write_DMA19_NEXT_DESC_PTR(val) bfin_write32(DMA19_NEXT_DESC_PTR) | 1448 | #define bfin_write_DMA19_NEXT_DESC_PTR(val) bfin_write32(DMA19_NEXT_DESC_PTR, val) |
| 1453 | #define bfin_read_DMA19_START_ADDR() bfin_read32(DMA19_START_ADDR) | 1449 | #define bfin_read_DMA19_START_ADDR() bfin_read32(DMA19_START_ADDR) |
| 1454 | #define bfin_write_DMA19_START_ADDR(val) bfin_write32(DMA19_START_ADDR) | 1450 | #define bfin_write_DMA19_START_ADDR(val) bfin_write32(DMA19_START_ADDR, val) |
| 1455 | #define bfin_read_DMA19_CONFIG() bfin_read16(DMA19_CONFIG) | 1451 | #define bfin_read_DMA19_CONFIG() bfin_read16(DMA19_CONFIG) |
| 1456 | #define bfin_write_DMA19_CONFIG(val) bfin_write16(DMA19_CONFIG, val) | 1452 | #define bfin_write_DMA19_CONFIG(val) bfin_write16(DMA19_CONFIG, val) |
| 1457 | #define bfin_read_DMA19_X_COUNT() bfin_read16(DMA19_X_COUNT) | 1453 | #define bfin_read_DMA19_X_COUNT() bfin_read16(DMA19_X_COUNT) |
| 1458 | #define bfin_write_DMA19_X_COUNT(val) bfin_write16(DMA19_X_COUNT, val) | 1454 | #define bfin_write_DMA19_X_COUNT(val) bfin_write16(DMA19_X_COUNT, val) |
| 1459 | #define bfin_read_DMA19_X_MODIFY() bfin_read16(DMA19_X_MODIFY) | 1455 | #define bfin_read_DMA19_X_MODIFY() bfin_read16(DMA19_X_MODIFY) |
| 1460 | #define bfin_write_DMA19_X_MODIFY(val) bfin_write16(DMA19_X_MODIFY) | 1456 | #define bfin_write_DMA19_X_MODIFY(val) bfin_write16(DMA19_X_MODIFY, val) |
| 1461 | #define bfin_read_DMA19_Y_COUNT() bfin_read16(DMA19_Y_COUNT) | 1457 | #define bfin_read_DMA19_Y_COUNT() bfin_read16(DMA19_Y_COUNT) |
| 1462 | #define bfin_write_DMA19_Y_COUNT(val) bfin_write16(DMA19_Y_COUNT, val) | 1458 | #define bfin_write_DMA19_Y_COUNT(val) bfin_write16(DMA19_Y_COUNT, val) |
| 1463 | #define bfin_read_DMA19_Y_MODIFY() bfin_read16(DMA19_Y_MODIFY) | 1459 | #define bfin_read_DMA19_Y_MODIFY() bfin_read16(DMA19_Y_MODIFY) |
| 1464 | #define bfin_write_DMA19_Y_MODIFY(val) bfin_write16(DMA19_Y_MODIFY) | 1460 | #define bfin_write_DMA19_Y_MODIFY(val) bfin_write16(DMA19_Y_MODIFY, val) |
| 1465 | #define bfin_read_DMA19_CURR_DESC_PTR() bfin_read32(DMA19_CURR_DESC_PTR) | 1461 | #define bfin_read_DMA19_CURR_DESC_PTR() bfin_read32(DMA19_CURR_DESC_PTR) |
| 1466 | #define bfin_write_DMA19_CURR_DESC_PTR(val) bfin_write32(DMA19_CURR_DESC_PTR) | 1462 | #define bfin_write_DMA19_CURR_DESC_PTR(val) bfin_write32(DMA19_CURR_DESC_PTR, val) |
| 1467 | #define bfin_read_DMA19_CURR_ADDR() bfin_read32(DMA19_CURR_ADDR) | 1463 | #define bfin_read_DMA19_CURR_ADDR() bfin_read32(DMA19_CURR_ADDR) |
| 1468 | #define bfin_write_DMA19_CURR_ADDR(val) bfin_write32(DMA19_CURR_ADDR) | 1464 | #define bfin_write_DMA19_CURR_ADDR(val) bfin_write32(DMA19_CURR_ADDR, val) |
| 1469 | #define bfin_read_DMA19_IRQ_STATUS() bfin_read16(DMA19_IRQ_STATUS) | 1465 | #define bfin_read_DMA19_IRQ_STATUS() bfin_read16(DMA19_IRQ_STATUS) |
| 1470 | #define bfin_write_DMA19_IRQ_STATUS(val) bfin_write16(DMA19_IRQ_STATUS, val) | 1466 | #define bfin_write_DMA19_IRQ_STATUS(val) bfin_write16(DMA19_IRQ_STATUS, val) |
| 1471 | #define bfin_read_DMA19_PERIPHERAL_MAP() bfin_read16(DMA19_PERIPHERAL_MAP) | 1467 | #define bfin_read_DMA19_PERIPHERAL_MAP() bfin_read16(DMA19_PERIPHERAL_MAP) |
| @@ -1478,23 +1474,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1478 | /* DMA Channel 20 Registers */ | 1474 | /* DMA Channel 20 Registers */ |
| 1479 | 1475 | ||
| 1480 | #define bfin_read_DMA20_NEXT_DESC_PTR() bfin_read32(DMA20_NEXT_DESC_PTR) | 1476 | #define bfin_read_DMA20_NEXT_DESC_PTR() bfin_read32(DMA20_NEXT_DESC_PTR) |
| 1481 | #define bfin_write_DMA20_NEXT_DESC_PTR(val) bfin_write32(DMA20_NEXT_DESC_PTR) | 1477 | #define bfin_write_DMA20_NEXT_DESC_PTR(val) bfin_write32(DMA20_NEXT_DESC_PTR, val) |
| 1482 | #define bfin_read_DMA20_START_ADDR() bfin_read32(DMA20_START_ADDR) | 1478 | #define bfin_read_DMA20_START_ADDR() bfin_read32(DMA20_START_ADDR) |
| 1483 | #define bfin_write_DMA20_START_ADDR(val) bfin_write32(DMA20_START_ADDR) | 1479 | #define bfin_write_DMA20_START_ADDR(val) bfin_write32(DMA20_START_ADDR, val) |
| 1484 | #define bfin_read_DMA20_CONFIG() bfin_read16(DMA20_CONFIG) | 1480 | #define bfin_read_DMA20_CONFIG() bfin_read16(DMA20_CONFIG) |
| 1485 | #define bfin_write_DMA20_CONFIG(val) bfin_write16(DMA20_CONFIG, val) | 1481 | #define bfin_write_DMA20_CONFIG(val) bfin_write16(DMA20_CONFIG, val) |
| 1486 | #define bfin_read_DMA20_X_COUNT() bfin_read16(DMA20_X_COUNT) | 1482 | #define bfin_read_DMA20_X_COUNT() bfin_read16(DMA20_X_COUNT) |
| 1487 | #define bfin_write_DMA20_X_COUNT(val) bfin_write16(DMA20_X_COUNT, val) | 1483 | #define bfin_write_DMA20_X_COUNT(val) bfin_write16(DMA20_X_COUNT, val) |
| 1488 | #define bfin_read_DMA20_X_MODIFY() bfin_read16(DMA20_X_MODIFY) | 1484 | #define bfin_read_DMA20_X_MODIFY() bfin_read16(DMA20_X_MODIFY) |
| 1489 | #define bfin_write_DMA20_X_MODIFY(val) bfin_write16(DMA20_X_MODIFY) | 1485 | #define bfin_write_DMA20_X_MODIFY(val) bfin_write16(DMA20_X_MODIFY, val) |
| 1490 | #define bfin_read_DMA20_Y_COUNT() bfin_read16(DMA20_Y_COUNT) | 1486 | #define bfin_read_DMA20_Y_COUNT() bfin_read16(DMA20_Y_COUNT) |
| 1491 | #define bfin_write_DMA20_Y_COUNT(val) bfin_write16(DMA20_Y_COUNT, val) | 1487 | #define bfin_write_DMA20_Y_COUNT(val) bfin_write16(DMA20_Y_COUNT, val) |
| 1492 | #define bfin_read_DMA20_Y_MODIFY() bfin_read16(DMA20_Y_MODIFY) | 1488 | #define bfin_read_DMA20_Y_MODIFY() bfin_read16(DMA20_Y_MODIFY) |
| 1493 | #define bfin_write_DMA20_Y_MODIFY(val) bfin_write16(DMA20_Y_MODIFY) | 1489 | #define bfin_write_DMA20_Y_MODIFY(val) bfin_write16(DMA20_Y_MODIFY, val) |
| 1494 | #define bfin_read_DMA20_CURR_DESC_PTR() bfin_read32(DMA20_CURR_DESC_PTR) | 1490 | #define bfin_read_DMA20_CURR_DESC_PTR() bfin_read32(DMA20_CURR_DESC_PTR) |
| 1495 | #define bfin_write_DMA20_CURR_DESC_PTR(val) bfin_write32(DMA20_CURR_DESC_PTR) | 1491 | #define bfin_write_DMA20_CURR_DESC_PTR(val) bfin_write32(DMA20_CURR_DESC_PTR, val) |
| 1496 | #define bfin_read_DMA20_CURR_ADDR() bfin_read32(DMA20_CURR_ADDR) | 1492 | #define bfin_read_DMA20_CURR_ADDR() bfin_read32(DMA20_CURR_ADDR) |
| 1497 | #define bfin_write_DMA20_CURR_ADDR(val) bfin_write32(DMA20_CURR_ADDR) | 1493 | #define bfin_write_DMA20_CURR_ADDR(val) bfin_write32(DMA20_CURR_ADDR, val) |
| 1498 | #define bfin_read_DMA20_IRQ_STATUS() bfin_read16(DMA20_IRQ_STATUS) | 1494 | #define bfin_read_DMA20_IRQ_STATUS() bfin_read16(DMA20_IRQ_STATUS) |
| 1499 | #define bfin_write_DMA20_IRQ_STATUS(val) bfin_write16(DMA20_IRQ_STATUS, val) | 1495 | #define bfin_write_DMA20_IRQ_STATUS(val) bfin_write16(DMA20_IRQ_STATUS, val) |
| 1500 | #define bfin_read_DMA20_PERIPHERAL_MAP() bfin_read16(DMA20_PERIPHERAL_MAP) | 1496 | #define bfin_read_DMA20_PERIPHERAL_MAP() bfin_read16(DMA20_PERIPHERAL_MAP) |
| @@ -1507,23 +1503,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1507 | /* DMA Channel 21 Registers */ | 1503 | /* DMA Channel 21 Registers */ |
| 1508 | 1504 | ||
| 1509 | #define bfin_read_DMA21_NEXT_DESC_PTR() bfin_read32(DMA21_NEXT_DESC_PTR) | 1505 | #define bfin_read_DMA21_NEXT_DESC_PTR() bfin_read32(DMA21_NEXT_DESC_PTR) |
| 1510 | #define bfin_write_DMA21_NEXT_DESC_PTR(val) bfin_write32(DMA21_NEXT_DESC_PTR) | 1506 | #define bfin_write_DMA21_NEXT_DESC_PTR(val) bfin_write32(DMA21_NEXT_DESC_PTR, val) |
| 1511 | #define bfin_read_DMA21_START_ADDR() bfin_read32(DMA21_START_ADDR) | 1507 | #define bfin_read_DMA21_START_ADDR() bfin_read32(DMA21_START_ADDR) |
| 1512 | #define bfin_write_DMA21_START_ADDR(val) bfin_write32(DMA21_START_ADDR) | 1508 | #define bfin_write_DMA21_START_ADDR(val) bfin_write32(DMA21_START_ADDR, val) |
| 1513 | #define bfin_read_DMA21_CONFIG() bfin_read16(DMA21_CONFIG) | 1509 | #define bfin_read_DMA21_CONFIG() bfin_read16(DMA21_CONFIG) |
| 1514 | #define bfin_write_DMA21_CONFIG(val) bfin_write16(DMA21_CONFIG, val) | 1510 | #define bfin_write_DMA21_CONFIG(val) bfin_write16(DMA21_CONFIG, val) |
| 1515 | #define bfin_read_DMA21_X_COUNT() bfin_read16(DMA21_X_COUNT) | 1511 | #define bfin_read_DMA21_X_COUNT() bfin_read16(DMA21_X_COUNT) |
| 1516 | #define bfin_write_DMA21_X_COUNT(val) bfin_write16(DMA21_X_COUNT, val) | 1512 | #define bfin_write_DMA21_X_COUNT(val) bfin_write16(DMA21_X_COUNT, val) |
| 1517 | #define bfin_read_DMA21_X_MODIFY() bfin_read16(DMA21_X_MODIFY) | 1513 | #define bfin_read_DMA21_X_MODIFY() bfin_read16(DMA21_X_MODIFY) |
| 1518 | #define bfin_write_DMA21_X_MODIFY(val) bfin_write16(DMA21_X_MODIFY) | 1514 | #define bfin_write_DMA21_X_MODIFY(val) bfin_write16(DMA21_X_MODIFY, val) |
| 1519 | #define bfin_read_DMA21_Y_COUNT() bfin_read16(DMA21_Y_COUNT) | 1515 | #define bfin_read_DMA21_Y_COUNT() bfin_read16(DMA21_Y_COUNT) |
| 1520 | #define bfin_write_DMA21_Y_COUNT(val) bfin_write16(DMA21_Y_COUNT, val) | 1516 | #define bfin_write_DMA21_Y_COUNT(val) bfin_write16(DMA21_Y_COUNT, val) |
| 1521 | #define bfin_read_DMA21_Y_MODIFY() bfin_read16(DMA21_Y_MODIFY) | 1517 | #define bfin_read_DMA21_Y_MODIFY() bfin_read16(DMA21_Y_MODIFY) |
| 1522 | #define bfin_write_DMA21_Y_MODIFY(val) bfin_write16(DMA21_Y_MODIFY) | 1518 | #define bfin_write_DMA21_Y_MODIFY(val) bfin_write16(DMA21_Y_MODIFY, val) |
| 1523 | #define bfin_read_DMA21_CURR_DESC_PTR() bfin_read32(DMA21_CURR_DESC_PTR) | 1519 | #define bfin_read_DMA21_CURR_DESC_PTR() bfin_read32(DMA21_CURR_DESC_PTR) |
| 1524 | #define bfin_write_DMA21_CURR_DESC_PTR(val) bfin_write32(DMA21_CURR_DESC_PTR) | 1520 | #define bfin_write_DMA21_CURR_DESC_PTR(val) bfin_write32(DMA21_CURR_DESC_PTR, val) |
| 1525 | #define bfin_read_DMA21_CURR_ADDR() bfin_read32(DMA21_CURR_ADDR) | 1521 | #define bfin_read_DMA21_CURR_ADDR() bfin_read32(DMA21_CURR_ADDR) |
| 1526 | #define bfin_write_DMA21_CURR_ADDR(val) bfin_write32(DMA21_CURR_ADDR) | 1522 | #define bfin_write_DMA21_CURR_ADDR(val) bfin_write32(DMA21_CURR_ADDR, val) |
| 1527 | #define bfin_read_DMA21_IRQ_STATUS() bfin_read16(DMA21_IRQ_STATUS) | 1523 | #define bfin_read_DMA21_IRQ_STATUS() bfin_read16(DMA21_IRQ_STATUS) |
| 1528 | #define bfin_write_DMA21_IRQ_STATUS(val) bfin_write16(DMA21_IRQ_STATUS, val) | 1524 | #define bfin_write_DMA21_IRQ_STATUS(val) bfin_write16(DMA21_IRQ_STATUS, val) |
| 1529 | #define bfin_read_DMA21_PERIPHERAL_MAP() bfin_read16(DMA21_PERIPHERAL_MAP) | 1525 | #define bfin_read_DMA21_PERIPHERAL_MAP() bfin_read16(DMA21_PERIPHERAL_MAP) |
| @@ -1536,23 +1532,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1536 | /* DMA Channel 22 Registers */ | 1532 | /* DMA Channel 22 Registers */ |
| 1537 | 1533 | ||
| 1538 | #define bfin_read_DMA22_NEXT_DESC_PTR() bfin_read32(DMA22_NEXT_DESC_PTR) | 1534 | #define bfin_read_DMA22_NEXT_DESC_PTR() bfin_read32(DMA22_NEXT_DESC_PTR) |
| 1539 | #define bfin_write_DMA22_NEXT_DESC_PTR(val) bfin_write32(DMA22_NEXT_DESC_PTR) | 1535 | #define bfin_write_DMA22_NEXT_DESC_PTR(val) bfin_write32(DMA22_NEXT_DESC_PTR, val) |
| 1540 | #define bfin_read_DMA22_START_ADDR() bfin_read32(DMA22_START_ADDR) | 1536 | #define bfin_read_DMA22_START_ADDR() bfin_read32(DMA22_START_ADDR) |
| 1541 | #define bfin_write_DMA22_START_ADDR(val) bfin_write32(DMA22_START_ADDR) | 1537 | #define bfin_write_DMA22_START_ADDR(val) bfin_write32(DMA22_START_ADDR, val) |
| 1542 | #define bfin_read_DMA22_CONFIG() bfin_read16(DMA22_CONFIG) | 1538 | #define bfin_read_DMA22_CONFIG() bfin_read16(DMA22_CONFIG) |
| 1543 | #define bfin_write_DMA22_CONFIG(val) bfin_write16(DMA22_CONFIG, val) | 1539 | #define bfin_write_DMA22_CONFIG(val) bfin_write16(DMA22_CONFIG, val) |
| 1544 | #define bfin_read_DMA22_X_COUNT() bfin_read16(DMA22_X_COUNT) | 1540 | #define bfin_read_DMA22_X_COUNT() bfin_read16(DMA22_X_COUNT) |
| 1545 | #define bfin_write_DMA22_X_COUNT(val) bfin_write16(DMA22_X_COUNT, val) | 1541 | #define bfin_write_DMA22_X_COUNT(val) bfin_write16(DMA22_X_COUNT, val) |
| 1546 | #define bfin_read_DMA22_X_MODIFY() bfin_read16(DMA22_X_MODIFY) | 1542 | #define bfin_read_DMA22_X_MODIFY() bfin_read16(DMA22_X_MODIFY) |
| 1547 | #define bfin_write_DMA22_X_MODIFY(val) bfin_write16(DMA22_X_MODIFY) | 1543 | #define bfin_write_DMA22_X_MODIFY(val) bfin_write16(DMA22_X_MODIFY, val) |
| 1548 | #define bfin_read_DMA22_Y_COUNT() bfin_read16(DMA22_Y_COUNT) | 1544 | #define bfin_read_DMA22_Y_COUNT() bfin_read16(DMA22_Y_COUNT) |
| 1549 | #define bfin_write_DMA22_Y_COUNT(val) bfin_write16(DMA22_Y_COUNT, val) | 1545 | #define bfin_write_DMA22_Y_COUNT(val) bfin_write16(DMA22_Y_COUNT, val) |
| 1550 | #define bfin_read_DMA22_Y_MODIFY() bfin_read16(DMA22_Y_MODIFY) | 1546 | #define bfin_read_DMA22_Y_MODIFY() bfin_read16(DMA22_Y_MODIFY) |
| 1551 | #define bfin_write_DMA22_Y_MODIFY(val) bfin_write16(DMA22_Y_MODIFY) | 1547 | #define bfin_write_DMA22_Y_MODIFY(val) bfin_write16(DMA22_Y_MODIFY, val) |
| 1552 | #define bfin_read_DMA22_CURR_DESC_PTR() bfin_read32(DMA22_CURR_DESC_PTR) | 1548 | #define bfin_read_DMA22_CURR_DESC_PTR() bfin_read32(DMA22_CURR_DESC_PTR) |
| 1553 | #define bfin_write_DMA22_CURR_DESC_PTR(val) bfin_write32(DMA22_CURR_DESC_PTR) | 1549 | #define bfin_write_DMA22_CURR_DESC_PTR(val) bfin_write32(DMA22_CURR_DESC_PTR, val) |
| 1554 | #define bfin_read_DMA22_CURR_ADDR() bfin_read32(DMA22_CURR_ADDR) | 1550 | #define bfin_read_DMA22_CURR_ADDR() bfin_read32(DMA22_CURR_ADDR) |
| 1555 | #define bfin_write_DMA22_CURR_ADDR(val) bfin_write32(DMA22_CURR_ADDR) | 1551 | #define bfin_write_DMA22_CURR_ADDR(val) bfin_write32(DMA22_CURR_ADDR, val) |
| 1556 | #define bfin_read_DMA22_IRQ_STATUS() bfin_read16(DMA22_IRQ_STATUS) | 1552 | #define bfin_read_DMA22_IRQ_STATUS() bfin_read16(DMA22_IRQ_STATUS) |
| 1557 | #define bfin_write_DMA22_IRQ_STATUS(val) bfin_write16(DMA22_IRQ_STATUS, val) | 1553 | #define bfin_write_DMA22_IRQ_STATUS(val) bfin_write16(DMA22_IRQ_STATUS, val) |
| 1558 | #define bfin_read_DMA22_PERIPHERAL_MAP() bfin_read16(DMA22_PERIPHERAL_MAP) | 1554 | #define bfin_read_DMA22_PERIPHERAL_MAP() bfin_read16(DMA22_PERIPHERAL_MAP) |
| @@ -1565,23 +1561,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1565 | /* DMA Channel 23 Registers */ | 1561 | /* DMA Channel 23 Registers */ |
| 1566 | 1562 | ||
| 1567 | #define bfin_read_DMA23_NEXT_DESC_PTR() bfin_read32(DMA23_NEXT_DESC_PTR) | 1563 | #define bfin_read_DMA23_NEXT_DESC_PTR() bfin_read32(DMA23_NEXT_DESC_PTR) |
| 1568 | #define bfin_write_DMA23_NEXT_DESC_PTR(val) bfin_write32(DMA23_NEXT_DESC_PTR) | 1564 | #define bfin_write_DMA23_NEXT_DESC_PTR(val) bfin_write32(DMA23_NEXT_DESC_PTR, val) |
| 1569 | #define bfin_read_DMA23_START_ADDR() bfin_read32(DMA23_START_ADDR) | 1565 | #define bfin_read_DMA23_START_ADDR() bfin_read32(DMA23_START_ADDR) |
| 1570 | #define bfin_write_DMA23_START_ADDR(val) bfin_write32(DMA23_START_ADDR) | 1566 | #define bfin_write_DMA23_START_ADDR(val) bfin_write32(DMA23_START_ADDR, val) |
| 1571 | #define bfin_read_DMA23_CONFIG() bfin_read16(DMA23_CONFIG) | 1567 | #define bfin_read_DMA23_CONFIG() bfin_read16(DMA23_CONFIG) |
| 1572 | #define bfin_write_DMA23_CONFIG(val) bfin_write16(DMA23_CONFIG, val) | 1568 | #define bfin_write_DMA23_CONFIG(val) bfin_write16(DMA23_CONFIG, val) |
| 1573 | #define bfin_read_DMA23_X_COUNT() bfin_read16(DMA23_X_COUNT) | 1569 | #define bfin_read_DMA23_X_COUNT() bfin_read16(DMA23_X_COUNT) |
| 1574 | #define bfin_write_DMA23_X_COUNT(val) bfin_write16(DMA23_X_COUNT, val) | 1570 | #define bfin_write_DMA23_X_COUNT(val) bfin_write16(DMA23_X_COUNT, val) |
| 1575 | #define bfin_read_DMA23_X_MODIFY() bfin_read16(DMA23_X_MODIFY) | 1571 | #define bfin_read_DMA23_X_MODIFY() bfin_read16(DMA23_X_MODIFY) |
| 1576 | #define bfin_write_DMA23_X_MODIFY(val) bfin_write16(DMA23_X_MODIFY) | 1572 | #define bfin_write_DMA23_X_MODIFY(val) bfin_write16(DMA23_X_MODIFY, val) |
| 1577 | #define bfin_read_DMA23_Y_COUNT() bfin_read16(DMA23_Y_COUNT) | 1573 | #define bfin_read_DMA23_Y_COUNT() bfin_read16(DMA23_Y_COUNT) |
| 1578 | #define bfin_write_DMA23_Y_COUNT(val) bfin_write16(DMA23_Y_COUNT, val) | 1574 | #define bfin_write_DMA23_Y_COUNT(val) bfin_write16(DMA23_Y_COUNT, val) |
| 1579 | #define bfin_read_DMA23_Y_MODIFY() bfin_read16(DMA23_Y_MODIFY) | 1575 | #define bfin_read_DMA23_Y_MODIFY() bfin_read16(DMA23_Y_MODIFY) |
| 1580 | #define bfin_write_DMA23_Y_MODIFY(val) bfin_write16(DMA23_Y_MODIFY) | 1576 | #define bfin_write_DMA23_Y_MODIFY(val) bfin_write16(DMA23_Y_MODIFY, val) |
| 1581 | #define bfin_read_DMA23_CURR_DESC_PTR() bfin_read32(DMA23_CURR_DESC_PTR) | 1577 | #define bfin_read_DMA23_CURR_DESC_PTR() bfin_read32(DMA23_CURR_DESC_PTR) |
| 1582 | #define bfin_write_DMA23_CURR_DESC_PTR(val) bfin_write32(DMA23_CURR_DESC_PTR) | 1578 | #define bfin_write_DMA23_CURR_DESC_PTR(val) bfin_write32(DMA23_CURR_DESC_PTR, val) |
| 1583 | #define bfin_read_DMA23_CURR_ADDR() bfin_read32(DMA23_CURR_ADDR) | 1579 | #define bfin_read_DMA23_CURR_ADDR() bfin_read32(DMA23_CURR_ADDR) |
| 1584 | #define bfin_write_DMA23_CURR_ADDR(val) bfin_write32(DMA23_CURR_ADDR) | 1580 | #define bfin_write_DMA23_CURR_ADDR(val) bfin_write32(DMA23_CURR_ADDR, val) |
| 1585 | #define bfin_read_DMA23_IRQ_STATUS() bfin_read16(DMA23_IRQ_STATUS) | 1581 | #define bfin_read_DMA23_IRQ_STATUS() bfin_read16(DMA23_IRQ_STATUS) |
| 1586 | #define bfin_write_DMA23_IRQ_STATUS(val) bfin_write16(DMA23_IRQ_STATUS, val) | 1582 | #define bfin_write_DMA23_IRQ_STATUS(val) bfin_write16(DMA23_IRQ_STATUS, val) |
| 1587 | #define bfin_read_DMA23_PERIPHERAL_MAP() bfin_read16(DMA23_PERIPHERAL_MAP) | 1583 | #define bfin_read_DMA23_PERIPHERAL_MAP() bfin_read16(DMA23_PERIPHERAL_MAP) |
| @@ -1594,23 +1590,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1594 | /* MDMA Stream 2 Registers */ | 1590 | /* MDMA Stream 2 Registers */ |
| 1595 | 1591 | ||
| 1596 | #define bfin_read_MDMA_D2_NEXT_DESC_PTR() bfin_read32(MDMA_D2_NEXT_DESC_PTR) | 1592 | #define bfin_read_MDMA_D2_NEXT_DESC_PTR() bfin_read32(MDMA_D2_NEXT_DESC_PTR) |
| 1597 | #define bfin_write_MDMA_D2_NEXT_DESC_PTR(val) bfin_write32(MDMA_D2_NEXT_DESC_PTR) | 1593 | #define bfin_write_MDMA_D2_NEXT_DESC_PTR(val) bfin_write32(MDMA_D2_NEXT_DESC_PTR, val) |
| 1598 | #define bfin_read_MDMA_D2_START_ADDR() bfin_read32(MDMA_D2_START_ADDR) | 1594 | #define bfin_read_MDMA_D2_START_ADDR() bfin_read32(MDMA_D2_START_ADDR) |
| 1599 | #define bfin_write_MDMA_D2_START_ADDR(val) bfin_write32(MDMA_D2_START_ADDR) | 1595 | #define bfin_write_MDMA_D2_START_ADDR(val) bfin_write32(MDMA_D2_START_ADDR, val) |
| 1600 | #define bfin_read_MDMA_D2_CONFIG() bfin_read16(MDMA_D2_CONFIG) | 1596 | #define bfin_read_MDMA_D2_CONFIG() bfin_read16(MDMA_D2_CONFIG) |
| 1601 | #define bfin_write_MDMA_D2_CONFIG(val) bfin_write16(MDMA_D2_CONFIG, val) | 1597 | #define bfin_write_MDMA_D2_CONFIG(val) bfin_write16(MDMA_D2_CONFIG, val) |
| 1602 | #define bfin_read_MDMA_D2_X_COUNT() bfin_read16(MDMA_D2_X_COUNT) | 1598 | #define bfin_read_MDMA_D2_X_COUNT() bfin_read16(MDMA_D2_X_COUNT) |
| 1603 | #define bfin_write_MDMA_D2_X_COUNT(val) bfin_write16(MDMA_D2_X_COUNT, val) | 1599 | #define bfin_write_MDMA_D2_X_COUNT(val) bfin_write16(MDMA_D2_X_COUNT, val) |
| 1604 | #define bfin_read_MDMA_D2_X_MODIFY() bfin_read16(MDMA_D2_X_MODIFY) | 1600 | #define bfin_read_MDMA_D2_X_MODIFY() bfin_read16(MDMA_D2_X_MODIFY) |
| 1605 | #define bfin_write_MDMA_D2_X_MODIFY(val) bfin_write16(MDMA_D2_X_MODIFY) | 1601 | #define bfin_write_MDMA_D2_X_MODIFY(val) bfin_write16(MDMA_D2_X_MODIFY, val) |
| 1606 | #define bfin_read_MDMA_D2_Y_COUNT() bfin_read16(MDMA_D2_Y_COUNT) | 1602 | #define bfin_read_MDMA_D2_Y_COUNT() bfin_read16(MDMA_D2_Y_COUNT) |
| 1607 | #define bfin_write_MDMA_D2_Y_COUNT(val) bfin_write16(MDMA_D2_Y_COUNT, val) | 1603 | #define bfin_write_MDMA_D2_Y_COUNT(val) bfin_write16(MDMA_D2_Y_COUNT, val) |
| 1608 | #define bfin_read_MDMA_D2_Y_MODIFY() bfin_read16(MDMA_D2_Y_MODIFY) | 1604 | #define bfin_read_MDMA_D2_Y_MODIFY() bfin_read16(MDMA_D2_Y_MODIFY) |
| 1609 | #define bfin_write_MDMA_D2_Y_MODIFY(val) bfin_write16(MDMA_D2_Y_MODIFY) | 1605 | #define bfin_write_MDMA_D2_Y_MODIFY(val) bfin_write16(MDMA_D2_Y_MODIFY, val) |
| 1610 | #define bfin_read_MDMA_D2_CURR_DESC_PTR() bfin_read32(MDMA_D2_CURR_DESC_PTR) | 1606 | #define bfin_read_MDMA_D2_CURR_DESC_PTR() bfin_read32(MDMA_D2_CURR_DESC_PTR) |
| 1611 | #define bfin_write_MDMA_D2_CURR_DESC_PTR(val) bfin_write32(MDMA_D2_CURR_DESC_PTR) | 1607 | #define bfin_write_MDMA_D2_CURR_DESC_PTR(val) bfin_write32(MDMA_D2_CURR_DESC_PTR, val) |
| 1612 | #define bfin_read_MDMA_D2_CURR_ADDR() bfin_read32(MDMA_D2_CURR_ADDR) | 1608 | #define bfin_read_MDMA_D2_CURR_ADDR() bfin_read32(MDMA_D2_CURR_ADDR) |
| 1613 | #define bfin_write_MDMA_D2_CURR_ADDR(val) bfin_write32(MDMA_D2_CURR_ADDR) | 1609 | #define bfin_write_MDMA_D2_CURR_ADDR(val) bfin_write32(MDMA_D2_CURR_ADDR, val) |
| 1614 | #define bfin_read_MDMA_D2_IRQ_STATUS() bfin_read16(MDMA_D2_IRQ_STATUS) | 1610 | #define bfin_read_MDMA_D2_IRQ_STATUS() bfin_read16(MDMA_D2_IRQ_STATUS) |
| 1615 | #define bfin_write_MDMA_D2_IRQ_STATUS(val) bfin_write16(MDMA_D2_IRQ_STATUS, val) | 1611 | #define bfin_write_MDMA_D2_IRQ_STATUS(val) bfin_write16(MDMA_D2_IRQ_STATUS, val) |
| 1616 | #define bfin_read_MDMA_D2_PERIPHERAL_MAP() bfin_read16(MDMA_D2_PERIPHERAL_MAP) | 1612 | #define bfin_read_MDMA_D2_PERIPHERAL_MAP() bfin_read16(MDMA_D2_PERIPHERAL_MAP) |
| @@ -1620,23 +1616,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1620 | #define bfin_read_MDMA_D2_CURR_Y_COUNT() bfin_read16(MDMA_D2_CURR_Y_COUNT) | 1616 | #define bfin_read_MDMA_D2_CURR_Y_COUNT() bfin_read16(MDMA_D2_CURR_Y_COUNT) |
| 1621 | #define bfin_write_MDMA_D2_CURR_Y_COUNT(val) bfin_write16(MDMA_D2_CURR_Y_COUNT, val) | 1617 | #define bfin_write_MDMA_D2_CURR_Y_COUNT(val) bfin_write16(MDMA_D2_CURR_Y_COUNT, val) |
| 1622 | #define bfin_read_MDMA_S2_NEXT_DESC_PTR() bfin_read32(MDMA_S2_NEXT_DESC_PTR) | 1618 | #define bfin_read_MDMA_S2_NEXT_DESC_PTR() bfin_read32(MDMA_S2_NEXT_DESC_PTR) |
| 1623 | #define bfin_write_MDMA_S2_NEXT_DESC_PTR(val) bfin_write32(MDMA_S2_NEXT_DESC_PTR) | 1619 | #define bfin_write_MDMA_S2_NEXT_DESC_PTR(val) bfin_write32(MDMA_S2_NEXT_DESC_PTR, val) |
| 1624 | #define bfin_read_MDMA_S2_START_ADDR() bfin_read32(MDMA_S2_START_ADDR) | 1620 | #define bfin_read_MDMA_S2_START_ADDR() bfin_read32(MDMA_S2_START_ADDR) |
| 1625 | #define bfin_write_MDMA_S2_START_ADDR(val) bfin_write32(MDMA_S2_START_ADDR) | 1621 | #define bfin_write_MDMA_S2_START_ADDR(val) bfin_write32(MDMA_S2_START_ADDR, val) |
| 1626 | #define bfin_read_MDMA_S2_CONFIG() bfin_read16(MDMA_S2_CONFIG) | 1622 | #define bfin_read_MDMA_S2_CONFIG() bfin_read16(MDMA_S2_CONFIG) |
| 1627 | #define bfin_write_MDMA_S2_CONFIG(val) bfin_write16(MDMA_S2_CONFIG, val) | 1623 | #define bfin_write_MDMA_S2_CONFIG(val) bfin_write16(MDMA_S2_CONFIG, val) |
| 1628 | #define bfin_read_MDMA_S2_X_COUNT() bfin_read16(MDMA_S2_X_COUNT) | 1624 | #define bfin_read_MDMA_S2_X_COUNT() bfin_read16(MDMA_S2_X_COUNT) |
| 1629 | #define bfin_write_MDMA_S2_X_COUNT(val) bfin_write16(MDMA_S2_X_COUNT, val) | 1625 | #define bfin_write_MDMA_S2_X_COUNT(val) bfin_write16(MDMA_S2_X_COUNT, val) |
| 1630 | #define bfin_read_MDMA_S2_X_MODIFY() bfin_read16(MDMA_S2_X_MODIFY) | 1626 | #define bfin_read_MDMA_S2_X_MODIFY() bfin_read16(MDMA_S2_X_MODIFY) |
| 1631 | #define bfin_write_MDMA_S2_X_MODIFY(val) bfin_write16(MDMA_S2_X_MODIFY) | 1627 | #define bfin_write_MDMA_S2_X_MODIFY(val) bfin_write16(MDMA_S2_X_MODIFY, val) |
| 1632 | #define bfin_read_MDMA_S2_Y_COUNT() bfin_read16(MDMA_S2_Y_COUNT) | 1628 | #define bfin_read_MDMA_S2_Y_COUNT() bfin_read16(MDMA_S2_Y_COUNT) |
| 1633 | #define bfin_write_MDMA_S2_Y_COUNT(val) bfin_write16(MDMA_S2_Y_COUNT, val) | 1629 | #define bfin_write_MDMA_S2_Y_COUNT(val) bfin_write16(MDMA_S2_Y_COUNT, val) |
| 1634 | #define bfin_read_MDMA_S2_Y_MODIFY() bfin_read16(MDMA_S2_Y_MODIFY) | 1630 | #define bfin_read_MDMA_S2_Y_MODIFY() bfin_read16(MDMA_S2_Y_MODIFY) |
| 1635 | #define bfin_write_MDMA_S2_Y_MODIFY(val) bfin_write16(MDMA_S2_Y_MODIFY) | 1631 | #define bfin_write_MDMA_S2_Y_MODIFY(val) bfin_write16(MDMA_S2_Y_MODIFY, val) |
| 1636 | #define bfin_read_MDMA_S2_CURR_DESC_PTR() bfin_read32(MDMA_S2_CURR_DESC_PTR) | 1632 | #define bfin_read_MDMA_S2_CURR_DESC_PTR() bfin_read32(MDMA_S2_CURR_DESC_PTR) |
| 1637 | #define bfin_write_MDMA_S2_CURR_DESC_PTR(val) bfin_write32(MDMA_S2_CURR_DESC_PTR) | 1633 | #define bfin_write_MDMA_S2_CURR_DESC_PTR(val) bfin_write32(MDMA_S2_CURR_DESC_PTR, val) |
| 1638 | #define bfin_read_MDMA_S2_CURR_ADDR() bfin_read32(MDMA_S2_CURR_ADDR) | 1634 | #define bfin_read_MDMA_S2_CURR_ADDR() bfin_read32(MDMA_S2_CURR_ADDR) |
| 1639 | #define bfin_write_MDMA_S2_CURR_ADDR(val) bfin_write32(MDMA_S2_CURR_ADDR) | 1635 | #define bfin_write_MDMA_S2_CURR_ADDR(val) bfin_write32(MDMA_S2_CURR_ADDR, val) |
| 1640 | #define bfin_read_MDMA_S2_IRQ_STATUS() bfin_read16(MDMA_S2_IRQ_STATUS) | 1636 | #define bfin_read_MDMA_S2_IRQ_STATUS() bfin_read16(MDMA_S2_IRQ_STATUS) |
| 1641 | #define bfin_write_MDMA_S2_IRQ_STATUS(val) bfin_write16(MDMA_S2_IRQ_STATUS, val) | 1637 | #define bfin_write_MDMA_S2_IRQ_STATUS(val) bfin_write16(MDMA_S2_IRQ_STATUS, val) |
| 1642 | #define bfin_read_MDMA_S2_PERIPHERAL_MAP() bfin_read16(MDMA_S2_PERIPHERAL_MAP) | 1638 | #define bfin_read_MDMA_S2_PERIPHERAL_MAP() bfin_read16(MDMA_S2_PERIPHERAL_MAP) |
| @@ -1649,23 +1645,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1649 | /* MDMA Stream 3 Registers */ | 1645 | /* MDMA Stream 3 Registers */ |
| 1650 | 1646 | ||
| 1651 | #define bfin_read_MDMA_D3_NEXT_DESC_PTR() bfin_read32(MDMA_D3_NEXT_DESC_PTR) | 1647 | #define bfin_read_MDMA_D3_NEXT_DESC_PTR() bfin_read32(MDMA_D3_NEXT_DESC_PTR) |
| 1652 | #define bfin_write_MDMA_D3_NEXT_DESC_PTR(val) bfin_write32(MDMA_D3_NEXT_DESC_PTR) | 1648 | #define bfin_write_MDMA_D3_NEXT_DESC_PTR(val) bfin_write32(MDMA_D3_NEXT_DESC_PTR, val) |
| 1653 | #define bfin_read_MDMA_D3_START_ADDR() bfin_read32(MDMA_D3_START_ADDR) | 1649 | #define bfin_read_MDMA_D3_START_ADDR() bfin_read32(MDMA_D3_START_ADDR) |
| 1654 | #define bfin_write_MDMA_D3_START_ADDR(val) bfin_write32(MDMA_D3_START_ADDR) | 1650 | #define bfin_write_MDMA_D3_START_ADDR(val) bfin_write32(MDMA_D3_START_ADDR, val) |
| 1655 | #define bfin_read_MDMA_D3_CONFIG() bfin_read16(MDMA_D3_CONFIG) | 1651 | #define bfin_read_MDMA_D3_CONFIG() bfin_read16(MDMA_D3_CONFIG) |
| 1656 | #define bfin_write_MDMA_D3_CONFIG(val) bfin_write16(MDMA_D3_CONFIG, val) | 1652 | #define bfin_write_MDMA_D3_CONFIG(val) bfin_write16(MDMA_D3_CONFIG, val) |
| 1657 | #define bfin_read_MDMA_D3_X_COUNT() bfin_read16(MDMA_D3_X_COUNT) | 1653 | #define bfin_read_MDMA_D3_X_COUNT() bfin_read16(MDMA_D3_X_COUNT) |
| 1658 | #define bfin_write_MDMA_D3_X_COUNT(val) bfin_write16(MDMA_D3_X_COUNT, val) | 1654 | #define bfin_write_MDMA_D3_X_COUNT(val) bfin_write16(MDMA_D3_X_COUNT, val) |
| 1659 | #define bfin_read_MDMA_D3_X_MODIFY() bfin_read16(MDMA_D3_X_MODIFY) | 1655 | #define bfin_read_MDMA_D3_X_MODIFY() bfin_read16(MDMA_D3_X_MODIFY) |
| 1660 | #define bfin_write_MDMA_D3_X_MODIFY(val) bfin_write16(MDMA_D3_X_MODIFY) | 1656 | #define bfin_write_MDMA_D3_X_MODIFY(val) bfin_write16(MDMA_D3_X_MODIFY, val) |
| 1661 | #define bfin_read_MDMA_D3_Y_COUNT() bfin_read16(MDMA_D3_Y_COUNT) | 1657 | #define bfin_read_MDMA_D3_Y_COUNT() bfin_read16(MDMA_D3_Y_COUNT) |
| 1662 | #define bfin_write_MDMA_D3_Y_COUNT(val) bfin_write16(MDMA_D3_Y_COUNT, val) | 1658 | #define bfin_write_MDMA_D3_Y_COUNT(val) bfin_write16(MDMA_D3_Y_COUNT, val) |
| 1663 | #define bfin_read_MDMA_D3_Y_MODIFY() bfin_read16(MDMA_D3_Y_MODIFY) | 1659 | #define bfin_read_MDMA_D3_Y_MODIFY() bfin_read16(MDMA_D3_Y_MODIFY) |
| 1664 | #define bfin_write_MDMA_D3_Y_MODIFY(val) bfin_write16(MDMA_D3_Y_MODIFY) | 1660 | #define bfin_write_MDMA_D3_Y_MODIFY(val) bfin_write16(MDMA_D3_Y_MODIFY, val) |
| 1665 | #define bfin_read_MDMA_D3_CURR_DESC_PTR() bfin_read32(MDMA_D3_CURR_DESC_PTR) | 1661 | #define bfin_read_MDMA_D3_CURR_DESC_PTR() bfin_read32(MDMA_D3_CURR_DESC_PTR) |
| 1666 | #define bfin_write_MDMA_D3_CURR_DESC_PTR(val) bfin_write32(MDMA_D3_CURR_DESC_PTR) | 1662 | #define bfin_write_MDMA_D3_CURR_DESC_PTR(val) bfin_write32(MDMA_D3_CURR_DESC_PTR, val) |
| 1667 | #define bfin_read_MDMA_D3_CURR_ADDR() bfin_read32(MDMA_D3_CURR_ADDR) | 1663 | #define bfin_read_MDMA_D3_CURR_ADDR() bfin_read32(MDMA_D3_CURR_ADDR) |
| 1668 | #define bfin_write_MDMA_D3_CURR_ADDR(val) bfin_write32(MDMA_D3_CURR_ADDR) | 1664 | #define bfin_write_MDMA_D3_CURR_ADDR(val) bfin_write32(MDMA_D3_CURR_ADDR, val) |
| 1669 | #define bfin_read_MDMA_D3_IRQ_STATUS() bfin_read16(MDMA_D3_IRQ_STATUS) | 1665 | #define bfin_read_MDMA_D3_IRQ_STATUS() bfin_read16(MDMA_D3_IRQ_STATUS) |
| 1670 | #define bfin_write_MDMA_D3_IRQ_STATUS(val) bfin_write16(MDMA_D3_IRQ_STATUS, val) | 1666 | #define bfin_write_MDMA_D3_IRQ_STATUS(val) bfin_write16(MDMA_D3_IRQ_STATUS, val) |
| 1671 | #define bfin_read_MDMA_D3_PERIPHERAL_MAP() bfin_read16(MDMA_D3_PERIPHERAL_MAP) | 1667 | #define bfin_read_MDMA_D3_PERIPHERAL_MAP() bfin_read16(MDMA_D3_PERIPHERAL_MAP) |
| @@ -1675,23 +1671,23 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 1675 | #define bfin_read_MDMA_D3_CURR_Y_COUNT() bfin_read16(MDMA_D3_CURR_Y_COUNT) | 1671 | #define bfin_read_MDMA_D3_CURR_Y_COUNT() bfin_read16(MDMA_D3_CURR_Y_COUNT) |
| 1676 | #define bfin_write_MDMA_D3_CURR_Y_COUNT(val) bfin_write16(MDMA_D3_CURR_Y_COUNT, val) | 1672 | #define bfin_write_MDMA_D3_CURR_Y_COUNT(val) bfin_write16(MDMA_D3_CURR_Y_COUNT, val) |
| 1677 | #define bfin_read_MDMA_S3_NEXT_DESC_PTR() bfin_read32(MDMA_S3_NEXT_DESC_PTR) | 1673 | #define bfin_read_MDMA_S3_NEXT_DESC_PTR() bfin_read32(MDMA_S3_NEXT_DESC_PTR) |
| 1678 | #define bfin_write_MDMA_S3_NEXT_DESC_PTR(val) bfin_write32(MDMA_S3_NEXT_DESC_PTR) | 1674 | #define bfin_write_MDMA_S3_NEXT_DESC_PTR(val) bfin_write32(MDMA_S3_NEXT_DESC_PTR, val) |
| 1679 | #define bfin_read_MDMA_S3_START_ADDR() bfin_read32(MDMA_S3_START_ADDR) | 1675 | #define bfin_read_MDMA_S3_START_ADDR() bfin_read32(MDMA_S3_START_ADDR) |
| 1680 | #define bfin_write_MDMA_S3_START_ADDR(val) bfin_write32(MDMA_S3_START_ADDR) | 1676 | #define bfin_write_MDMA_S3_START_ADDR(val) bfin_write32(MDMA_S3_START_ADDR, val) |
| 1681 | #define bfin_read_MDMA_S3_CONFIG() bfin_read16(MDMA_S3_CONFIG) | 1677 | #define bfin_read_MDMA_S3_CONFIG() bfin_read16(MDMA_S3_CONFIG) |
| 1682 | #define bfin_write_MDMA_S3_CONFIG(val) bfin_write16(MDMA_S3_CONFIG, val) | 1678 | #define bfin_write_MDMA_S3_CONFIG(val) bfin_write16(MDMA_S3_CONFIG, val) |
| 1683 | #define bfin_read_MDMA_S3_X_COUNT() bfin_read16(MDMA_S3_X_COUNT) | 1679 | #define bfin_read_MDMA_S3_X_COUNT() bfin_read16(MDMA_S3_X_COUNT) |
| 1684 | #define bfin_write_MDMA_S3_X_COUNT(val) bfin_write16(MDMA_S3_X_COUNT, val) | 1680 | #define bfin_write_MDMA_S3_X_COUNT(val) bfin_write16(MDMA_S3_X_COUNT, val) |
| 1685 | #define bfin_read_MDMA_S3_X_MODIFY() bfin_read16(MDMA_S3_X_MODIFY) | 1681 | #define bfin_read_MDMA_S3_X_MODIFY() bfin_read16(MDMA_S3_X_MODIFY) |
| 1686 | #define bfin_write_MDMA_S3_X_MODIFY(val) bfin_write16(MDMA_S3_X_MODIFY) | 1682 | #define bfin_write_MDMA_S3_X_MODIFY(val) bfin_write16(MDMA_S3_X_MODIFY, val) |
| 1687 | #define bfin_read_MDMA_S3_Y_COUNT() bfin_read16(MDMA_S3_Y_COUNT) | 1683 | #define bfin_read_MDMA_S3_Y_COUNT() bfin_read16(MDMA_S3_Y_COUNT) |
| 1688 | #define bfin_write_MDMA_S3_Y_COUNT(val) bfin_write16(MDMA_S3_Y_COUNT, val) | 1684 | #define bfin_write_MDMA_S3_Y_COUNT(val) bfin_write16(MDMA_S3_Y_COUNT, val) |
| 1689 | #define bfin_read_MDMA_S3_Y_MODIFY() bfin_read16(MDMA_S3_Y_MODIFY) | 1685 | #define bfin_read_MDMA_S3_Y_MODIFY() bfin_read16(MDMA_S3_Y_MODIFY) |
| 1690 | #define bfin_write_MDMA_S3_Y_MODIFY(val) bfin_write16(MDMA_S3_Y_MODIFY) | 1686 | #define bfin_write_MDMA_S3_Y_MODIFY(val) bfin_write16(MDMA_S3_Y_MODIFY, val) |
| 1691 | #define bfin_read_MDMA_S3_CURR_DESC_PTR() bfin_read32(MDMA_S3_CURR_DESC_PTR) | 1687 | #define bfin_read_MDMA_S3_CURR_DESC_PTR() bfin_read32(MDMA_S3_CURR_DESC_PTR) |
| 1692 | #define bfin_write_MDMA_S3_CURR_DESC_PTR(val) bfin_write32(MDMA_S3_CURR_DESC_PTR) | 1688 | #define bfin_write_MDMA_S3_CURR_DESC_PTR(val) bfin_write32(MDMA_S3_CURR_DESC_PTR, val) |
| 1693 | #define bfin_read_MDMA_S3_CURR_ADDR() bfin_read32(MDMA_S3_CURR_ADDR) | 1689 | #define bfin_read_MDMA_S3_CURR_ADDR() bfin_read32(MDMA_S3_CURR_ADDR) |
| 1694 | #define bfin_write_MDMA_S3_CURR_ADDR(val) bfin_write32(MDMA_S3_CURR_ADDR) | 1690 | #define bfin_write_MDMA_S3_CURR_ADDR(val) bfin_write32(MDMA_S3_CURR_ADDR, val) |
| 1695 | #define bfin_read_MDMA_S3_IRQ_STATUS() bfin_read16(MDMA_S3_IRQ_STATUS) | 1691 | #define bfin_read_MDMA_S3_IRQ_STATUS() bfin_read16(MDMA_S3_IRQ_STATUS) |
| 1696 | #define bfin_write_MDMA_S3_IRQ_STATUS(val) bfin_write16(MDMA_S3_IRQ_STATUS, val) | 1692 | #define bfin_write_MDMA_S3_IRQ_STATUS(val) bfin_write16(MDMA_S3_IRQ_STATUS, val) |
| 1697 | #define bfin_read_MDMA_S3_PERIPHERAL_MAP() bfin_read16(MDMA_S3_PERIPHERAL_MAP) | 1693 | #define bfin_read_MDMA_S3_PERIPHERAL_MAP() bfin_read16(MDMA_S3_PERIPHERAL_MAP) |
diff --git a/include/asm-blackfin/mach-bf548/dma.h b/include/asm-blackfin/mach-bf548/dma.h index 46ff31f20ae5..36a2ef7e7849 100644 --- a/include/asm-blackfin/mach-bf548/dma.h +++ b/include/asm-blackfin/mach-bf548/dma.h | |||
| @@ -73,6 +73,4 @@ | |||
| 73 | 73 | ||
| 74 | #define MAX_BLACKFIN_DMA_CHANNEL 32 | 74 | #define MAX_BLACKFIN_DMA_CHANNEL 32 |
| 75 | 75 | ||
| 76 | extern int channel2irq(unsigned int channel); | ||
| 77 | extern struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL]; | ||
| 78 | #endif | 76 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/mem_init.h b/include/asm-blackfin/mach-bf548/mem_init.h index befc2903d5a5..ab0b863eee66 100644 --- a/include/asm-blackfin/mach-bf548/mem_init.h +++ b/include/asm-blackfin/mach-bf548/mem_init.h | |||
| @@ -29,16 +29,19 @@ | |||
| 29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| 30 | */ | 30 | */ |
| 31 | #define MIN_DDR_SCLK(x) (x*(CONFIG_SCLK_HZ/1000/1000)/1000 + 1) | 31 | #define MIN_DDR_SCLK(x) (x*(CONFIG_SCLK_HZ/1000/1000)/1000 + 1) |
| 32 | #define MAX_DDR_SCLK(x) (x*(CONFIG_SCLK_HZ/1000/1000)/1000) | ||
| 33 | #define DDR_CLK_HZ(x) (1000*1000*1000/x) | ||
| 32 | 34 | ||
| 33 | #if (CONFIG_MEM_MT46V32M16_6T) | 35 | #if (CONFIG_MEM_MT46V32M16_6T) |
| 34 | #define DDR_SIZE DEVSZ_512 | 36 | #define DDR_SIZE DEVSZ_512 |
| 35 | #define DDR_WIDTH DEVWD_16 | 37 | #define DDR_WIDTH DEVWD_16 |
| 38 | #define DDR_MAX_tCK 13 | ||
| 36 | 39 | ||
| 37 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(60)) | 40 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(60)) |
| 38 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(42)) | 41 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(42)) |
| 39 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) | 42 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) |
| 40 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(72)) | 43 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(72)) |
| 41 | #define DDR_tREFI DDR_TREFI(MIN_DDR_SCLK(7800)) | 44 | #define DDR_tREFI DDR_TREFI(MAX_DDR_SCLK(7800)) |
| 42 | 45 | ||
| 43 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) | 46 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) |
| 44 | #define DDR_tWTR DDR_TWTR(1) | 47 | #define DDR_tWTR DDR_TWTR(1) |
| @@ -49,12 +52,13 @@ | |||
| 49 | #if (CONFIG_MEM_MT46V32M16_5B) | 52 | #if (CONFIG_MEM_MT46V32M16_5B) |
| 50 | #define DDR_SIZE DEVSZ_512 | 53 | #define DDR_SIZE DEVSZ_512 |
| 51 | #define DDR_WIDTH DEVWD_16 | 54 | #define DDR_WIDTH DEVWD_16 |
| 55 | #define DDR_MAX_tCK 13 | ||
| 52 | 56 | ||
| 53 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(55)) | 57 | #define DDR_tRC DDR_TRC(MIN_DDR_SCLK(55)) |
| 54 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(40)) | 58 | #define DDR_tRAS DDR_TRAS(MIN_DDR_SCLK(40)) |
| 55 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) | 59 | #define DDR_tRP DDR_TRP(MIN_DDR_SCLK(15)) |
| 56 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(70)) | 60 | #define DDR_tRFC DDR_TRFC(MIN_DDR_SCLK(70)) |
| 57 | #define DDR_tREFI DDR_TREFI(MIN_DDR_SCLK(7800)) | 61 | #define DDR_tREFI DDR_TREFI(MAX_DDR_SCLK(7800)) |
| 58 | 62 | ||
| 59 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) | 63 | #define DDR_tRCD DDR_TRCD(MIN_DDR_SCLK(15)) |
| 60 | #define DDR_tWTR DDR_TWTR(2) | 64 | #define DDR_tWTR DDR_TWTR(2) |
| @@ -65,6 +69,7 @@ | |||
| 65 | #if (CONFIG_MEM_GENERIC_BOARD) | 69 | #if (CONFIG_MEM_GENERIC_BOARD) |
| 66 | #define DDR_SIZE DEVSZ_512 | 70 | #define DDR_SIZE DEVSZ_512 |
| 67 | #define DDR_WIDTH DEVWD_16 | 71 | #define DDR_WIDTH DEVWD_16 |
| 72 | #define DDR_MAX_tCK 13 | ||
| 68 | 73 | ||
| 69 | #define DDR_tRCD DDR_TRCD(3) | 74 | #define DDR_tRCD DDR_TRCD(3) |
| 70 | #define DDR_tWTR DDR_TWTR(2) | 75 | #define DDR_tWTR DDR_TWTR(2) |
| @@ -77,14 +82,15 @@ | |||
| 77 | #define DDR_tREFI DDR_TREFI(1288) | 82 | #define DDR_tREFI DDR_TREFI(1288) |
| 78 | #endif | 83 | #endif |
| 79 | 84 | ||
| 80 | #if (CONFIG_SCLK_HZ <= 133333333) | 85 | #if (CONFIG_SCLK_HZ < DDR_CLK_HZ(DDR_MAX_tCK)) |
| 81 | #define DDR_CL CL_2 | 86 | # error "CONFIG_SCLK_HZ is too small (<DDR_CLK_HZ(DDR_MAX_tCK) Hz)." |
| 82 | #elif (CONFIG_SCLK_HZ <= 166666666) | 87 | #elif(CONFIG_SCLK_HZ <= 133333333) |
| 83 | #define DDR_CL CL_2_5 | 88 | # define DDR_CL CL_2 |
| 84 | #else | 89 | #else |
| 85 | #define DDR_CL CL_3 | 90 | # error "CONFIG_SCLK_HZ is too large (>133333333 Hz)." |
| 86 | #endif | 91 | #endif |
| 87 | 92 | ||
| 93 | |||
| 88 | #define mem_DDRCTL0 (DDR_tRP | DDR_tRAS | DDR_tRC | DDR_tRFC | DDR_tREFI) | 94 | #define mem_DDRCTL0 (DDR_tRP | DDR_tRAS | DDR_tRC | DDR_tRFC | DDR_tREFI) |
| 89 | #define mem_DDRCTL1 (DDR_DATWIDTH | EXTBANK_1 | DDR_SIZE | DDR_WIDTH | DDR_tWTR \ | 95 | #define mem_DDRCTL1 (DDR_DATWIDTH | EXTBANK_1 | DDR_SIZE | DDR_WIDTH | DDR_tWTR \ |
| 90 | | DDR_tMRD | DDR_tWR | DDR_tRCD) | 96 | | DDR_tMRD | DDR_tWR | DDR_tRCD) |
diff --git a/include/asm-blackfin/mach-bf561/anomaly.h b/include/asm-blackfin/mach-bf561/anomaly.h index 0c1d46193939..82157caa96a2 100644 --- a/include/asm-blackfin/mach-bf561/anomaly.h +++ b/include/asm-blackfin/mach-bf561/anomaly.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
| 10 | * - Revision O, 11/15/2007; ADSP-BF561 Blackfin Processor Anomaly List | 10 | * - Revision P, 02/08/2008; ADSP-BF561 Blackfin Processor Anomaly List |
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
| @@ -256,10 +256,14 @@ | |||
| 256 | #define ANOMALY_05000357 (1) | 256 | #define ANOMALY_05000357 (1) |
| 257 | /* Conflicting Column Address Widths Causes SDRAM Errors */ | 257 | /* Conflicting Column Address Widths Causes SDRAM Errors */ |
| 258 | #define ANOMALY_05000362 (1) | 258 | #define ANOMALY_05000362 (1) |
| 259 | /* UART Break Signal Issues */ | ||
| 260 | #define ANOMALY_05000363 (__SILICON_REVISION__ < 5) | ||
| 259 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ | 261 | /* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */ |
| 260 | #define ANOMALY_05000366 (1) | 262 | #define ANOMALY_05000366 (1) |
| 261 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ | 263 | /* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */ |
| 262 | #define ANOMALY_05000371 (1) | 264 | #define ANOMALY_05000371 (1) |
| 265 | /* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */ | ||
| 266 | #define ANOMALY_05000403 (1) | ||
| 263 | 267 | ||
| 264 | /* Anomalies that don't exist on this proc */ | 268 | /* Anomalies that don't exist on this proc */ |
| 265 | #define ANOMALY_05000158 (0) | 269 | #define ANOMALY_05000158 (0) |
diff --git a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h index b6f513bee56e..8a4e66d1db37 100644 --- a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | |||
| @@ -1,22 +1,38 @@ | |||
| 1 | /* | ||
| 2 | * file: include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | ||
| 3 | * based on: | ||
| 4 | * author: | ||
| 5 | * | ||
| 6 | * created: | ||
| 7 | * description: | ||
| 8 | * blackfin serial driver head file | ||
| 9 | * rev: | ||
| 10 | * | ||
| 11 | * modified: | ||
| 12 | * | ||
| 13 | * | ||
| 14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
| 15 | * | ||
| 16 | * this program is free software; you can redistribute it and/or modify | ||
| 17 | * it under the terms of the gnu general public license as published by | ||
| 18 | * the free software foundation; either version 2, or (at your option) | ||
| 19 | * any later version. | ||
| 20 | * | ||
| 21 | * this program is distributed in the hope that it will be useful, | ||
| 22 | * but without any warranty; without even the implied warranty of | ||
| 23 | * merchantability or fitness for a particular purpose. see the | ||
| 24 | * gnu general public license for more details. | ||
| 25 | * | ||
| 26 | * you should have received a copy of the gnu general public license | ||
| 27 | * along with this program; see the file copying. | ||
| 28 | * if not, write to the free software foundation, | ||
| 29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
| 30 | */ | ||
| 31 | |||
| 1 | #include <linux/serial.h> | 32 | #include <linux/serial.h> |
| 2 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
| 3 | #include <asm/portmux.h> | 34 | #include <asm/portmux.h> |
| 4 | 35 | ||
| 5 | #define NR_PORTS 1 | ||
| 6 | |||
| 7 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 8 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 9 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 10 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 11 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 12 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 13 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 14 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 15 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 16 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 17 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 18 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 19 | |||
| 20 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) | 36 | #define UART_GET_CHAR(uart) bfin_read16(((uart)->port.membase + OFFSET_RBR)) |
| 21 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) | 37 | #define UART_GET_DLL(uart) bfin_read16(((uart)->port.membase + OFFSET_DLL)) |
| 22 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) | 38 | #define UART_GET_IER(uart) bfin_read16(((uart)->port.membase + OFFSET_IER)) |
| @@ -84,7 +100,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart) | |||
| 84 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); | 100 | bfin_write16(uart->port.membase + OFFSET_LSR, -1); |
| 85 | } | 101 | } |
| 86 | 102 | ||
| 87 | struct bfin_serial_port bfin_serial_ports[NR_PORTS]; | 103 | struct bfin_serial_port bfin_serial_ports[BFIN_UART_NR_PORTS]; |
| 88 | struct bfin_serial_res { | 104 | struct bfin_serial_res { |
| 89 | unsigned long uart_base_addr; | 105 | unsigned long uart_base_addr; |
| 90 | int uart_irq; | 106 | int uart_irq; |
| @@ -115,7 +131,7 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
| 115 | 131 | ||
| 116 | #define DRIVER_NAME "bfin-uart" | 132 | #define DRIVER_NAME "bfin-uart" |
| 117 | 133 | ||
| 118 | int nr_ports = NR_PORTS; | 134 | int nr_ports = BFIN_UART_NR_PORTS; |
| 119 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 135 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
| 120 | { | 136 | { |
| 121 | 137 | ||
diff --git a/include/asm-blackfin/mach-bf561/bfin_sir.h b/include/asm-blackfin/mach-bf561/bfin_sir.h new file mode 100644 index 000000000000..cefcf8bb505b --- /dev/null +++ b/include/asm-blackfin/mach-bf561/bfin_sir.h | |||
| @@ -0,0 +1,120 @@ | |||
| 1 | /* | ||
| 2 | * Blackfin Infra-red Driver | ||
| 3 | * | ||
| 4 | * Copyright 2006-2008 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
| 7 | * | ||
| 8 | * Licensed under the GPL-2 or later. | ||
| 9 | * | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include <linux/serial.h> | ||
| 13 | #include <asm/dma.h> | ||
| 14 | #include <asm/portmux.h> | ||
| 15 | |||
| 16 | #define SIR_UART_GET_CHAR(port) bfin_read16((port)->membase + OFFSET_RBR) | ||
| 17 | #define SIR_UART_GET_DLL(port) bfin_read16((port)->membase + OFFSET_DLL) | ||
| 18 | #define SIR_UART_GET_IER(port) bfin_read16((port)->membase + OFFSET_IER) | ||
| 19 | #define SIR_UART_GET_DLH(port) bfin_read16((port)->membase + OFFSET_DLH) | ||
| 20 | #define SIR_UART_GET_IIR(port) bfin_read16((port)->membase + OFFSET_IIR) | ||
| 21 | #define SIR_UART_GET_LCR(port) bfin_read16((port)->membase + OFFSET_LCR) | ||
| 22 | #define SIR_UART_GET_GCTL(port) bfin_read16((port)->membase + OFFSET_GCTL) | ||
| 23 | |||
| 24 | #define SIR_UART_PUT_CHAR(port, v) bfin_write16(((port)->membase + OFFSET_THR), v) | ||
| 25 | #define SIR_UART_PUT_DLL(port, v) bfin_write16(((port)->membase + OFFSET_DLL), v) | ||
| 26 | #define SIR_UART_PUT_IER(port, v) bfin_write16(((port)->membase + OFFSET_IER), v) | ||
| 27 | #define SIR_UART_PUT_DLH(port, v) bfin_write16(((port)->membase + OFFSET_DLH), v) | ||
| 28 | #define SIR_UART_PUT_LCR(port, v) bfin_write16(((port)->membase + OFFSET_LCR), v) | ||
| 29 | #define SIR_UART_PUT_GCTL(port, v) bfin_write16(((port)->membase + OFFSET_GCTL), v) | ||
| 30 | |||
| 31 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 32 | struct dma_rx_buf { | ||
| 33 | char *buf; | ||
| 34 | int head; | ||
| 35 | int tail; | ||
| 36 | }; | ||
| 37 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 38 | |||
| 39 | struct bfin_sir_port { | ||
| 40 | unsigned char __iomem *membase; | ||
| 41 | unsigned int irq; | ||
| 42 | unsigned int lsr; | ||
| 43 | unsigned long clk; | ||
| 44 | struct net_device *dev; | ||
| 45 | #ifdef CONFIG_SIR_BFIN_DMA | ||
| 46 | int tx_done; | ||
| 47 | struct dma_rx_buf rx_dma_buf; | ||
| 48 | struct timer_list rx_dma_timer; | ||
| 49 | int rx_dma_nrows; | ||
| 50 | #endif /* CONFIG_SIR_BFIN_DMA */ | ||
| 51 | unsigned int tx_dma_channel; | ||
| 52 | unsigned int rx_dma_channel; | ||
| 53 | }; | ||
| 54 | |||
| 55 | struct bfin_sir_port sir_ports[BFIN_UART_NR_PORTS]; | ||
| 56 | |||
| 57 | struct bfin_sir_port_res { | ||
| 58 | unsigned long base_addr; | ||
| 59 | int irq; | ||
| 60 | unsigned int rx_dma_channel; | ||
| 61 | unsigned int tx_dma_channel; | ||
| 62 | }; | ||
| 63 | |||
| 64 | struct bfin_sir_port_res bfin_sir_port_resource[] = { | ||
| 65 | #ifdef CONFIG_BFIN_SIR0 | ||
| 66 | { | ||
| 67 | 0xFFC00400, | ||
| 68 | IRQ_UART_RX, | ||
| 69 | CH_UART_RX, | ||
| 70 | CH_UART_TX, | ||
| 71 | }, | ||
| 72 | #endif | ||
| 73 | }; | ||
| 74 | |||
| 75 | int nr_sirs = ARRAY_SIZE(bfin_sir_port_resource); | ||
| 76 | |||
| 77 | struct bfin_sir_self { | ||
| 78 | struct bfin_sir_port *sir_port; | ||
| 79 | spinlock_t lock; | ||
| 80 | unsigned int open; | ||
| 81 | int speed; | ||
| 82 | int newspeed; | ||
| 83 | |||
| 84 | struct sk_buff *txskb; | ||
| 85 | struct sk_buff *rxskb; | ||
| 86 | struct net_device_stats stats; | ||
| 87 | struct device *dev; | ||
| 88 | struct irlap_cb *irlap; | ||
| 89 | struct qos_info qos; | ||
| 90 | |||
| 91 | iobuff_t tx_buff; | ||
| 92 | iobuff_t rx_buff; | ||
| 93 | |||
| 94 | struct work_struct work; | ||
| 95 | int mtt; | ||
| 96 | }; | ||
| 97 | |||
| 98 | static inline unsigned int SIR_UART_GET_LSR(struct bfin_sir_port *port) | ||
| 99 | { | ||
| 100 | unsigned int lsr = bfin_read16(port->membase + OFFSET_LSR); | ||
| 101 | port->lsr |= (lsr & (BI|FE|PE|OE)); | ||
| 102 | return lsr | port->lsr; | ||
| 103 | } | ||
| 104 | |||
| 105 | static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | ||
| 106 | { | ||
| 107 | port->lsr = 0; | ||
| 108 | bfin_read16(port->membase + OFFSET_LSR); | ||
| 109 | } | ||
| 110 | |||
| 111 | #define DRIVER_NAME "bfin_sir" | ||
| 112 | |||
| 113 | static void bfin_sir_hw_init(void) | ||
| 114 | { | ||
| 115 | #ifdef CONFIG_BFIN_SIR0 | ||
| 116 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
| 117 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
| 118 | #endif | ||
| 119 | SSYNC(); | ||
| 120 | } | ||
diff --git a/include/asm-blackfin/mach-bf561/blackfin.h b/include/asm-blackfin/mach-bf561/blackfin.h index 3a16df2c86d8..0ea8666e6764 100644 --- a/include/asm-blackfin/mach-bf561/blackfin.h +++ b/include/asm-blackfin/mach-bf561/blackfin.h | |||
| @@ -69,5 +69,19 @@ | |||
| 69 | #define bfin_read_SIC_ISR(x) bfin_read32(SICA_ISR0 + (x << 2)) | 69 | #define bfin_read_SIC_ISR(x) bfin_read32(SICA_ISR0 + (x << 2)) |
| 70 | #define bfin_write_SIC_ISR(x, val) bfin_write32((SICA_ISR0 + (x << 2)), val) | 70 | #define bfin_write_SIC_ISR(x, val) bfin_write32((SICA_ISR0 + (x << 2)), val) |
| 71 | 71 | ||
| 72 | #define BFIN_UART_NR_PORTS 1 | ||
| 73 | |||
| 74 | #define OFFSET_THR 0x00 /* Transmit Holding register */ | ||
| 75 | #define OFFSET_RBR 0x00 /* Receive Buffer register */ | ||
| 76 | #define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ | ||
| 77 | #define OFFSET_IER 0x04 /* Interrupt Enable Register */ | ||
| 78 | #define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ | ||
| 79 | #define OFFSET_IIR 0x08 /* Interrupt Identification Register */ | ||
| 80 | #define OFFSET_LCR 0x0C /* Line Control Register */ | ||
| 81 | #define OFFSET_MCR 0x10 /* Modem Control Register */ | ||
| 82 | #define OFFSET_LSR 0x14 /* Line Status Register */ | ||
| 83 | #define OFFSET_MSR 0x18 /* Modem Status Register */ | ||
| 84 | #define OFFSET_SCR 0x1C /* SCR Scratch Register */ | ||
| 85 | #define OFFSET_GCTL 0x24 /* Global Control Register */ | ||
| 72 | 86 | ||
| 73 | #endif /* _MACH_BLACKFIN_H_ */ | 87 | #endif /* _MACH_BLACKFIN_H_ */ |
diff --git a/include/asm-blackfin/mach-bf561/cdefBF561.h b/include/asm-blackfin/mach-bf561/cdefBF561.h index 1bc8d2f89ccc..b07ffccd66dd 100644 --- a/include/asm-blackfin/mach-bf561/cdefBF561.h +++ b/include/asm-blackfin/mach-bf561/cdefBF561.h | |||
| @@ -47,7 +47,30 @@ | |||
| 47 | 47 | ||
| 48 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ | 48 | /* Clock and System Control (0xFFC00000 - 0xFFC000FF) */ |
| 49 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) | 49 | #define bfin_read_PLL_CTL() bfin_read16(PLL_CTL) |
| 50 | #define bfin_write_PLL_CTL(val) bfin_write16(PLL_CTL,val) | 50 | /* Writing to PLL_CTL initiates a PLL relock sequence. */ |
| 51 | static __inline__ void bfin_write_PLL_CTL(unsigned int val) | ||
| 52 | { | ||
| 53 | unsigned long flags, iwr0, iwr1; | ||
| 54 | |||
| 55 | if (val == bfin_read_PLL_CTL()) | ||
| 56 | return; | ||
| 57 | |||
| 58 | local_irq_save(flags); | ||
| 59 | /* Enable the PLL Wakeup bit in SIC IWR */ | ||
| 60 | iwr0 = bfin_read32(SICA_IWR0); | ||
| 61 | iwr1 = bfin_read32(SICA_IWR1); | ||
| 62 | /* Only allow PPL Wakeup) */ | ||
| 63 | bfin_write32(SICA_IWR0, IWR_ENABLE(0)); | ||
| 64 | bfin_write32(SICA_IWR1, 0); | ||
| 65 | |||
| 66 | bfin_write16(PLL_CTL, val); | ||
| 67 | SSYNC(); | ||
| 68 | asm("IDLE;"); | ||
| 69 | |||
| 70 | bfin_write32(SICA_IWR0, iwr0); | ||
| 71 | bfin_write32(SICA_IWR1, iwr1); | ||
| 72 | local_irq_restore(flags); | ||
| 73 | } | ||
| 51 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) | 74 | #define bfin_read_PLL_DIV() bfin_read16(PLL_DIV) |
| 52 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) | 75 | #define bfin_write_PLL_DIV(val) bfin_write16(PLL_DIV,val) |
| 53 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) | 76 | #define bfin_read_VR_CTL() bfin_read16(VR_CTL) |
| @@ -56,6 +79,10 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 56 | { | 79 | { |
| 57 | unsigned long flags, iwr0, iwr1; | 80 | unsigned long flags, iwr0, iwr1; |
| 58 | 81 | ||
| 82 | if (val == bfin_read_VR_CTL()) | ||
| 83 | return; | ||
| 84 | |||
| 85 | local_irq_save(flags); | ||
| 59 | /* Enable the PLL Wakeup bit in SIC IWR */ | 86 | /* Enable the PLL Wakeup bit in SIC IWR */ |
| 60 | iwr0 = bfin_read32(SICA_IWR0); | 87 | iwr0 = bfin_read32(SICA_IWR0); |
| 61 | iwr1 = bfin_read32(SICA_IWR1); | 88 | iwr1 = bfin_read32(SICA_IWR1); |
| @@ -65,12 +92,11 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
| 65 | 92 | ||
| 66 | bfin_write16(VR_CTL, val); | 93 | bfin_write16(VR_CTL, val); |
| 67 | SSYNC(); | 94 | SSYNC(); |
| 68 | |||
| 69 | local_irq_save(flags); | ||
| 70 | asm("IDLE;"); | 95 | asm("IDLE;"); |
| 71 | local_irq_restore(flags); | 96 | |
| 72 | bfin_write32(SICA_IWR0, iwr0); | 97 | bfin_write32(SICA_IWR0, iwr0); |
| 73 | bfin_write32(SICA_IWR1, iwr1); | 98 | bfin_write32(SICA_IWR1, iwr1); |
| 99 | local_irq_restore(flags); | ||
| 74 | } | 100 | } |
| 75 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) | 101 | #define bfin_read_PLL_STAT() bfin_read16(PLL_STAT) |
| 76 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) | 102 | #define bfin_write_PLL_STAT(val) bfin_write16(PLL_STAT,val) |
diff --git a/include/asm-blackfin/mach-bf561/defBF561.h b/include/asm-blackfin/mach-bf561/defBF561.h index c3c0eb13c819..366c9b9a0cb7 100644 --- a/include/asm-blackfin/mach-bf561/defBF561.h +++ b/include/asm-blackfin/mach-bf561/defBF561.h | |||
| @@ -110,18 +110,23 @@ | |||
| 110 | #define WDOGB_STAT 0xFFC01208 /* Watchdog Status register */ | 110 | #define WDOGB_STAT 0xFFC01208 /* Watchdog Status register */ |
| 111 | 111 | ||
| 112 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ | 112 | /* UART Controller (0xFFC00400 - 0xFFC004FF) */ |
| 113 | #define UART_THR 0xFFC00400 /* Transmit Holding register */ | 113 | |
| 114 | #define UART_RBR 0xFFC00400 /* Receive Buffer register */ | 114 | /* |
| 115 | #define UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ | 115 | * Because include/linux/serial_reg.h have defined UART_*, |
| 116 | #define UART_IER 0xFFC00404 /* Interrupt Enable Register */ | 116 | * So we define blackfin uart regs to BFIN_UART0_*. |
| 117 | #define UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ | 117 | */ |
| 118 | #define UART_IIR 0xFFC00408 /* Interrupt Identification Register */ | 118 | #define BFIN_UART_THR 0xFFC00400 /* Transmit Holding register */ |
| 119 | #define UART_LCR 0xFFC0040C /* Line Control Register */ | 119 | #define BFIN_UART_RBR 0xFFC00400 /* Receive Buffer register */ |
| 120 | #define UART_MCR 0xFFC00410 /* Modem Control Register */ | 120 | #define BFIN_UART_DLL 0xFFC00400 /* Divisor Latch (Low-Byte) */ |
| 121 | #define UART_LSR 0xFFC00414 /* Line Status Register */ | 121 | #define BFIN_UART_IER 0xFFC00404 /* Interrupt Enable Register */ |
| 122 | #define UART_MSR 0xFFC00418 /* Modem Status Register */ | 122 | #define BFIN_UART_DLH 0xFFC00404 /* Divisor Latch (High-Byte) */ |
| 123 | #define UART_SCR 0xFFC0041C /* SCR Scratch Register */ | 123 | #define BFIN_UART_IIR 0xFFC00408 /* Interrupt Identification Register */ |
| 124 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ | 124 | #define BFIN_UART_LCR 0xFFC0040C /* Line Control Register */ |
| 125 | #define BFIN_UART_MCR 0xFFC00410 /* Modem Control Register */ | ||
| 126 | #define BFIN_UART_LSR 0xFFC00414 /* Line Status Register */ | ||
| 127 | #define BFIN_UART_MSR 0xFFC00418 /* Modem Status Register */ | ||
| 128 | #define BFIN_UART_SCR 0xFFC0041C /* SCR Scratch Register */ | ||
| 129 | #define BFIN_UART_GCTL 0xFFC00424 /* Global Control Register */ | ||
| 125 | 130 | ||
| 126 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 131 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
| 127 | #define SPI0_REGBASE 0xFFC00500 | 132 | #define SPI0_REGBASE 0xFFC00500 |
| @@ -866,6 +871,8 @@ | |||
| 866 | /* PLL_DIV Masks */ | 871 | /* PLL_DIV Masks */ |
| 867 | #define SCLK_DIV(x) (x) /* SCLK = VCO / x */ | 872 | #define SCLK_DIV(x) (x) /* SCLK = VCO / x */ |
| 868 | 873 | ||
| 874 | #define CSEL 0x30 /* Core Select */ | ||
| 875 | #define SSEL 0xf /* System Select */ | ||
| 869 | #define CCLK_DIV1 0x00000000 /* CCLK = VCO / 1 */ | 876 | #define CCLK_DIV1 0x00000000 /* CCLK = VCO / 1 */ |
| 870 | #define CCLK_DIV2 0x00000010 /* CCLK = VCO / 2 */ | 877 | #define CCLK_DIV2 0x00000010 /* CCLK = VCO / 2 */ |
| 871 | #define CCLK_DIV4 0x00000020 /* CCLK = VCO / 4 */ | 878 | #define CCLK_DIV4 0x00000020 /* CCLK = VCO / 4 */ |
diff --git a/include/asm-blackfin/mach-bf561/dma.h b/include/asm-blackfin/mach-bf561/dma.h index 766334b7d8ab..21d982003e75 100644 --- a/include/asm-blackfin/mach-bf561/dma.h +++ b/include/asm-blackfin/mach-bf561/dma.h | |||
| @@ -32,7 +32,4 @@ | |||
| 32 | #define CH_IMEM_STREAM1_SRC 34 | 32 | #define CH_IMEM_STREAM1_SRC 34 |
| 33 | #define CH_IMEM_STREAM1_DEST 35 | 33 | #define CH_IMEM_STREAM1_DEST 35 |
| 34 | 34 | ||
| 35 | extern int channel2irq(unsigned int channel); | ||
| 36 | extern struct dma_register *base_addr[]; | ||
| 37 | |||
| 38 | #endif | 35 | #endif |
diff --git a/include/asm-blackfin/portmux.h b/include/asm-blackfin/portmux.h index 0d3f650d2d99..0807b286cd9e 100644 --- a/include/asm-blackfin/portmux.h +++ b/include/asm-blackfin/portmux.h | |||
| @@ -17,8 +17,8 @@ | |||
| 17 | 17 | ||
| 18 | int peripheral_request(unsigned short per, const char *label); | 18 | int peripheral_request(unsigned short per, const char *label); |
| 19 | void peripheral_free(unsigned short per); | 19 | void peripheral_free(unsigned short per); |
| 20 | int peripheral_request_list(unsigned short per[], const char *label); | 20 | int peripheral_request_list(const unsigned short per[], const char *label); |
| 21 | void peripheral_free_list(unsigned short per[]); | 21 | void peripheral_free_list(const unsigned short per[]); |
| 22 | 22 | ||
| 23 | #include <asm/gpio.h> | 23 | #include <asm/gpio.h> |
| 24 | #include <asm/mach/portmux.h> | 24 | #include <asm/mach/portmux.h> |
diff --git a/include/asm-blackfin/processor.h b/include/asm-blackfin/processor.h index 1033e5c76011..1c0040724612 100644 --- a/include/asm-blackfin/processor.h +++ b/include/asm-blackfin/processor.h | |||
| @@ -26,9 +26,10 @@ static inline void wrusp(unsigned long usp) | |||
| 26 | 26 | ||
| 27 | /* | 27 | /* |
| 28 | * User space process size: 1st byte beyond user address space. | 28 | * User space process size: 1st byte beyond user address space. |
| 29 | * Fairly meaningless on nommu. Parts of user programs can be scattered | ||
| 30 | * in a lot of places, so just disable this by setting it to 0xFFFFFFFF. | ||
| 29 | */ | 31 | */ |
| 30 | extern unsigned long memory_end; | 32 | #define TASK_SIZE 0xFFFFFFFF |
| 31 | #define TASK_SIZE (memory_end) | ||
| 32 | 33 | ||
| 33 | #ifdef __KERNEL__ | 34 | #ifdef __KERNEL__ |
| 34 | #define STACK_TOP TASK_SIZE | 35 | #define STACK_TOP TASK_SIZE |
diff --git a/include/asm-blackfin/signal.h b/include/asm-blackfin/signal.h index 0250429b736a..87951d251458 100644 --- a/include/asm-blackfin/signal.h +++ b/include/asm-blackfin/signal.h | |||
| @@ -143,7 +143,7 @@ struct sigaction { | |||
| 143 | #endif /* __KERNEL__ */ | 143 | #endif /* __KERNEL__ */ |
| 144 | 144 | ||
| 145 | typedef struct sigaltstack { | 145 | typedef struct sigaltstack { |
| 146 | void *ss_sp; | 146 | void __user *ss_sp; |
| 147 | int ss_flags; | 147 | int ss_flags; |
| 148 | size_t ss_size; | 148 | size_t ss_size; |
| 149 | } stack_t; | 149 | } stack_t; |
diff --git a/include/asm-blackfin/thread_info.h b/include/asm-blackfin/thread_info.h index 15b99cf4f50b..bc2fe5accf20 100644 --- a/include/asm-blackfin/thread_info.h +++ b/include/asm-blackfin/thread_info.h | |||
| @@ -81,14 +81,11 @@ struct thread_info { | |||
| 81 | #define init_thread_info (init_thread_union.thread_info) | 81 | #define init_thread_info (init_thread_union.thread_info) |
| 82 | #define init_stack (init_thread_union.stack) | 82 | #define init_stack (init_thread_union.stack) |
| 83 | 83 | ||
| 84 | /* How to get the thread information struct from C */ | 84 | /* Given a task stack pointer, you can find its corresponding |
| 85 | 85 | * thread_info structure just by masking it to the THREAD_SIZE | |
| 86 | static inline struct thread_info *current_thread_info(void) | 86 | * boundary (currently 8K as you can see above). |
| 87 | __attribute__ ((__const__)); | ||
| 88 | |||
| 89 | /* Given a task stack pointer, you can find it's task structure | ||
| 90 | * just by masking it to the 8K boundary. | ||
| 91 | */ | 87 | */ |
| 88 | __attribute_const__ | ||
| 92 | static inline struct thread_info *current_thread_info(void) | 89 | static inline struct thread_info *current_thread_info(void) |
| 93 | { | 90 | { |
| 94 | struct thread_info *ti; | 91 | struct thread_info *ti; |
diff --git a/include/asm-blackfin/time.h b/include/asm-blackfin/time.h new file mode 100644 index 000000000000..6e5859b6ea32 --- /dev/null +++ b/include/asm-blackfin/time.h | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | /* | ||
| 2 | * asm-blackfin/time.h: | ||
| 3 | * | ||
| 4 | * Copyright 2004-2008 Analog Devices Inc. | ||
| 5 | * | ||
| 6 | * Licensed under the GPL-2 or later. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef _ASM_BLACKFIN_TIME_H | ||
| 10 | #define _ASM_BLACKFIN_TIME_H | ||
| 11 | |||
| 12 | /* | ||
| 13 | * The way that the Blackfin core timer works is: | ||
| 14 | * - CCLK is divided by a programmable 8-bit pre-scaler (TSCALE) | ||
| 15 | * - Every time TSCALE ticks, a 32bit is counted down (TCOUNT) | ||
| 16 | * | ||
| 17 | * If you take the fastest clock (1ns, or 1GHz to make the math work easier) | ||
| 18 | * 10ms is 10,000,000 clock ticks, which fits easy into a 32-bit counter | ||
| 19 | * (32 bit counter is 4,294,967,296ns or 4.2 seconds) so, we don't need | ||
| 20 | * to use TSCALE, and program it to zero (which is pass CCLK through). | ||
| 21 | * If you feel like using it, try to keep HZ * TIMESCALE to some | ||
| 22 | * value that divides easy (like power of 2). | ||
| 23 | */ | ||
| 24 | |||
| 25 | #ifndef CONFIG_CPU_FREQ | ||
| 26 | #define TIME_SCALE 1 | ||
| 27 | #else | ||
| 28 | /* | ||
| 29 | * Blackfin CPU frequency scaling supports max Core Clock 1, 1/2 and 1/4 . | ||
| 30 | * Whenever we change the Core Clock frequency changes we immediately | ||
| 31 | * adjust the Core Timer Presale Register. This way we don't lose time. | ||
| 32 | */ | ||
| 33 | #define TIME_SCALE 4 | ||
| 34 | #endif | ||
| 35 | |||
| 36 | #endif | ||
diff --git a/include/asm-blackfin/timex.h b/include/asm-blackfin/timex.h index 828590117f51..22b0806161bb 100644 --- a/include/asm-blackfin/timex.h +++ b/include/asm-blackfin/timex.h | |||
| @@ -1,18 +1,23 @@ | |||
| 1 | /* blackfin architecture timex specifications: Lineo Inc. 2001 | 1 | /* |
| 2 | * asm-blackfin/timex.h: cpu cycles! | ||
| 2 | * | 3 | * |
| 3 | * Based on: include/asm-m68knommu/timex.h | 4 | * Copyright 2004-2008 Analog Devices Inc. |
| 5 | * | ||
| 6 | * Licensed under the GPL-2 or later. | ||
| 4 | */ | 7 | */ |
| 5 | 8 | ||
| 6 | #ifndef _ASMBLACKFIN_TIMEX_H | 9 | #ifndef _ASM_BLACKFIN_TIMEX_H |
| 7 | #define _ASMBLACKFIN_TIMEX_H | 10 | #define _ASM_BLACKFIN_TIMEX_H |
| 8 | 11 | ||
| 9 | #define CLOCK_TICK_RATE 1000000 /* Underlying HZ */ | 12 | #define CLOCK_TICK_RATE 1000000 /* Underlying HZ */ |
| 10 | 13 | ||
| 11 | typedef unsigned long cycles_t; | 14 | typedef unsigned long long cycles_t; |
| 12 | 15 | ||
| 13 | static inline cycles_t get_cycles(void) | 16 | static inline cycles_t get_cycles(void) |
| 14 | { | 17 | { |
| 15 | return 0; | 18 | unsigned long tmp, tmp2; |
| 19 | __asm__("%0 = cycles; %1 = cycles2;" : "=d"(tmp), "=d"(tmp2)); | ||
| 20 | return tmp | ((cycles_t)tmp2 << 32); | ||
| 16 | } | 21 | } |
| 17 | 22 | ||
| 18 | #endif | 23 | #endif |
diff --git a/include/asm-blackfin/trace.h b/include/asm-blackfin/trace.h index ef18afbc2101..312b596b9731 100644 --- a/include/asm-blackfin/trace.h +++ b/include/asm-blackfin/trace.h | |||
| @@ -62,14 +62,14 @@ extern unsigned long software_trace_buff[]; | |||
| 62 | preg.L = LO(TBUFCTL); \ | 62 | preg.L = LO(TBUFCTL); \ |
| 63 | preg.H = HI(TBUFCTL); \ | 63 | preg.H = HI(TBUFCTL); \ |
| 64 | dreg = [preg]; \ | 64 | dreg = [preg]; \ |
| 65 | [sp++] = dreg; \ | 65 | [--sp] = dreg; \ |
| 66 | dreg = 0x1; \ | 66 | dreg = 0x1; \ |
| 67 | [preg] = dreg; | 67 | [preg] = dreg; |
| 68 | 68 | ||
| 69 | #define trace_buffer_restore(preg, dreg) \ | 69 | #define trace_buffer_restore(preg, dreg) \ |
| 70 | preg.L = LO(TBUFCTL); \ | 70 | preg.L = LO(TBUFCTL); \ |
| 71 | preg.H = HI(TBUFCTL); \ | 71 | preg.H = HI(TBUFCTL); \ |
| 72 | dreg = [sp--]; \ | 72 | dreg = [sp++]; \ |
| 73 | [preg] = dreg; | 73 | [preg] = dreg; |
| 74 | 74 | ||
| 75 | #else /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ | 75 | #else /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ |
diff --git a/include/asm-blackfin/uaccess.h b/include/asm-blackfin/uaccess.h index 22a410b8003b..d928b8099056 100644 --- a/include/asm-blackfin/uaccess.h +++ b/include/asm-blackfin/uaccess.h | |||
| @@ -133,7 +133,7 @@ static inline int bad_user_access_length(void) | |||
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | #define __put_user_bad() (printk(KERN_INFO "put_user_bad %s:%d %s\n",\ | 135 | #define __put_user_bad() (printk(KERN_INFO "put_user_bad %s:%d %s\n",\ |
| 136 | __FILE__, __LINE__, __FUNCTION__),\ | 136 | __FILE__, __LINE__, __func__),\ |
| 137 | bad_user_access_length(), (-EFAULT)) | 137 | bad_user_access_length(), (-EFAULT)) |
| 138 | 138 | ||
| 139 | /* | 139 | /* |
| @@ -177,7 +177,7 @@ static inline int bad_user_access_length(void) | |||
| 177 | default: \ | 177 | default: \ |
| 178 | x = 0; \ | 178 | x = 0; \ |
| 179 | printk(KERN_INFO "get_user_bad: %s:%d %s\n", \ | 179 | printk(KERN_INFO "get_user_bad: %s:%d %s\n", \ |
| 180 | __FILE__, __LINE__, __FUNCTION__); \ | 180 | __FILE__, __LINE__, __func__); \ |
| 181 | _err = __get_user_bad(); \ | 181 | _err = __get_user_bad(); \ |
| 182 | break; \ | 182 | break; \ |
| 183 | } \ | 183 | } \ |
diff --git a/include/asm-blackfin/unistd.h b/include/asm-blackfin/unistd.h index c18a399f6e3e..42955d0c439b 100644 --- a/include/asm-blackfin/unistd.h +++ b/include/asm-blackfin/unistd.h | |||
| @@ -265,14 +265,14 @@ | |||
| 265 | /* 258 __NR_remap_file_pages */ | 265 | /* 258 __NR_remap_file_pages */ |
| 266 | #define __NR_set_tid_address 259 | 266 | #define __NR_set_tid_address 259 |
| 267 | #define __NR_timer_create 260 | 267 | #define __NR_timer_create 260 |
| 268 | #define __NR_timer_settime (__NR_timer_create+1) | 268 | #define __NR_timer_settime 261 |
| 269 | #define __NR_timer_gettime (__NR_timer_create+2) | 269 | #define __NR_timer_gettime 262 |
| 270 | #define __NR_timer_getoverrun (__NR_timer_create+3) | 270 | #define __NR_timer_getoverrun 263 |
| 271 | #define __NR_timer_delete (__NR_timer_create+4) | 271 | #define __NR_timer_delete 264 |
| 272 | #define __NR_clock_settime (__NR_timer_create+5) | 272 | #define __NR_clock_settime 265 |
| 273 | #define __NR_clock_gettime (__NR_timer_create+6) | 273 | #define __NR_clock_gettime 266 |
| 274 | #define __NR_clock_getres (__NR_timer_create+7) | 274 | #define __NR_clock_getres 267 |
| 275 | #define __NR_clock_nanosleep (__NR_timer_create+8) | 275 | #define __NR_clock_nanosleep 268 |
| 276 | #define __NR_statfs64 269 | 276 | #define __NR_statfs64 269 |
| 277 | #define __NR_fstatfs64 270 | 277 | #define __NR_fstatfs64 270 |
| 278 | #define __NR_tgkill 271 | 278 | #define __NR_tgkill 271 |
| @@ -283,11 +283,11 @@ | |||
| 283 | /* 276 __NR_get_mempolicy */ | 283 | /* 276 __NR_get_mempolicy */ |
| 284 | /* 277 __NR_set_mempolicy */ | 284 | /* 277 __NR_set_mempolicy */ |
| 285 | #define __NR_mq_open 278 | 285 | #define __NR_mq_open 278 |
| 286 | #define __NR_mq_unlink (__NR_mq_open+1) | 286 | #define __NR_mq_unlink 279 |
| 287 | #define __NR_mq_timedsend (__NR_mq_open+2) | 287 | #define __NR_mq_timedsend 280 |
| 288 | #define __NR_mq_timedreceive (__NR_mq_open+3) | 288 | #define __NR_mq_timedreceive 281 |
| 289 | #define __NR_mq_notify (__NR_mq_open+4) | 289 | #define __NR_mq_notify 282 |
| 290 | #define __NR_mq_getsetattr (__NR_mq_open+5) | 290 | #define __NR_mq_getsetattr 283 |
| 291 | #define __NR_kexec_load 284 | 291 | #define __NR_kexec_load 284 |
| 292 | #define __NR_waitid 285 | 292 | #define __NR_waitid 285 |
| 293 | #define __NR_add_key 286 | 293 | #define __NR_add_key 286 |
diff --git a/include/asm-sparc/device.h b/include/asm-sparc/device.h index 680e51d87374..19790eb99cc6 100644 --- a/include/asm-sparc/device.h +++ b/include/asm-sparc/device.h | |||
| @@ -16,6 +16,8 @@ struct dev_archdata { | |||
| 16 | 16 | ||
| 17 | struct device_node *prom_node; | 17 | struct device_node *prom_node; |
| 18 | struct of_device *op; | 18 | struct of_device *op; |
| 19 | |||
| 20 | int numa_node; | ||
| 19 | }; | 21 | }; |
| 20 | 22 | ||
| 21 | #endif /* _ASM_SPARC_DEVICE_H */ | 23 | #endif /* _ASM_SPARC_DEVICE_H */ |
diff --git a/include/asm-sparc/prom.h b/include/asm-sparc/prom.h index df5dc4422483..fd55522481cd 100644 --- a/include/asm-sparc/prom.h +++ b/include/asm-sparc/prom.h | |||
| @@ -77,6 +77,11 @@ extern int of_getintprop_default(struct device_node *np, | |||
| 77 | const char *name, | 77 | const char *name, |
| 78 | int def); | 78 | int def); |
| 79 | extern int of_find_in_proplist(const char *list, const char *match, int len); | 79 | extern int of_find_in_proplist(const char *list, const char *match, int len); |
| 80 | #ifdef CONFIG_NUMA | ||
| 81 | extern int of_node_to_nid(struct device_node *dp); | ||
| 82 | #else | ||
| 83 | #define of_node_to_nid(dp) (-1) | ||
| 84 | #endif | ||
| 80 | 85 | ||
| 81 | extern void prom_build_devicetree(void); | 86 | extern void prom_build_devicetree(void); |
| 82 | 87 | ||
diff --git a/include/asm-sparc64/iommu.h b/include/asm-sparc64/iommu.h index 46325ddee23b..d7b9afcba08b 100644 --- a/include/asm-sparc64/iommu.h +++ b/include/asm-sparc64/iommu.h | |||
| @@ -56,6 +56,7 @@ struct strbuf { | |||
| 56 | }; | 56 | }; |
| 57 | 57 | ||
| 58 | extern int iommu_table_init(struct iommu *iommu, int tsbsize, | 58 | extern int iommu_table_init(struct iommu *iommu, int tsbsize, |
| 59 | u32 dma_offset, u32 dma_addr_mask); | 59 | u32 dma_offset, u32 dma_addr_mask, |
| 60 | int numa_node); | ||
| 60 | 61 | ||
| 61 | #endif /* !(_SPARC64_IOMMU_H) */ | 62 | #endif /* !(_SPARC64_IOMMU_H) */ |
diff --git a/include/asm-sparc64/mmzone.h b/include/asm-sparc64/mmzone.h new file mode 100644 index 000000000000..ebf5986c12ed --- /dev/null +++ b/include/asm-sparc64/mmzone.h | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #ifndef _SPARC64_MMZONE_H | ||
| 2 | #define _SPARC64_MMZONE_H | ||
| 3 | |||
| 4 | #ifdef CONFIG_NEED_MULTIPLE_NODES | ||
| 5 | |||
| 6 | extern struct pglist_data *node_data[]; | ||
| 7 | |||
| 8 | #define NODE_DATA(nid) (node_data[nid]) | ||
| 9 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | ||
| 10 | #define node_end_pfn(nid) (NODE_DATA(nid)->node_end_pfn) | ||
| 11 | |||
| 12 | extern int numa_cpu_lookup_table[]; | ||
| 13 | extern cpumask_t numa_cpumask_lookup_table[]; | ||
| 14 | |||
| 15 | #endif /* CONFIG_NEED_MULTIPLE_NODES */ | ||
| 16 | |||
| 17 | #endif /* _SPARC64_MMZONE_H */ | ||
diff --git a/include/asm-sparc64/numnodes.h b/include/asm-sparc64/numnodes.h deleted file mode 100644 index 017e7e74f5e7..000000000000 --- a/include/asm-sparc64/numnodes.h +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | #ifndef _SPARC64_NUMNODES_H | ||
| 2 | #define _SPARC64_NUMNODES_H | ||
| 3 | |||
| 4 | #define NODES_SHIFT 0 | ||
| 5 | |||
| 6 | #endif /* !(_SPARC64_NUMNODES_H) */ | ||
diff --git a/include/asm-sparc64/ptrace.h b/include/asm-sparc64/ptrace.h index 6da197803efc..b4b951d570bb 100644 --- a/include/asm-sparc64/ptrace.h +++ b/include/asm-sparc64/ptrace.h | |||
| @@ -8,6 +8,8 @@ | |||
| 8 | * stack during a system call and basically all traps. | 8 | * stack during a system call and basically all traps. |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #define PT_REGS_MAGIC 0x57ac6c00 | ||
| 12 | |||
| 11 | #ifndef __ASSEMBLY__ | 13 | #ifndef __ASSEMBLY__ |
| 12 | 14 | ||
| 13 | struct pt_regs { | 15 | struct pt_regs { |
| @@ -16,7 +18,19 @@ struct pt_regs { | |||
| 16 | unsigned long tpc; | 18 | unsigned long tpc; |
| 17 | unsigned long tnpc; | 19 | unsigned long tnpc; |
| 18 | unsigned int y; | 20 | unsigned int y; |
| 19 | unsigned int fprs; | 21 | |
| 22 | /* We encode a magic number, PT_REGS_MAGIC, along | ||
| 23 | * with the %tt (trap type) register value at trap | ||
| 24 | * entry time. The magic number allows us to identify | ||
| 25 | * accurately a trap stack frame in the stack | ||
| 26 | * unwinder, and the %tt value allows us to test | ||
| 27 | * things like "in a system call" etc. for an arbitray | ||
| 28 | * process. | ||
| 29 | * | ||
| 30 | * The PT_REGS_MAGIC is choosen such that it can be | ||
| 31 | * loaded completely using just a sethi instruction. | ||
| 32 | */ | ||
| 33 | unsigned int magic; | ||
| 20 | }; | 34 | }; |
| 21 | 35 | ||
| 22 | struct pt_regs32 { | 36 | struct pt_regs32 { |
| @@ -147,7 +161,7 @@ extern void __show_regs(struct pt_regs *); | |||
| 147 | #define PT_V9_TPC 0x88 | 161 | #define PT_V9_TPC 0x88 |
| 148 | #define PT_V9_TNPC 0x90 | 162 | #define PT_V9_TNPC 0x90 |
| 149 | #define PT_V9_Y 0x98 | 163 | #define PT_V9_Y 0x98 |
| 150 | #define PT_V9_FPRS 0x9c | 164 | #define PT_V9_MAGIC 0x9c |
| 151 | #define PT_TSTATE PT_V9_TSTATE | 165 | #define PT_TSTATE PT_V9_TSTATE |
| 152 | #define PT_TPC PT_V9_TPC | 166 | #define PT_TPC PT_V9_TPC |
| 153 | #define PT_TNPC PT_V9_TNPC | 167 | #define PT_TNPC PT_V9_TNPC |
diff --git a/include/asm-sparc64/sparsemem.h b/include/asm-sparc64/sparsemem.h index 77bcd2bfa53c..b99d4e4b6d28 100644 --- a/include/asm-sparc64/sparsemem.h +++ b/include/asm-sparc64/sparsemem.h | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #ifdef __KERNEL__ | 4 | #ifdef __KERNEL__ |
| 5 | 5 | ||
| 6 | #define SECTION_SIZE_BITS 31 | 6 | #define SECTION_SIZE_BITS 30 |
| 7 | #define MAX_PHYSADDR_BITS 42 | 7 | #define MAX_PHYSADDR_BITS 42 |
| 8 | #define MAX_PHYSMEM_BITS 42 | 8 | #define MAX_PHYSMEM_BITS 42 |
| 9 | 9 | ||
diff --git a/include/asm-sparc64/topology.h b/include/asm-sparc64/topology.h index c6b557034f68..001c04027c82 100644 --- a/include/asm-sparc64/topology.h +++ b/include/asm-sparc64/topology.h | |||
| @@ -1,6 +1,77 @@ | |||
| 1 | #ifndef _ASM_SPARC64_TOPOLOGY_H | 1 | #ifndef _ASM_SPARC64_TOPOLOGY_H |
| 2 | #define _ASM_SPARC64_TOPOLOGY_H | 2 | #define _ASM_SPARC64_TOPOLOGY_H |
| 3 | 3 | ||
| 4 | #ifdef CONFIG_NUMA | ||
| 5 | |||
| 6 | #include <asm/mmzone.h> | ||
| 7 | |||
| 8 | static inline int cpu_to_node(int cpu) | ||
| 9 | { | ||
| 10 | return numa_cpu_lookup_table[cpu]; | ||
| 11 | } | ||
| 12 | |||
| 13 | #define parent_node(node) (node) | ||
| 14 | |||
| 15 | static inline cpumask_t node_to_cpumask(int node) | ||
| 16 | { | ||
| 17 | return numa_cpumask_lookup_table[node]; | ||
| 18 | } | ||
| 19 | |||
| 20 | /* Returns a pointer to the cpumask of CPUs on Node 'node'. */ | ||
| 21 | #define node_to_cpumask_ptr(v, node) \ | ||
| 22 | cpumask_t *v = &(numa_cpumask_lookup_table[node]) | ||
| 23 | |||
| 24 | #define node_to_cpumask_ptr_next(v, node) \ | ||
| 25 | v = &(numa_cpumask_lookup_table[node]) | ||
| 26 | |||
| 27 | static inline int node_to_first_cpu(int node) | ||
| 28 | { | ||
| 29 | cpumask_t tmp; | ||
| 30 | tmp = node_to_cpumask(node); | ||
| 31 | return first_cpu(tmp); | ||
| 32 | } | ||
| 33 | |||
| 34 | struct pci_bus; | ||
| 35 | #ifdef CONFIG_PCI | ||
| 36 | extern int pcibus_to_node(struct pci_bus *pbus); | ||
| 37 | #else | ||
| 38 | static inline int pcibus_to_node(struct pci_bus *pbus) | ||
| 39 | { | ||
| 40 | return -1; | ||
| 41 | } | ||
| 42 | #endif | ||
| 43 | |||
| 44 | #define pcibus_to_cpumask(bus) \ | ||
| 45 | (pcibus_to_node(bus) == -1 ? \ | ||
| 46 | CPU_MASK_ALL : \ | ||
| 47 | node_to_cpumask(pcibus_to_node(bus))) | ||
| 48 | |||
| 49 | #define SD_NODE_INIT (struct sched_domain) { \ | ||
| 50 | .min_interval = 8, \ | ||
| 51 | .max_interval = 32, \ | ||
| 52 | .busy_factor = 32, \ | ||
| 53 | .imbalance_pct = 125, \ | ||
| 54 | .cache_nice_tries = 2, \ | ||
| 55 | .busy_idx = 3, \ | ||
| 56 | .idle_idx = 2, \ | ||
| 57 | .newidle_idx = 0, \ | ||
| 58 | .wake_idx = 1, \ | ||
| 59 | .forkexec_idx = 1, \ | ||
| 60 | .flags = SD_LOAD_BALANCE \ | ||
| 61 | | SD_BALANCE_FORK \ | ||
| 62 | | SD_BALANCE_EXEC \ | ||
| 63 | | SD_SERIALIZE \ | ||
| 64 | | SD_WAKE_BALANCE, \ | ||
| 65 | .last_balance = jiffies, \ | ||
| 66 | .balance_interval = 1, \ | ||
| 67 | } | ||
| 68 | |||
| 69 | #else /* CONFIG_NUMA */ | ||
| 70 | |||
| 71 | #include <asm-generic/topology.h> | ||
| 72 | |||
| 73 | #endif /* !(CONFIG_NUMA) */ | ||
| 74 | |||
| 4 | #ifdef CONFIG_SMP | 75 | #ifdef CONFIG_SMP |
| 5 | #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) | 76 | #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) |
| 6 | #define topology_core_id(cpu) (cpu_data(cpu).core_id) | 77 | #define topology_core_id(cpu) (cpu_data(cpu).core_id) |
| @@ -10,8 +81,6 @@ | |||
| 10 | #define smt_capable() (sparc64_multi_core) | 81 | #define smt_capable() (sparc64_multi_core) |
| 11 | #endif /* CONFIG_SMP */ | 82 | #endif /* CONFIG_SMP */ |
| 12 | 83 | ||
| 13 | #include <asm-generic/topology.h> | ||
| 14 | |||
| 15 | #define cpu_coregroup_map(cpu) (cpu_core_map[cpu]) | 84 | #define cpu_coregroup_map(cpu) (cpu_core_map[cpu]) |
| 16 | 85 | ||
| 17 | #endif /* _ASM_SPARC64_TOPOLOGY_H */ | 86 | #endif /* _ASM_SPARC64_TOPOLOGY_H */ |
diff --git a/include/asm-sparc64/ttable.h b/include/asm-sparc64/ttable.h index 7208a777750e..d3cc4eff39a6 100644 --- a/include/asm-sparc64/ttable.h +++ b/include/asm-sparc64/ttable.h | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | call routine; \ | 28 | call routine; \ |
| 29 | add %sp, PTREGS_OFF, %o0; \ | 29 | add %sp, PTREGS_OFF, %o0; \ |
| 30 | ba,pt %xcc, rtrap; \ | 30 | ba,pt %xcc, rtrap; \ |
| 31 | clr %l6; \ | 31 | nop; \ |
| 32 | nop; | 32 | nop; |
| 33 | 33 | ||
| 34 | #define TRAP_7INSNS(routine) \ | 34 | #define TRAP_7INSNS(routine) \ |
| @@ -38,7 +38,7 @@ | |||
| 38 | call routine; \ | 38 | call routine; \ |
| 39 | add %sp, PTREGS_OFF, %o0; \ | 39 | add %sp, PTREGS_OFF, %o0; \ |
| 40 | ba,pt %xcc, rtrap; \ | 40 | ba,pt %xcc, rtrap; \ |
| 41 | clr %l6; | 41 | nop; |
| 42 | 42 | ||
| 43 | #define TRAP_SAVEFPU(routine) \ | 43 | #define TRAP_SAVEFPU(routine) \ |
| 44 | sethi %hi(109f), %g7; \ | 44 | sethi %hi(109f), %g7; \ |
| @@ -47,7 +47,7 @@ | |||
| 47 | call routine; \ | 47 | call routine; \ |
| 48 | add %sp, PTREGS_OFF, %o0; \ | 48 | add %sp, PTREGS_OFF, %o0; \ |
| 49 | ba,pt %xcc, rtrap; \ | 49 | ba,pt %xcc, rtrap; \ |
| 50 | clr %l6; \ | 50 | nop; \ |
| 51 | nop; | 51 | nop; |
| 52 | 52 | ||
| 53 | #define TRAP_NOSAVE(routine) \ | 53 | #define TRAP_NOSAVE(routine) \ |
| @@ -67,7 +67,7 @@ | |||
| 67 | call routine; \ | 67 | call routine; \ |
| 68 | add %sp, PTREGS_OFF, %o0; \ | 68 | add %sp, PTREGS_OFF, %o0; \ |
| 69 | ba,pt %xcc, rtrap; \ | 69 | ba,pt %xcc, rtrap; \ |
| 70 | clr %l6; \ | 70 | nop; \ |
| 71 | nop; | 71 | nop; |
| 72 | 72 | ||
| 73 | #define TRAP_ARG(routine, arg) \ | 73 | #define TRAP_ARG(routine, arg) \ |
| @@ -78,7 +78,7 @@ | |||
| 78 | call routine; \ | 78 | call routine; \ |
| 79 | mov arg, %o1; \ | 79 | mov arg, %o1; \ |
| 80 | ba,pt %xcc, rtrap; \ | 80 | ba,pt %xcc, rtrap; \ |
| 81 | clr %l6; | 81 | nop; |
| 82 | 82 | ||
| 83 | #define TRAPTL1_ARG(routine, arg) \ | 83 | #define TRAPTL1_ARG(routine, arg) \ |
| 84 | sethi %hi(109f), %g7; \ | 84 | sethi %hi(109f), %g7; \ |
| @@ -88,7 +88,7 @@ | |||
| 88 | call routine; \ | 88 | call routine; \ |
| 89 | mov arg, %o1; \ | 89 | mov arg, %o1; \ |
| 90 | ba,pt %xcc, rtrap; \ | 90 | ba,pt %xcc, rtrap; \ |
| 91 | clr %l6; | 91 | nop; |
| 92 | 92 | ||
| 93 | #define SYSCALL_TRAP(routine, systbl) \ | 93 | #define SYSCALL_TRAP(routine, systbl) \ |
| 94 | sethi %hi(109f), %g7; \ | 94 | sethi %hi(109f), %g7; \ |
| @@ -166,7 +166,7 @@ | |||
| 166 | ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1; \ | 166 | ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1; \ |
| 167 | add %l1, 4, %l2; \ | 167 | add %l1, 4, %l2; \ |
| 168 | stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC]; \ | 168 | stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC]; \ |
| 169 | ba,pt %xcc, rtrap_clr_l6; \ | 169 | ba,pt %xcc, rtrap; \ |
| 170 | stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC]; | 170 | stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC]; |
| 171 | 171 | ||
| 172 | #ifdef CONFIG_KPROBES | 172 | #ifdef CONFIG_KPROBES |
diff --git a/include/linux/dvb/dmx.h b/include/linux/dvb/dmx.h index c6a2353c4e68..402fb7a8d922 100644 --- a/include/linux/dvb/dmx.h +++ b/include/linux/dvb/dmx.h | |||
| @@ -39,9 +39,10 @@ typedef enum | |||
| 39 | DMX_OUT_DECODER, /* Streaming directly to decoder. */ | 39 | DMX_OUT_DECODER, /* Streaming directly to decoder. */ |
| 40 | DMX_OUT_TAP, /* Output going to a memory buffer */ | 40 | DMX_OUT_TAP, /* Output going to a memory buffer */ |
| 41 | /* (to be retrieved via the read command).*/ | 41 | /* (to be retrieved via the read command).*/ |
| 42 | DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ | 42 | DMX_OUT_TS_TAP, /* Output multiplexed into a new TS */ |
| 43 | /* (to be retrieved by reading from the */ | 43 | /* (to be retrieved by reading from the */ |
| 44 | /* logical DVR device). */ | 44 | /* logical DVR device). */ |
| 45 | DMX_OUT_TSDEMUX_TAP /* Like TS_TAP but retrieved from the DMX device */ | ||
| 45 | } dmx_output_t; | 46 | } dmx_output_t; |
| 46 | 47 | ||
| 47 | 48 | ||
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index b979112f74e0..32eb8bbe4831 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h | |||
| @@ -125,6 +125,7 @@ | |||
| 125 | #define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ | 125 | #define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ |
| 126 | #define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */ | 126 | #define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */ |
| 127 | #define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ | 127 | #define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ |
| 128 | #define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */ | ||
| 128 | 129 | ||
| 129 | /* --- PCF 8584 based algorithms */ | 130 | /* --- PCF 8584 based algorithms */ |
| 130 | #define I2C_HW_P_ELEK 0x020002 /* Elektor ISA Bus inteface card */ | 131 | #define I2C_HW_P_ELEK 0x020002 /* Elektor ISA Bus inteface card */ |
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index f27d11ab418b..529f301d9372 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
| @@ -465,13 +465,19 @@ enum ieee80211_eid { | |||
| 465 | WLAN_EID_TS_DELAY = 43, | 465 | WLAN_EID_TS_DELAY = 43, |
| 466 | WLAN_EID_TCLAS_PROCESSING = 44, | 466 | WLAN_EID_TCLAS_PROCESSING = 44, |
| 467 | WLAN_EID_QOS_CAPA = 46, | 467 | WLAN_EID_QOS_CAPA = 46, |
| 468 | /* 802.11s */ | 468 | /* 802.11s |
| 469 | WLAN_EID_MESH_CONFIG = 36, /* Pending IEEE 802.11 ANA approval */ | 469 | * |
| 470 | WLAN_EID_MESH_ID = 37, /* Pending IEEE 802.11 ANA approval */ | 470 | * All mesh EID numbers are pending IEEE 802.11 ANA approval. |
| 471 | WLAN_EID_PEER_LINK = 40, /* Pending IEEE 802.11 ANA approval */ | 471 | * The numbers have been incremented from those suggested in |
| 472 | WLAN_EID_PREQ = 53, /* Pending IEEE 802.11 ANA approval */ | 472 | * 802.11s/D2.0 so that MESH_CONFIG does not conflict with |
| 473 | WLAN_EID_PREP = 54, /* Pending IEEE 802.11 ANA approval */ | 473 | * EXT_SUPP_RATES. |
| 474 | WLAN_EID_PERR = 55, /* Pending IEEE 802.11 ANA approval */ | 474 | */ |
| 475 | WLAN_EID_MESH_CONFIG = 51, | ||
| 476 | WLAN_EID_MESH_ID = 52, | ||
| 477 | WLAN_EID_PEER_LINK = 55, | ||
| 478 | WLAN_EID_PREQ = 68, | ||
| 479 | WLAN_EID_PREP = 69, | ||
| 480 | WLAN_EID_PERR = 70, | ||
| 475 | /* 802.11h */ | 481 | /* 802.11h */ |
| 476 | WLAN_EID_PWR_CONSTRAINT = 32, | 482 | WLAN_EID_PWR_CONSTRAINT = 32, |
| 477 | WLAN_EID_PWR_CAPABILITY = 33, | 483 | WLAN_EID_PWR_CAPABILITY = 33, |
diff --git a/include/linux/meye.h b/include/linux/meye.h index 39fd9c8ddd4b..12010ace1f04 100644 --- a/include/linux/meye.h +++ b/include/linux/meye.h | |||
| @@ -58,7 +58,7 @@ struct meye_params { | |||
| 58 | 58 | ||
| 59 | /* V4L2 private controls */ | 59 | /* V4L2 private controls */ |
| 60 | #define V4L2_CID_AGC V4L2_CID_PRIVATE_BASE | 60 | #define V4L2_CID_AGC V4L2_CID_PRIVATE_BASE |
| 61 | #define V4L2_CID_SHARPNESS (V4L2_CID_PRIVATE_BASE + 1) | 61 | #define V4L2_CID_MEYE_SHARPNESS (V4L2_CID_PRIVATE_BASE + 1) |
| 62 | #define V4L2_CID_PICTURE (V4L2_CID_PRIVATE_BASE + 2) | 62 | #define V4L2_CID_PICTURE (V4L2_CID_PRIVATE_BASE + 2) |
| 63 | #define V4L2_CID_JPEGQUAL (V4L2_CID_PRIVATE_BASE + 3) | 63 | #define V4L2_CID_JPEGQUAL (V4L2_CID_PRIVATE_BASE + 3) |
| 64 | #define V4L2_CID_FRAMERATE (V4L2_CID_PRIVATE_BASE + 4) | 64 | #define V4L2_CID_FRAMERATE (V4L2_CID_PRIVATE_BASE + 4) |
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index b9e174079002..44c81c744538 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
| @@ -740,13 +740,13 @@ extern void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change); | |||
| 740 | extern void rtnl_lock(void); | 740 | extern void rtnl_lock(void); |
| 741 | extern void rtnl_unlock(void); | 741 | extern void rtnl_unlock(void); |
| 742 | extern int rtnl_trylock(void); | 742 | extern int rtnl_trylock(void); |
| 743 | extern int rtnl_is_locked(void); | ||
| 743 | 744 | ||
| 744 | extern void rtnetlink_init(void); | 745 | extern void rtnetlink_init(void); |
| 745 | extern void __rtnl_unlock(void); | 746 | extern void __rtnl_unlock(void); |
| 746 | 747 | ||
| 747 | #define ASSERT_RTNL() do { \ | 748 | #define ASSERT_RTNL() do { \ |
| 748 | if (unlikely(rtnl_trylock())) { \ | 749 | if (unlikely(!rtnl_is_locked())) { \ |
| 749 | rtnl_unlock(); \ | ||
| 750 | printk(KERN_ERR "RTNL: assertion failed at %s (%d)\n", \ | 750 | printk(KERN_ERR "RTNL: assertion failed at %s (%d)\n", \ |
| 751 | __FILE__, __LINE__); \ | 751 | __FILE__, __LINE__); \ |
| 752 | dump_stack(); \ | 752 | dump_stack(); \ |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 17a80177a674..c1411189ba6c 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
| @@ -282,6 +282,7 @@ struct v4l2_pix_format | |||
| 282 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B','G','R','4') /* 32 BGR-8-8-8-8 */ | 282 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B','G','R','4') /* 32 BGR-8-8-8-8 */ |
| 283 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R','G','B','4') /* 32 RGB-8-8-8-8 */ | 283 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R','G','B','4') /* 32 RGB-8-8-8-8 */ |
| 284 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G','R','E','Y') /* 8 Greyscale */ | 284 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G','R','E','Y') /* 8 Greyscale */ |
| 285 | #define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y','1','6',' ') /* 16 Greyscale */ | ||
| 285 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P','A','L','8') /* 8 8-bit palette */ | 286 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P','A','L','8') /* 8 8-bit palette */ |
| 286 | #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y','V','U','9') /* 9 YVU 4:1:0 */ | 287 | #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y','V','U','9') /* 9 YVU 4:1:0 */ |
| 287 | #define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y','V','1','2') /* 12 YVU 4:2:0 */ | 288 | #define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y','V','1','2') /* 12 YVU 4:2:0 */ |
| @@ -308,6 +309,7 @@ struct v4l2_pix_format | |||
| 308 | 309 | ||
| 309 | /* see http://www.siliconimaging.com/RGB%20Bayer.htm */ | 310 | /* see http://www.siliconimaging.com/RGB%20Bayer.htm */ |
| 310 | #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1') /* 8 BGBG.. GRGR.. */ | 311 | #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1') /* 8 BGBG.. GRGR.. */ |
| 312 | #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B','Y','R','2') /* 16 BGBG.. GRGR.. */ | ||
| 311 | 313 | ||
| 312 | /* compressed formats */ | 314 | /* compressed formats */ |
| 313 | #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M','J','P','G') /* Motion-JPEG */ | 315 | #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M','J','P','G') /* Motion-JPEG */ |
| @@ -793,6 +795,7 @@ struct v4l2_ext_controls | |||
| 793 | /* Values for ctrl_class field */ | 795 | /* Values for ctrl_class field */ |
| 794 | #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ | 796 | #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ |
| 795 | #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ | 797 | #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ |
| 798 | #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ | ||
| 796 | 799 | ||
| 797 | #define V4L2_CTRL_ID_MASK (0x0fffffff) | 800 | #define V4L2_CTRL_ID_MASK (0x0fffffff) |
| 798 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) | 801 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) |
| @@ -849,21 +852,37 @@ struct v4l2_querymenu | |||
| 849 | #define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8) | 852 | #define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8) |
| 850 | #define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9) | 853 | #define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9) |
| 851 | #define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10) | 854 | #define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10) |
| 852 | #define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) | 855 | #define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) /* Deprecated */ |
| 853 | #define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12) | 856 | #define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12) |
| 854 | #define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13) | 857 | #define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13) |
| 855 | #define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14) | 858 | #define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14) |
| 856 | #define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15) | 859 | #define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15) |
| 857 | #define V4L2_CID_GAMMA (V4L2_CID_BASE+16) | 860 | #define V4L2_CID_GAMMA (V4L2_CID_BASE+16) |
| 858 | #define V4L2_CID_WHITENESS (V4L2_CID_GAMMA) /* ? Not sure */ | 861 | #define V4L2_CID_WHITENESS (V4L2_CID_GAMMA) /* Deprecated */ |
| 859 | #define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17) | 862 | #define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17) |
| 860 | #define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18) | 863 | #define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18) |
| 861 | #define V4L2_CID_GAIN (V4L2_CID_BASE+19) | 864 | #define V4L2_CID_GAIN (V4L2_CID_BASE+19) |
| 862 | #define V4L2_CID_HFLIP (V4L2_CID_BASE+20) | 865 | #define V4L2_CID_HFLIP (V4L2_CID_BASE+20) |
| 863 | #define V4L2_CID_VFLIP (V4L2_CID_BASE+21) | 866 | #define V4L2_CID_VFLIP (V4L2_CID_BASE+21) |
| 864 | #define V4L2_CID_HCENTER (V4L2_CID_BASE+22) | 867 | |
| 865 | #define V4L2_CID_VCENTER (V4L2_CID_BASE+23) | 868 | /* Deprecated, use V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET */ |
| 866 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+24) /* last CID + 1 */ | 869 | #define V4L2_CID_HCENTER_DEPRECATED (V4L2_CID_BASE+22) |
| 870 | #define V4L2_CID_VCENTER_DEPRECATED (V4L2_CID_BASE+23) | ||
| 871 | |||
| 872 | #define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) | ||
| 873 | enum v4l2_power_line_frequency { | ||
| 874 | V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, | ||
| 875 | V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1, | ||
| 876 | V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2, | ||
| 877 | }; | ||
| 878 | #define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25) | ||
| 879 | #define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26) | ||
| 880 | #define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27) | ||
| 881 | #define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) | ||
| 882 | #define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) | ||
| 883 | #define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) | ||
| 884 | /* last CID + 1 */ | ||
| 885 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+31) | ||
| 867 | 886 | ||
| 868 | /* MPEG-class control IDs defined by V4L2 */ | 887 | /* MPEG-class control IDs defined by V4L2 */ |
| 869 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) | 888 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) |
| @@ -1051,6 +1070,32 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type { | |||
| 1051 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) | 1070 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) |
| 1052 | #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) | 1071 | #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) |
| 1053 | 1072 | ||
| 1073 | /* Camera class control IDs */ | ||
| 1074 | #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) | ||
| 1075 | #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) | ||
| 1076 | |||
| 1077 | #define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1) | ||
| 1078 | enum v4l2_exposure_auto_type { | ||
| 1079 | V4L2_EXPOSURE_AUTO = 0, | ||
| 1080 | V4L2_EXPOSURE_MANUAL = 1, | ||
| 1081 | V4L2_EXPOSURE_SHUTTER_PRIORITY = 2, | ||
| 1082 | V4L2_EXPOSURE_APERTURE_PRIORITY = 3 | ||
| 1083 | }; | ||
| 1084 | #define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2) | ||
| 1085 | #define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3) | ||
| 1086 | |||
| 1087 | #define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4) | ||
| 1088 | #define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5) | ||
| 1089 | #define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6) | ||
| 1090 | #define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7) | ||
| 1091 | |||
| 1092 | #define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8) | ||
| 1093 | #define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9) | ||
| 1094 | |||
| 1095 | #define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10) | ||
| 1096 | #define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11) | ||
| 1097 | #define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12) | ||
| 1098 | |||
| 1054 | /* | 1099 | /* |
| 1055 | * T U N I N G | 1100 | * T U N I N G |
| 1056 | */ | 1101 | */ |
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index a4274203f252..bfee8be5d63f 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
| @@ -107,6 +107,7 @@ extern IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE]; | |||
| 107 | extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE]; | 107 | extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE]; |
| 108 | extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE]; | 108 | extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE]; |
| 109 | extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE]; | 109 | extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE]; |
| 110 | extern IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE]; | ||
| 110 | extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE]; | 111 | extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE]; |
| 111 | extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE]; | 112 | extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE]; |
| 112 | extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE]; | 113 | extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE]; |
| @@ -141,8 +142,10 @@ extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE]; | |||
| 141 | extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; | 142 | extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; |
| 142 | extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE]; | 143 | extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE]; |
| 143 | extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE]; | 144 | extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE]; |
| 145 | extern IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE]; | ||
| 144 | extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE]; | 146 | extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE]; |
| 145 | extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE]; | 147 | extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE]; |
| 148 | extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; | ||
| 146 | 149 | ||
| 147 | #endif | 150 | #endif |
| 148 | 151 | ||
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h new file mode 100644 index 000000000000..6a8c8be7a1ae --- /dev/null +++ b/include/media/soc_camera.h | |||
| @@ -0,0 +1,179 @@ | |||
| 1 | /* | ||
| 2 | * camera image capture (abstract) bus driver header | ||
| 3 | * | ||
| 4 | * Copyright (C) 2006, Sascha Hauer, Pengutronix | ||
| 5 | * Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef SOC_CAMERA_H | ||
| 13 | #define SOC_CAMERA_H | ||
| 14 | |||
| 15 | #include <linux/videodev2.h> | ||
| 16 | #include <media/videobuf-dma-sg.h> | ||
| 17 | |||
| 18 | struct soc_camera_device { | ||
| 19 | struct list_head list; | ||
| 20 | struct device dev; | ||
| 21 | struct device *control; | ||
| 22 | unsigned short width; /* Current window */ | ||
| 23 | unsigned short height; /* sizes */ | ||
| 24 | unsigned short x_min; /* Camera capabilities */ | ||
| 25 | unsigned short y_min; | ||
| 26 | unsigned short x_current; /* Current window location */ | ||
| 27 | unsigned short y_current; | ||
| 28 | unsigned short width_min; | ||
| 29 | unsigned short width_max; | ||
| 30 | unsigned short height_min; | ||
| 31 | unsigned short height_max; | ||
| 32 | unsigned short y_skip_top; /* Lines to skip at the top */ | ||
| 33 | unsigned short gain; | ||
| 34 | unsigned short exposure; | ||
| 35 | unsigned char iface; /* Host number */ | ||
| 36 | unsigned char devnum; /* Device number per host */ | ||
| 37 | unsigned char buswidth; /* See comment in .c */ | ||
| 38 | struct soc_camera_ops *ops; | ||
| 39 | struct video_device *vdev; | ||
| 40 | const struct soc_camera_data_format *current_fmt; | ||
| 41 | const struct soc_camera_data_format *formats; | ||
| 42 | int num_formats; | ||
| 43 | struct module *owner; | ||
| 44 | /* soc_camera.c private count. Only accessed with video_lock held */ | ||
| 45 | int use_count; | ||
| 46 | }; | ||
| 47 | |||
| 48 | struct soc_camera_file { | ||
| 49 | struct soc_camera_device *icd; | ||
| 50 | struct videobuf_queue vb_vidq; | ||
| 51 | spinlock_t *lock; | ||
| 52 | }; | ||
| 53 | |||
| 54 | struct soc_camera_host { | ||
| 55 | struct list_head list; | ||
| 56 | struct device dev; | ||
| 57 | unsigned char nr; /* Host number */ | ||
| 58 | size_t msize; | ||
| 59 | struct videobuf_queue_ops *vbq_ops; | ||
| 60 | void *priv; | ||
| 61 | char *drv_name; | ||
| 62 | struct soc_camera_host_ops *ops; | ||
| 63 | }; | ||
| 64 | |||
| 65 | struct soc_camera_host_ops { | ||
| 66 | struct module *owner; | ||
| 67 | int (*add)(struct soc_camera_device *); | ||
| 68 | void (*remove)(struct soc_camera_device *); | ||
| 69 | int (*set_fmt_cap)(struct soc_camera_device *, __u32, | ||
| 70 | struct v4l2_rect *); | ||
| 71 | int (*try_fmt_cap)(struct soc_camera_device *, struct v4l2_format *); | ||
| 72 | int (*reqbufs)(struct soc_camera_file *, struct v4l2_requestbuffers *); | ||
| 73 | int (*querycap)(struct soc_camera_host *, struct v4l2_capability *); | ||
| 74 | int (*try_bus_param)(struct soc_camera_device *, __u32); | ||
| 75 | int (*set_bus_param)(struct soc_camera_device *, __u32); | ||
| 76 | unsigned int (*poll)(struct file *, poll_table *); | ||
| 77 | spinlock_t* (*spinlock_alloc)(struct soc_camera_file *); | ||
| 78 | void (*spinlock_free)(spinlock_t *); | ||
| 79 | }; | ||
| 80 | |||
| 81 | struct soc_camera_link { | ||
| 82 | /* Camera bus id, used to match a camera and a bus */ | ||
| 83 | int bus_id; | ||
| 84 | /* GPIO number to switch between 8 and 10 bit modes */ | ||
| 85 | unsigned int gpio; | ||
| 86 | }; | ||
| 87 | |||
| 88 | static inline struct soc_camera_device *to_soc_camera_dev(struct device *dev) | ||
| 89 | { | ||
| 90 | return container_of(dev, struct soc_camera_device, dev); | ||
| 91 | } | ||
| 92 | |||
| 93 | static inline struct soc_camera_host *to_soc_camera_host(struct device *dev) | ||
| 94 | { | ||
| 95 | return container_of(dev, struct soc_camera_host, dev); | ||
| 96 | } | ||
| 97 | |||
| 98 | extern int soc_camera_host_register(struct soc_camera_host *ici); | ||
| 99 | extern void soc_camera_host_unregister(struct soc_camera_host *ici); | ||
| 100 | extern int soc_camera_device_register(struct soc_camera_device *icd); | ||
| 101 | extern void soc_camera_device_unregister(struct soc_camera_device *icd); | ||
| 102 | |||
| 103 | extern int soc_camera_video_start(struct soc_camera_device *icd); | ||
| 104 | extern void soc_camera_video_stop(struct soc_camera_device *icd); | ||
| 105 | |||
| 106 | struct soc_camera_data_format { | ||
| 107 | char *name; | ||
| 108 | unsigned int depth; | ||
| 109 | __u32 fourcc; | ||
| 110 | enum v4l2_colorspace colorspace; | ||
| 111 | }; | ||
| 112 | |||
| 113 | struct soc_camera_ops { | ||
| 114 | struct module *owner; | ||
| 115 | int (*probe)(struct soc_camera_device *); | ||
| 116 | void (*remove)(struct soc_camera_device *); | ||
| 117 | int (*init)(struct soc_camera_device *); | ||
| 118 | int (*release)(struct soc_camera_device *); | ||
| 119 | int (*start_capture)(struct soc_camera_device *); | ||
| 120 | int (*stop_capture)(struct soc_camera_device *); | ||
| 121 | int (*set_fmt_cap)(struct soc_camera_device *, __u32, | ||
| 122 | struct v4l2_rect *); | ||
| 123 | int (*try_fmt_cap)(struct soc_camera_device *, struct v4l2_format *); | ||
| 124 | unsigned long (*query_bus_param)(struct soc_camera_device *); | ||
| 125 | int (*set_bus_param)(struct soc_camera_device *, unsigned long); | ||
| 126 | int (*get_chip_id)(struct soc_camera_device *, | ||
| 127 | struct v4l2_chip_ident *); | ||
| 128 | #ifdef CONFIG_VIDEO_ADV_DEBUG | ||
| 129 | int (*get_register)(struct soc_camera_device *, struct v4l2_register *); | ||
| 130 | int (*set_register)(struct soc_camera_device *, struct v4l2_register *); | ||
| 131 | #endif | ||
| 132 | int (*get_control)(struct soc_camera_device *, struct v4l2_control *); | ||
| 133 | int (*set_control)(struct soc_camera_device *, struct v4l2_control *); | ||
| 134 | const struct v4l2_queryctrl *controls; | ||
| 135 | int num_controls; | ||
| 136 | }; | ||
| 137 | |||
| 138 | static inline struct v4l2_queryctrl const *soc_camera_find_qctrl( | ||
| 139 | struct soc_camera_ops *ops, int id) | ||
| 140 | { | ||
| 141 | int i; | ||
| 142 | |||
| 143 | for (i = 0; i < ops->num_controls; i++) | ||
| 144 | if (ops->controls[i].id == id) | ||
| 145 | return &ops->controls[i]; | ||
| 146 | |||
| 147 | return NULL; | ||
| 148 | } | ||
| 149 | |||
| 150 | #define SOCAM_MASTER (1 << 0) | ||
| 151 | #define SOCAM_SLAVE (1 << 1) | ||
| 152 | #define SOCAM_HSYNC_ACTIVE_HIGH (1 << 2) | ||
| 153 | #define SOCAM_HSYNC_ACTIVE_LOW (1 << 3) | ||
| 154 | #define SOCAM_VSYNC_ACTIVE_HIGH (1 << 4) | ||
| 155 | #define SOCAM_VSYNC_ACTIVE_LOW (1 << 5) | ||
| 156 | #define SOCAM_DATAWIDTH_8 (1 << 6) | ||
| 157 | #define SOCAM_DATAWIDTH_9 (1 << 7) | ||
| 158 | #define SOCAM_DATAWIDTH_10 (1 << 8) | ||
| 159 | #define SOCAM_PCLK_SAMPLE_RISING (1 << 9) | ||
| 160 | #define SOCAM_PCLK_SAMPLE_FALLING (1 << 10) | ||
| 161 | |||
| 162 | #define SOCAM_DATAWIDTH_MASK (SOCAM_DATAWIDTH_8 | SOCAM_DATAWIDTH_9 | \ | ||
| 163 | SOCAM_DATAWIDTH_10) | ||
| 164 | |||
| 165 | static inline unsigned long soc_camera_bus_param_compatible( | ||
| 166 | unsigned long camera_flags, unsigned long bus_flags) | ||
| 167 | { | ||
| 168 | unsigned long common_flags, hsync, vsync, pclk; | ||
| 169 | |||
| 170 | common_flags = camera_flags & bus_flags; | ||
| 171 | |||
| 172 | hsync = common_flags & (SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_LOW); | ||
| 173 | vsync = common_flags & (SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_LOW); | ||
| 174 | pclk = common_flags & (SOCAM_PCLK_SAMPLE_RISING | SOCAM_PCLK_SAMPLE_FALLING); | ||
| 175 | |||
| 176 | return (!hsync || !vsync || !pclk) ? 0 : common_flags; | ||
| 177 | } | ||
| 178 | |||
| 179 | #endif | ||
diff --git a/include/media/tuner-types.h b/include/media/tuner-types.h index b201371416a0..ab03c5344209 100644 --- a/include/media/tuner-types.h +++ b/include/media/tuner-types.h | |||
| @@ -6,10 +6,11 @@ | |||
| 6 | #define __TUNER_TYPES_H__ | 6 | #define __TUNER_TYPES_H__ |
| 7 | 7 | ||
| 8 | enum param_type { | 8 | enum param_type { |
| 9 | TUNER_PARAM_TYPE_RADIO, \ | 9 | TUNER_PARAM_TYPE_RADIO, |
| 10 | TUNER_PARAM_TYPE_PAL, \ | 10 | TUNER_PARAM_TYPE_PAL, |
| 11 | TUNER_PARAM_TYPE_SECAM, \ | 11 | TUNER_PARAM_TYPE_SECAM, |
| 12 | TUNER_PARAM_TYPE_NTSC | 12 | TUNER_PARAM_TYPE_NTSC, |
| 13 | TUNER_PARAM_TYPE_DIGITAL, | ||
| 13 | }; | 14 | }; |
| 14 | 15 | ||
| 15 | struct tuner_range { | 16 | struct tuner_range { |
| @@ -105,6 +106,7 @@ struct tuner_params { | |||
| 105 | the SECAM-L/L' standards. Range: -16:+15 */ | 106 | the SECAM-L/L' standards. Range: -16:+15 */ |
| 106 | signed int default_top_secam_high:5; | 107 | signed int default_top_secam_high:5; |
| 107 | 108 | ||
| 109 | u16 iffreq; | ||
| 108 | 110 | ||
| 109 | unsigned int count; | 111 | unsigned int count; |
| 110 | struct tuner_range *ranges; | 112 | struct tuner_range *ranges; |
| @@ -114,6 +116,13 @@ struct tunertype { | |||
| 114 | char *name; | 116 | char *name; |
| 115 | unsigned int count; | 117 | unsigned int count; |
| 116 | struct tuner_params *params; | 118 | struct tuner_params *params; |
| 119 | |||
| 120 | u16 min; | ||
| 121 | u16 max; | ||
| 122 | u32 stepsize; | ||
| 123 | |||
| 124 | u8 *initdata; | ||
| 125 | u8 *sleepdata; | ||
| 117 | }; | 126 | }; |
| 118 | 127 | ||
| 119 | extern struct tunertype tuners[]; | 128 | extern struct tunertype tuners[]; |
diff --git a/include/media/tuner.h b/include/media/tuner.h index 1bf24a6ed8f1..77068fcc86bd 100644 --- a/include/media/tuner.h +++ b/include/media/tuner.h | |||
| @@ -78,7 +78,7 @@ | |||
| 78 | 78 | ||
| 79 | #define TUNER_HITACHI_NTSC 40 | 79 | #define TUNER_HITACHI_NTSC 40 |
| 80 | #define TUNER_PHILIPS_PAL_MK 41 | 80 | #define TUNER_PHILIPS_PAL_MK 41 |
| 81 | #define TUNER_PHILIPS_ATSC 42 | 81 | #define TUNER_PHILIPS_FCV1236D 42 |
| 82 | #define TUNER_PHILIPS_FM1236_MK3 43 | 82 | #define TUNER_PHILIPS_FM1236_MK3 43 |
| 83 | 83 | ||
| 84 | #define TUNER_PHILIPS_4IN1 44 /* ATI TV Wonder Pro - Conexant */ | 84 | #define TUNER_PHILIPS_4IN1 44 /* ATI TV Wonder Pro - Conexant */ |
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h index 032bb75f69c2..0ea0bd85c036 100644 --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h | |||
| @@ -153,6 +153,12 @@ enum { | |||
| 153 | V4L2_IDENT_MSP4428G = 44287, | 153 | V4L2_IDENT_MSP4428G = 44287, |
| 154 | V4L2_IDENT_MSP4448G = 44487, | 154 | V4L2_IDENT_MSP4448G = 44487, |
| 155 | V4L2_IDENT_MSP4458G = 44587, | 155 | V4L2_IDENT_MSP4458G = 44587, |
| 156 | |||
| 157 | /* Micron CMOS sensor chips: 45000-45099 */ | ||
| 158 | V4L2_IDENT_MT9M001C12ST = 45000, | ||
| 159 | V4L2_IDENT_MT9M001C12STM = 45005, | ||
| 160 | V4L2_IDENT_MT9V022IX7ATC = 45010, /* No way to detect "normal" I77ATx */ | ||
| 161 | V4L2_IDENT_MT9V022IX7ATM = 45015, /* and "lead free" IA7ATx chips */ | ||
| 156 | }; | 162 | }; |
| 157 | 163 | ||
| 158 | #endif | 164 | #endif |
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index f2114459995d..a807d2f86ee8 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
| @@ -318,6 +318,10 @@ struct video_device | |||
| 318 | int (*vidioc_g_chip_ident) (struct file *file, void *fh, | 318 | int (*vidioc_g_chip_ident) (struct file *file, void *fh, |
| 319 | struct v4l2_chip_ident *chip); | 319 | struct v4l2_chip_ident *chip); |
| 320 | 320 | ||
| 321 | /* For other private ioctls */ | ||
| 322 | int (*vidioc_default) (struct file *file, void *fh, | ||
| 323 | int cmd, void *arg); | ||
| 324 | |||
| 321 | 325 | ||
| 322 | #ifdef OBSOLETE_OWNER /* to be removed soon */ | 326 | #ifdef OBSOLETE_OWNER /* to be removed soon */ |
| 323 | /* obsolete -- fops->owner is used instead */ | 327 | /* obsolete -- fops->owner is used instead */ |
diff --git a/include/media/videobuf-core.h b/include/media/videobuf-core.h index 99033945cdee..5b39a22533fe 100644 --- a/include/media/videobuf-core.h +++ b/include/media/videobuf-core.h | |||
| @@ -13,6 +13,9 @@ | |||
| 13 | * the Free Software Foundation; either version 2 | 13 | * the Free Software Foundation; either version 2 |
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | #ifndef _VIDEOBUF_CORE_H | ||
| 17 | #define _VIDEOBUF_CORE_H | ||
| 18 | |||
| 16 | #include <linux/poll.h> | 19 | #include <linux/poll.h> |
| 17 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | 20 | #ifdef CONFIG_VIDEO_V4L1_COMPAT |
| 18 | #include <linux/videodev.h> | 21 | #include <linux/videodev.h> |
| @@ -123,7 +126,8 @@ struct videobuf_queue_ops { | |||
| 123 | struct videobuf_qtype_ops { | 126 | struct videobuf_qtype_ops { |
| 124 | u32 magic; | 127 | u32 magic; |
| 125 | 128 | ||
| 126 | void* (*alloc) (size_t size); | 129 | void *(*alloc) (size_t size); |
| 130 | void *(*vmalloc) (struct videobuf_buffer *buf); | ||
| 127 | int (*iolock) (struct videobuf_queue* q, | 131 | int (*iolock) (struct videobuf_queue* q, |
| 128 | struct videobuf_buffer *vb, | 132 | struct videobuf_buffer *vb, |
| 129 | struct v4l2_framebuffer *fbuf); | 133 | struct v4l2_framebuffer *fbuf); |
| @@ -151,7 +155,9 @@ struct videobuf_qtype_ops { | |||
| 151 | struct videobuf_queue { | 155 | struct videobuf_queue { |
| 152 | struct mutex vb_lock; | 156 | struct mutex vb_lock; |
| 153 | spinlock_t *irqlock; | 157 | spinlock_t *irqlock; |
| 154 | void *dev; /* on pci, points to struct pci_dev */ | 158 | struct device *dev; |
| 159 | |||
| 160 | wait_queue_head_t wait; /* wait if queue is empty */ | ||
| 155 | 161 | ||
| 156 | enum v4l2_buf_type type; | 162 | enum v4l2_buf_type type; |
| 157 | unsigned int inputs; /* for V4L2_BUF_FLAG_INPUT */ | 163 | unsigned int inputs; /* for V4L2_BUF_FLAG_INPUT */ |
| @@ -183,9 +189,13 @@ int videobuf_iolock(struct videobuf_queue* q, struct videobuf_buffer *vb, | |||
| 183 | 189 | ||
| 184 | void *videobuf_alloc(struct videobuf_queue* q); | 190 | void *videobuf_alloc(struct videobuf_queue* q); |
| 185 | 191 | ||
| 192 | /* Used on videobuf-dvb */ | ||
| 193 | void *videobuf_queue_to_vmalloc (struct videobuf_queue* q, | ||
| 194 | struct videobuf_buffer *buf); | ||
| 195 | |||
| 186 | void videobuf_queue_core_init(struct videobuf_queue *q, | 196 | void videobuf_queue_core_init(struct videobuf_queue *q, |
| 187 | struct videobuf_queue_ops *ops, | 197 | struct videobuf_queue_ops *ops, |
| 188 | void *dev, | 198 | struct device *dev, |
| 189 | spinlock_t *irqlock, | 199 | spinlock_t *irqlock, |
| 190 | enum v4l2_buf_type type, | 200 | enum v4l2_buf_type type, |
| 191 | enum v4l2_field field, | 201 | enum v4l2_field field, |
| @@ -231,10 +241,4 @@ int videobuf_mmap_free(struct videobuf_queue *q); | |||
| 231 | int videobuf_mmap_mapper(struct videobuf_queue *q, | 241 | int videobuf_mmap_mapper(struct videobuf_queue *q, |
| 232 | struct vm_area_struct *vma); | 242 | struct vm_area_struct *vma); |
| 233 | 243 | ||
| 234 | /* --------------------------------------------------------------------- */ | 244 | #endif |
| 235 | |||
| 236 | /* | ||
| 237 | * Local variables: | ||
| 238 | * c-basic-offset: 8 | ||
| 239 | * End: | ||
| 240 | */ | ||
diff --git a/include/media/videobuf-dma-sg.h b/include/media/videobuf-dma-sg.h index 38105031db23..be8da269ee33 100644 --- a/include/media/videobuf-dma-sg.h +++ b/include/media/videobuf-dma-sg.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * helper functions for PCI DMA video4linux capture buffers | 2 | * helper functions for SG DMA video4linux capture buffers |
| 3 | * | 3 | * |
| 4 | * The functions expect the hardware being able to scatter gatter | 4 | * The functions expect the hardware being able to scatter gatter |
| 5 | * (i.e. the buffers are not linear in physical memory, but fragmented | 5 | * (i.e. the buffers are not linear in physical memory, but fragmented |
| @@ -68,9 +68,6 @@ struct videobuf_dmabuf { | |||
| 68 | /* for kernel buffers */ | 68 | /* for kernel buffers */ |
| 69 | void *vmalloc; | 69 | void *vmalloc; |
| 70 | 70 | ||
| 71 | /* Stores the userspace pointer to vmalloc area */ | ||
| 72 | void *varea; | ||
| 73 | |||
| 74 | /* for overlay buffers (pci-pci dma) */ | 71 | /* for overlay buffers (pci-pci dma) */ |
| 75 | dma_addr_t bus_addr; | 72 | dma_addr_t bus_addr; |
| 76 | 73 | ||
| @@ -81,7 +78,7 @@ struct videobuf_dmabuf { | |||
| 81 | int direction; | 78 | int direction; |
| 82 | }; | 79 | }; |
| 83 | 80 | ||
| 84 | struct videbuf_pci_sg_memory | 81 | struct videobuf_dma_sg_memory |
| 85 | { | 82 | { |
| 86 | u32 magic; | 83 | u32 magic; |
| 87 | 84 | ||
| @@ -103,11 +100,11 @@ int videobuf_dma_sync(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | |||
| 103 | int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | 100 | int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma); |
| 104 | struct videobuf_dmabuf *videobuf_to_dma (struct videobuf_buffer *buf); | 101 | struct videobuf_dmabuf *videobuf_to_dma (struct videobuf_buffer *buf); |
| 105 | 102 | ||
| 106 | void *videobuf_pci_alloc (size_t size); | 103 | void *videobuf_sg_alloc(size_t size); |
| 107 | 104 | ||
| 108 | void videobuf_queue_pci_init(struct videobuf_queue* q, | 105 | void videobuf_queue_sg_init(struct videobuf_queue* q, |
| 109 | struct videobuf_queue_ops *ops, | 106 | struct videobuf_queue_ops *ops, |
| 110 | void *dev, | 107 | struct device *dev, |
| 111 | spinlock_t *irqlock, | 108 | spinlock_t *irqlock, |
| 112 | enum v4l2_buf_type type, | 109 | enum v4l2_buf_type type, |
| 113 | enum v4l2_field field, | 110 | enum v4l2_field field, |
| @@ -117,6 +114,6 @@ void videobuf_queue_pci_init(struct videobuf_queue* q, | |||
| 117 | /*FIXME: these variants are used only on *-alsa code, where videobuf is | 114 | /*FIXME: these variants are used only on *-alsa code, where videobuf is |
| 118 | * used without queue | 115 | * used without queue |
| 119 | */ | 116 | */ |
| 120 | int videobuf_pci_dma_map(struct pci_dev *pci,struct videobuf_dmabuf *dma); | 117 | int videobuf_sg_dma_map(struct device *dev, struct videobuf_dmabuf *dma); |
| 121 | int videobuf_pci_dma_unmap(struct pci_dev *pci,struct videobuf_dmabuf *dma); | 118 | int videobuf_sg_dma_unmap(struct device *dev, struct videobuf_dmabuf *dma); |
| 122 | 119 | ||
diff --git a/include/media/videobuf-dvb.h b/include/media/videobuf-dvb.h index 8233cafdeef6..b77748696329 100644 --- a/include/media/videobuf-dvb.h +++ b/include/media/videobuf-dvb.h | |||
| @@ -27,7 +27,8 @@ struct videobuf_dvb { | |||
| 27 | int videobuf_dvb_register(struct videobuf_dvb *dvb, | 27 | int videobuf_dvb_register(struct videobuf_dvb *dvb, |
| 28 | struct module *module, | 28 | struct module *module, |
| 29 | void *adapter_priv, | 29 | void *adapter_priv, |
| 30 | struct device *device); | 30 | struct device *device, |
| 31 | short *adapter_nr); | ||
| 31 | void videobuf_dvb_unregister(struct videobuf_dvb *dvb); | 32 | void videobuf_dvb_unregister(struct videobuf_dvb *dvb); |
| 32 | 33 | ||
| 33 | /* | 34 | /* |
diff --git a/include/media/videobuf-vmalloc.h b/include/media/videobuf-vmalloc.h index ec63ab0fab93..aed39460c154 100644 --- a/include/media/videobuf-vmalloc.h +++ b/include/media/videobuf-vmalloc.h | |||
| @@ -12,6 +12,8 @@ | |||
| 12 | * it under the terms of the GNU General Public License as published by | 12 | * it under the terms of the GNU General Public License as published by |
| 13 | * the Free Software Foundation; either version 2 | 13 | * the Free Software Foundation; either version 2 |
| 14 | */ | 14 | */ |
| 15 | #ifndef _VIDEOBUF_VMALLOC_H | ||
| 16 | #define _VIDEOBUF_VMALLOC_H | ||
| 15 | 17 | ||
| 16 | #include <media/videobuf-core.h> | 18 | #include <media/videobuf-core.h> |
| 17 | 19 | ||
| @@ -39,3 +41,5 @@ void videobuf_queue_vmalloc_init(struct videobuf_queue* q, | |||
| 39 | void *videobuf_to_vmalloc (struct videobuf_buffer *buf); | 41 | void *videobuf_to_vmalloc (struct videobuf_buffer *buf); |
| 40 | 42 | ||
| 41 | void videobuf_vmalloc_free (struct videobuf_buffer *buf); | 43 | void videobuf_vmalloc_free (struct videobuf_buffer *buf); |
| 44 | |||
| 45 | #endif | ||
diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h index 01480581f825..049edc5e6461 100644 --- a/include/sound/ac97_codec.h +++ b/include/sound/ac97_codec.h | |||
| @@ -397,6 +397,7 @@ | |||
| 397 | #define AC97_HAS_NO_TONE (1<<16) /* no Tone volume */ | 397 | #define AC97_HAS_NO_TONE (1<<16) /* no Tone volume */ |
| 398 | #define AC97_HAS_NO_STD_PCM (1<<17) /* no standard AC97 PCM volume and mute */ | 398 | #define AC97_HAS_NO_STD_PCM (1<<17) /* no standard AC97 PCM volume and mute */ |
| 399 | #define AC97_HAS_NO_AUX (1<<18) /* no standard AC97 AUX volume and mute */ | 399 | #define AC97_HAS_NO_AUX (1<<18) /* no standard AC97 AUX volume and mute */ |
| 400 | #define AC97_HAS_8CH (1<<19) /* supports 8-channel output */ | ||
| 400 | 401 | ||
| 401 | /* rates indexes */ | 402 | /* rates indexes */ |
| 402 | #define AC97_RATES_FRONT_DAC 0 | 403 | #define AC97_RATES_FRONT_DAC 0 |
diff --git a/include/sound/ak4114.h b/include/sound/ak4114.h index 4e80d3fe7381..d293d36a66b8 100644 --- a/include/sound/ak4114.h +++ b/include/sound/ak4114.h | |||
| @@ -182,6 +182,7 @@ struct ak4114 { | |||
| 182 | unsigned char rcs0; | 182 | unsigned char rcs0; |
| 183 | unsigned char rcs1; | 183 | unsigned char rcs1; |
| 184 | struct delayed_work work; | 184 | struct delayed_work work; |
| 185 | unsigned int check_flags; | ||
| 185 | void *change_callback_private; | 186 | void *change_callback_private; |
| 186 | void (*change_callback)(struct ak4114 *ak4114, unsigned char c0, unsigned char c1); | 187 | void (*change_callback)(struct ak4114 *ak4114, unsigned char c0, unsigned char c1); |
| 187 | }; | 188 | }; |
diff --git a/include/sound/ak4xxx-adda.h b/include/sound/ak4xxx-adda.h index 6153b91cdc3e..891cf1aea8b1 100644 --- a/include/sound/ak4xxx-adda.h +++ b/include/sound/ak4xxx-adda.h | |||
| @@ -68,7 +68,7 @@ struct snd_akm4xxx { | |||
| 68 | enum { | 68 | enum { |
| 69 | SND_AK4524, SND_AK4528, SND_AK4529, | 69 | SND_AK4524, SND_AK4528, SND_AK4529, |
| 70 | SND_AK4355, SND_AK4358, SND_AK4381, | 70 | SND_AK4355, SND_AK4358, SND_AK4381, |
| 71 | SND_AK5365, NON_AKM | 71 | SND_AK5365 |
| 72 | } type; | 72 | } type; |
| 73 | 73 | ||
| 74 | /* (array) information of combined codecs */ | 74 | /* (array) information of combined codecs */ |
diff --git a/include/sound/asoundef.h b/include/sound/asoundef.h index 024ce62f7d16..a6e0facf8a37 100644 --- a/include/sound/asoundef.h +++ b/include/sound/asoundef.h | |||
| @@ -112,6 +112,14 @@ | |||
| 112 | #define IEC958_AES3_CON_CLOCK_1000PPM (0<<4) /* 1000 ppm */ | 112 | #define IEC958_AES3_CON_CLOCK_1000PPM (0<<4) /* 1000 ppm */ |
| 113 | #define IEC958_AES3_CON_CLOCK_50PPM (1<<4) /* 50 ppm */ | 113 | #define IEC958_AES3_CON_CLOCK_50PPM (1<<4) /* 50 ppm */ |
| 114 | #define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4) /* variable pitch */ | 114 | #define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4) /* variable pitch */ |
| 115 | #define IEC958_AES4_CON_MAX_WORDLEN_24 (1<<0) /* 0 = 20-bit, 1 = 24-bit */ | ||
| 116 | #define IEC958_AES4_CON_WORDLEN (7<<1) /* mask - sample word length */ | ||
| 117 | #define IEC958_AES4_CON_WORDLEN_NOTID (0<<1) /* not indicated */ | ||
| 118 | #define IEC958_AES4_CON_WORDLEN_20_16 (1<<1) /* 20-bit or 16-bit */ | ||
| 119 | #define IEC958_AES4_CON_WORDLEN_22_18 (2<<1) /* 22-bit or 18-bit */ | ||
| 120 | #define IEC958_AES4_CON_WORDLEN_23_19 (4<<1) /* 23-bit or 19-bit */ | ||
| 121 | #define IEC958_AES4_CON_WORDLEN_24_20 (5<<1) /* 24-bit or 20-bit */ | ||
| 122 | #define IEC958_AES4_CON_WORDLEN_21_17 (6<<1) /* 21-bit or 17-bit */ | ||
| 115 | 123 | ||
| 116 | /***************************************************************************** | 124 | /***************************************************************************** |
| 117 | * * | 125 | * * |
diff --git a/include/sound/control.h b/include/sound/control.h index e79baa63912f..3dc1291f52db 100644 --- a/include/sound/control.h +++ b/include/sound/control.h | |||
| @@ -169,4 +169,11 @@ int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol, | |||
| 169 | int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol, | 169 | int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol, |
| 170 | struct snd_ctl_elem_info *uinfo); | 170 | struct snd_ctl_elem_info *uinfo); |
| 171 | 171 | ||
| 172 | /* | ||
| 173 | * virtual master control | ||
| 174 | */ | ||
| 175 | struct snd_kcontrol *snd_ctl_make_virtual_master(char *name, | ||
| 176 | const unsigned int *tlv); | ||
| 177 | int snd_ctl_add_slave(struct snd_kcontrol *master, struct snd_kcontrol *slave); | ||
| 178 | |||
| 172 | #endif /* __SOUND_CONTROL_H */ | 179 | #endif /* __SOUND_CONTROL_H */ |
diff --git a/include/sound/core.h b/include/sound/core.h index 4fc0235ad784..695ee53488a3 100644 --- a/include/sound/core.h +++ b/include/sound/core.h | |||
| @@ -277,8 +277,8 @@ int snd_minor_info_done(void); | |||
| 277 | int snd_minor_info_oss_init(void); | 277 | int snd_minor_info_oss_init(void); |
| 278 | int snd_minor_info_oss_done(void); | 278 | int snd_minor_info_oss_done(void); |
| 279 | #else | 279 | #else |
| 280 | #define snd_minor_info_oss_init() /*NOP*/ | 280 | static inline int snd_minor_info_oss_init(void) { return 0; } |
| 281 | #define snd_minor_info_oss_done() /*NOP*/ | 281 | static inline int snd_minor_info_oss_done(void) { return 0; } |
| 282 | #endif | 282 | #endif |
| 283 | 283 | ||
| 284 | /* memory.c */ | 284 | /* memory.c */ |
| @@ -310,7 +310,7 @@ int snd_card_file_add(struct snd_card *card, struct file *file); | |||
| 310 | int snd_card_file_remove(struct snd_card *card, struct file *file); | 310 | int snd_card_file_remove(struct snd_card *card, struct file *file); |
| 311 | 311 | ||
| 312 | #ifndef snd_card_set_dev | 312 | #ifndef snd_card_set_dev |
| 313 | #define snd_card_set_dev(card,devptr) ((card)->dev = (devptr)) | 313 | #define snd_card_set_dev(card, devptr) ((card)->dev = (devptr)) |
| 314 | #endif | 314 | #endif |
| 315 | 315 | ||
| 316 | /* device.c */ | 316 | /* device.c */ |
| @@ -373,7 +373,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...) | |||
| 373 | * snd_printd - debug printk | 373 | * snd_printd - debug printk |
| 374 | * @fmt: format string | 374 | * @fmt: format string |
| 375 | * | 375 | * |
| 376 | * Compiled only when Works like snd_printk() for debugging purpose. | 376 | * Works like snd_printk() for debugging purposes. |
| 377 | * Ignored when CONFIG_SND_DEBUG is not set. | 377 | * Ignored when CONFIG_SND_DEBUG is not set. |
| 378 | */ | 378 | */ |
| 379 | #define snd_printd(fmt, args...) \ | 379 | #define snd_printd(fmt, args...) \ |
| @@ -417,7 +417,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...) | |||
| 417 | * snd_printdd - debug printk | 417 | * snd_printdd - debug printk |
| 418 | * @format: format string | 418 | * @format: format string |
| 419 | * | 419 | * |
| 420 | * Compiled only when Works like snd_printk() for debugging purpose. | 420 | * Works like snd_printk() for debugging purposes. |
| 421 | * Ignored when CONFIG_SND_DEBUG_DETECT is not set. | 421 | * Ignored when CONFIG_SND_DEBUG_DETECT is not set. |
| 422 | */ | 422 | */ |
| 423 | #define snd_printdd(format, args...) snd_printk(format, ##args) | 423 | #define snd_printdd(format, args...) snd_printk(format, ##args) |
diff --git a/include/sound/mpu401.h b/include/sound/mpu401.h index d45218b44dfe..68b634b75068 100644 --- a/include/sound/mpu401.h +++ b/include/sound/mpu401.h | |||
| @@ -103,6 +103,21 @@ struct snd_mpu401 { | |||
| 103 | #define MPU401D(mpu) (mpu)->port | 103 | #define MPU401D(mpu) (mpu)->port |
| 104 | 104 | ||
| 105 | /* | 105 | /* |
| 106 | * control register bits | ||
| 107 | */ | ||
| 108 | /* read MPU401C() */ | ||
| 109 | #define MPU401_RX_EMPTY 0x80 | ||
| 110 | #define MPU401_TX_FULL 0x40 | ||
| 111 | |||
| 112 | /* write MPU401C() */ | ||
| 113 | #define MPU401_RESET 0xff | ||
| 114 | #define MPU401_ENTER_UART 0x3f | ||
| 115 | |||
| 116 | /* read MPU401D() */ | ||
| 117 | #define MPU401_ACK 0xfe | ||
| 118 | |||
| 119 | |||
| 120 | /* | ||
| 106 | 121 | ||
| 107 | */ | 122 | */ |
| 108 | 123 | ||
diff --git a/include/sound/version.h b/include/sound/version.h index fac66c49445a..ed6fb2eb1eac 100644 --- a/include/sound/version.h +++ b/include/sound/version.h | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | /* include/version.h. Generated by alsa/ksync script. */ | 1 | /* include/version.h. Generated by alsa/ksync script. */ |
| 2 | #define CONFIG_SND_VERSION "1.0.16rc2" | 2 | #define CONFIG_SND_VERSION "1.0.16" |
| 3 | #define CONFIG_SND_DATE " (Thu Jan 31 16:40:16 2008 UTC)" | 3 | #define CONFIG_SND_DATE "" |
