diff options
Diffstat (limited to 'arch/blackfin/mach-bf548')
-rw-r--r-- | arch/blackfin/mach-bf548/Kconfig | 8 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/ezkit.c | 85 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/include/mach/anomaly.h | 44 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/include/mach/portmux.h | 64 |
4 files changed, 163 insertions, 38 deletions
diff --git a/arch/blackfin/mach-bf548/Kconfig b/arch/blackfin/mach-bf548/Kconfig index dcf657159051..a09623dfd550 100644 --- a/arch/blackfin/mach-bf548/Kconfig +++ b/arch/blackfin/mach-bf548/Kconfig | |||
@@ -11,6 +11,13 @@ config DEB_DMA_URGENT | |||
11 | help | 11 | help |
12 | Treat any DEB1, DEB2 and DEB3 request as Urgent | 12 | Treat any DEB1, DEB2 and DEB3 request as Urgent |
13 | 13 | ||
14 | config BF548_ATAPI_ALTERNATIVE_PORT | ||
15 | bool "BF548 ATAPI alternative port via GPIO" | ||
16 | help | ||
17 | BF548 ATAPI data and address PINs can be routed through | ||
18 | async address or GPIO port F and G. Select y to route it | ||
19 | to GPIO. | ||
20 | |||
14 | comment "Interrupt Priority Assignment" | 21 | comment "Interrupt Priority Assignment" |
15 | menu "Priority" | 22 | menu "Priority" |
16 | 23 | ||
@@ -250,6 +257,7 @@ config IRQ_OTPSEC | |||
250 | default 11 | 257 | default 11 |
251 | config IRQ_TIMER0 | 258 | config IRQ_TIMER0 |
252 | int "IRQ_TIMER0" | 259 | int "IRQ_TIMER0" |
260 | default 7 if TICKSOURCE_GPTMR0 | ||
253 | default 8 | 261 | default 8 |
254 | config IRQ_TIMER1 | 262 | config IRQ_TIMER1 |
255 | int "IRQ_TIMER1" | 263 | int "IRQ_TIMER1" |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index 096e661700a7..add5a17452ce 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -208,6 +208,43 @@ static struct platform_device bfin_rotary_device = { | |||
208 | }; | 208 | }; |
209 | #endif | 209 | #endif |
210 | 210 | ||
211 | #if defined(CONFIG_INPUT_ADXL34X) || defined(CONFIG_INPUT_ADXL34X_MODULE) | ||
212 | #include <linux/input.h> | ||
213 | #include <linux/spi/adxl34x.h> | ||
214 | static const struct adxl34x_platform_data adxl34x_info = { | ||
215 | .x_axis_offset = 0, | ||
216 | .y_axis_offset = 0, | ||
217 | .z_axis_offset = 0, | ||
218 | .tap_threshold = 0x31, | ||
219 | .tap_duration = 0x10, | ||
220 | .tap_latency = 0x60, | ||
221 | .tap_window = 0xF0, | ||
222 | .tap_axis_control = ADXL_TAP_X_EN | ADXL_TAP_Y_EN | ADXL_TAP_Z_EN, | ||
223 | .act_axis_control = 0xFF, | ||
224 | .activity_threshold = 5, | ||
225 | .inactivity_threshold = 3, | ||
226 | .inactivity_time = 4, | ||
227 | .free_fall_threshold = 0x7, | ||
228 | .free_fall_time = 0x20, | ||
229 | .data_rate = 0x8, | ||
230 | .data_range = ADXL_FULL_RES, | ||
231 | |||
232 | .ev_type = EV_ABS, | ||
233 | .ev_code_x = ABS_X, /* EV_REL */ | ||
234 | .ev_code_y = ABS_Y, /* EV_REL */ | ||
235 | .ev_code_z = ABS_Z, /* EV_REL */ | ||
236 | |||
237 | .ev_code_tap_x = BTN_TOUCH, /* EV_KEY */ | ||
238 | .ev_code_tap_y = BTN_TOUCH, /* EV_KEY */ | ||
239 | .ev_code_tap_z = BTN_TOUCH, /* EV_KEY */ | ||
240 | |||
241 | /* .ev_code_ff = KEY_F,*/ /* EV_KEY */ | ||
242 | /* .ev_code_act_inactivity = KEY_A,*/ /* EV_KEY */ | ||
243 | .power_mode = ADXL_AUTO_SLEEP | ADXL_LINK, | ||
244 | .fifo_mode = ADXL_FIFO_STREAM, | ||
245 | }; | ||
246 | #endif | ||
247 | |||
211 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | 248 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) |
212 | static struct platform_device rtc_device = { | 249 | static struct platform_device rtc_device = { |
213 | .name = "rtc-bfin", | 250 | .name = "rtc-bfin", |
@@ -628,6 +665,14 @@ static struct bfin5xx_spi_chip spidev_chip_info = { | |||
628 | }; | 665 | }; |
629 | #endif | 666 | #endif |
630 | 667 | ||
668 | #if defined(CONFIG_INPUT_ADXL34X_SPI) || defined(CONFIG_INPUT_ADXL34X_SPI_MODULE) | ||
669 | static struct bfin5xx_spi_chip spi_adxl34x_chip_info = { | ||
670 | .enable_dma = 0, /* use dma transfer with this chip*/ | ||
671 | .bits_per_word = 8, | ||
672 | .cs_change_per_word = 0, | ||
673 | }; | ||
674 | #endif | ||
675 | |||
631 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | 676 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
632 | #if defined(CONFIG_MTD_M25P80) \ | 677 | #if defined(CONFIG_MTD_M25P80) \ |
633 | || defined(CONFIG_MTD_M25P80_MODULE) | 678 | || defined(CONFIG_MTD_M25P80_MODULE) |
@@ -653,15 +698,15 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
653 | }, | 698 | }, |
654 | #endif | 699 | #endif |
655 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 700 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
656 | { | 701 | { |
657 | .modalias = "ad7877", | 702 | .modalias = "ad7877", |
658 | .platform_data = &bfin_ad7877_ts_info, | 703 | .platform_data = &bfin_ad7877_ts_info, |
659 | .irq = IRQ_PB4, /* old boards (<=Rev 1.3) use IRQ_PJ11 */ | 704 | .irq = IRQ_PB4, /* old boards (<=Rev 1.3) use IRQ_PJ11 */ |
660 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | 705 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ |
661 | .bus_num = 0, | 706 | .bus_num = 0, |
662 | .chip_select = 2, | 707 | .chip_select = 2, |
663 | .controller_data = &spi_ad7877_chip_info, | 708 | .controller_data = &spi_ad7877_chip_info, |
664 | }, | 709 | }, |
665 | #endif | 710 | #endif |
666 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | 711 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) |
667 | { | 712 | { |
@@ -672,8 +717,19 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
672 | .controller_data = &spidev_chip_info, | 717 | .controller_data = &spidev_chip_info, |
673 | }, | 718 | }, |
674 | #endif | 719 | #endif |
720 | #if defined(CONFIG_INPUT_ADXL34X_SPI) || defined(CONFIG_INPUT_ADXL34X_SPI_MODULE) | ||
721 | { | ||
722 | .modalias = "adxl34x", | ||
723 | .platform_data = &adxl34x_info, | ||
724 | .irq = IRQ_PC5, | ||
725 | .max_speed_hz = 5000000, /* max spi clock (SCK) speed in HZ */ | ||
726 | .bus_num = 1, | ||
727 | .chip_select = 2, | ||
728 | .controller_data = &spi_adxl34x_chip_info, | ||
729 | .mode = SPI_MODE_3, | ||
730 | }, | ||
731 | #endif | ||
675 | }; | 732 | }; |
676 | |||
677 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 733 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
678 | /* SPI (0) */ | 734 | /* SPI (0) */ |
679 | static struct resource bfin_spi0_resource[] = { | 735 | static struct resource bfin_spi0_resource[] = { |
@@ -786,7 +842,7 @@ static struct i2c_board_info __initdata bfin_i2c_board_info0[] = { | |||
786 | 842 | ||
787 | #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ | 843 | #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ |
788 | static struct i2c_board_info __initdata bfin_i2c_board_info1[] = { | 844 | static struct i2c_board_info __initdata bfin_i2c_board_info1[] = { |
789 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | 845 | #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) |
790 | { | 846 | { |
791 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | 847 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), |
792 | }, | 848 | }, |
@@ -797,6 +853,13 @@ static struct i2c_board_info __initdata bfin_i2c_board_info1[] = { | |||
797 | .irq = 212, | 853 | .irq = 212, |
798 | }, | 854 | }, |
799 | #endif | 855 | #endif |
856 | #if defined(CONFIG_INPUT_ADXL34X_I2C) || defined(CONFIG_INPUT_ADXL34X_I2C_MODULE) | ||
857 | { | ||
858 | I2C_BOARD_INFO("adxl34x", 0x53), | ||
859 | .irq = IRQ_PC5, | ||
860 | .platform_data = (void *)&adxl34x_info, | ||
861 | }, | ||
862 | #endif | ||
800 | }; | 863 | }; |
801 | #endif | 864 | #endif |
802 | 865 | ||
diff --git a/arch/blackfin/mach-bf548/include/mach/anomaly.h b/arch/blackfin/mach-bf548/include/mach/anomaly.h index 882e40ccf0d1..c510ae688e28 100644 --- a/arch/blackfin/mach-bf548/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf548/include/mach/anomaly.h | |||
@@ -6,26 +6,31 @@ | |||
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 should be up to date with: |
10 | * - Revision H, 01/16/2009; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List | 10 | * - Revision H, 01/16/2009; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
14 | #define _MACH_ANOMALY_H_ | 14 | #define _MACH_ANOMALY_H_ |
15 | 15 | ||
16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | 16 | /* We do not support 0.0 or 0.1 silicon - sorry */ |
17 | #if __SILICON_REVISION__ < 2 | ||
18 | # error will not work on BF548 silicon version 0.0, or 0.1 | ||
19 | #endif | ||
20 | |||
21 | /* Multi-issue instruction with dsp32shiftimm in slot1 and P-reg store in slot 2 not supported */ | ||
17 | #define ANOMALY_05000074 (1) | 22 | #define ANOMALY_05000074 (1) |
18 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | 23 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ |
19 | #define ANOMALY_05000119 (1) | 24 | #define ANOMALY_05000119 (1) |
20 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | 25 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
21 | #define ANOMALY_05000122 (1) | 26 | #define ANOMALY_05000122 (1) |
22 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | 27 | /* False Hardware Error from an Access in the Shadow of a Conditional Branch */ |
23 | #define ANOMALY_05000245 (1) | 28 | #define ANOMALY_05000245 (1) |
24 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | 29 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ |
25 | #define ANOMALY_05000265 (1) | 30 | #define ANOMALY_05000265 (1) |
26 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ | 31 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ |
27 | #define ANOMALY_05000272 (1) | 32 | #define ANOMALY_05000272 (1) |
28 | /* False Hardware Error Exception when ISR context is not restored */ | 33 | /* False Hardware Error Exception When ISR Context Is Not Restored */ |
29 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 1) | 34 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 1) |
30 | /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ | 35 | /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ |
31 | #define ANOMALY_05000304 (__SILICON_REVISION__ < 1) | 36 | #define ANOMALY_05000304 (__SILICON_REVISION__ < 1) |
@@ -59,7 +64,7 @@ | |||
59 | #define ANOMALY_05000340 (__SILICON_REVISION__ < 1) | 64 | #define ANOMALY_05000340 (__SILICON_REVISION__ < 1) |
60 | /* Boot Host Wait (HWAIT) and Boot Host Wait Alternate (HWAITA) Signals Are Swapped */ | 65 | /* Boot Host Wait (HWAIT) and Boot Host Wait Alternate (HWAITA) Signals Are Swapped */ |
61 | #define ANOMALY_05000344 (__SILICON_REVISION__ < 1) | 66 | #define ANOMALY_05000344 (__SILICON_REVISION__ < 1) |
62 | /* USB Calibration Value Is Not Intialized */ | 67 | /* USB Calibration Value Is Not Initialized */ |
63 | #define ANOMALY_05000346 (__SILICON_REVISION__ < 1) | 68 | #define ANOMALY_05000346 (__SILICON_REVISION__ < 1) |
64 | /* USB Calibration Value to use */ | 69 | /* USB Calibration Value to use */ |
65 | #define ANOMALY_05000346_value 0x5411 | 70 | #define ANOMALY_05000346_value 0x5411 |
@@ -147,11 +152,11 @@ | |||
147 | #define ANOMALY_05000416 (1) | 152 | #define ANOMALY_05000416 (1) |
148 | /* Multichannel SPORT Channel Misalignment Under Specific Configuration */ | 153 | /* Multichannel SPORT Channel Misalignment Under Specific Configuration */ |
149 | #define ANOMALY_05000425 (1) | 154 | #define ANOMALY_05000425 (1) |
150 | /* Speculative Fetches of Indirect-Pointer Instructions Can Cause Spurious Hardware Errors */ | 155 | /* Speculative Fetches of Indirect-Pointer Instructions Can Cause False Hardware Errors */ |
151 | #define ANOMALY_05000426 (1) | 156 | #define ANOMALY_05000426 (1) |
152 | /* CORE_EPPI_PRIO bit and SYS_EPPI_PRIO bit in the HMDMA1_CONTROL register are not functional */ | 157 | /* CORE_EPPI_PRIO bit and SYS_EPPI_PRIO bit in the HMDMA1_CONTROL register are not functional */ |
153 | #define ANOMALY_05000427 (__SILICON_REVISION__ < 2) | 158 | #define ANOMALY_05000427 (__SILICON_REVISION__ < 2) |
154 | /* WB_EDGE Bit in NFC_IRQSTAT Incorrectly Behaves as a Buffer Status Bit Instead of an IRQ Status Bit */ | 159 | /* WB_EDGE Bit in NFC_IRQSTAT Incorrectly Reflects Buffer Status Instead of IRQ Status */ |
155 | #define ANOMALY_05000429 (__SILICON_REVISION__ < 2) | 160 | #define ANOMALY_05000429 (__SILICON_REVISION__ < 2) |
156 | /* Software System Reset Corrupts PLL_LOCKCNT Register */ | 161 | /* Software System Reset Corrupts PLL_LOCKCNT Register */ |
157 | #define ANOMALY_05000430 (__SILICON_REVISION__ >= 2) | 162 | #define ANOMALY_05000430 (__SILICON_REVISION__ >= 2) |
@@ -170,26 +175,49 @@ | |||
170 | /* Reduced Timing Margins on DDR Output Setup and Hold (tDS and tDH) */ | 175 | /* Reduced Timing Margins on DDR Output Setup and Hold (tDS and tDH) */ |
171 | #define ANOMALY_05000449 (__SILICON_REVISION__ == 1) | 176 | #define ANOMALY_05000449 (__SILICON_REVISION__ == 1) |
172 | /* USB DMA Mode 1 Short Packet Data Corruption */ | 177 | /* USB DMA Mode 1 Short Packet Data Corruption */ |
173 | #define ANOMALY_05000450 (1 | 178 | #define ANOMALY_05000450 (1) |
179 | /* USB Receive Interrupt Is Not Generated in DMA Mode 1 */ | ||
180 | #define ANOMALY_05000456 (__SILICON_REVISION__ < 3) | ||
181 | /* False Hardware Error when RETI points to invalid memory */ | ||
182 | #define ANOMALY_05000461 (1) | ||
174 | 183 | ||
175 | /* Anomalies that don't exist on this proc */ | 184 | /* Anomalies that don't exist on this proc */ |
185 | #define ANOMALY_05000099 (0) | ||
186 | #define ANOMALY_05000120 (0) | ||
176 | #define ANOMALY_05000125 (0) | 187 | #define ANOMALY_05000125 (0) |
188 | #define ANOMALY_05000149 (0) | ||
177 | #define ANOMALY_05000158 (0) | 189 | #define ANOMALY_05000158 (0) |
190 | #define ANOMALY_05000171 (0) | ||
191 | #define ANOMALY_05000179 (0) | ||
178 | #define ANOMALY_05000183 (0) | 192 | #define ANOMALY_05000183 (0) |
179 | #define ANOMALY_05000198 (0) | 193 | #define ANOMALY_05000198 (0) |
194 | #define ANOMALY_05000215 (0) | ||
195 | #define ANOMALY_05000220 (0) | ||
196 | #define ANOMALY_05000227 (0) | ||
180 | #define ANOMALY_05000230 (0) | 197 | #define ANOMALY_05000230 (0) |
198 | #define ANOMALY_05000231 (0) | ||
199 | #define ANOMALY_05000233 (0) | ||
200 | #define ANOMALY_05000242 (0) | ||
181 | #define ANOMALY_05000244 (0) | 201 | #define ANOMALY_05000244 (0) |
202 | #define ANOMALY_05000248 (0) | ||
203 | #define ANOMALY_05000250 (0) | ||
204 | #define ANOMALY_05000254 (0) | ||
182 | #define ANOMALY_05000261 (0) | 205 | #define ANOMALY_05000261 (0) |
183 | #define ANOMALY_05000263 (0) | 206 | #define ANOMALY_05000263 (0) |
184 | #define ANOMALY_05000266 (0) | 207 | #define ANOMALY_05000266 (0) |
185 | #define ANOMALY_05000273 (0) | 208 | #define ANOMALY_05000273 (0) |
209 | #define ANOMALY_05000274 (0) | ||
186 | #define ANOMALY_05000278 (0) | 210 | #define ANOMALY_05000278 (0) |
211 | #define ANOMALY_05000287 (0) | ||
212 | #define ANOMALY_05000301 (0) | ||
187 | #define ANOMALY_05000305 (0) | 213 | #define ANOMALY_05000305 (0) |
188 | #define ANOMALY_05000307 (0) | 214 | #define ANOMALY_05000307 (0) |
189 | #define ANOMALY_05000311 (0) | 215 | #define ANOMALY_05000311 (0) |
190 | #define ANOMALY_05000323 (0) | 216 | #define ANOMALY_05000323 (0) |
217 | #define ANOMALY_05000362 (1) | ||
191 | #define ANOMALY_05000363 (0) | 218 | #define ANOMALY_05000363 (0) |
192 | #define ANOMALY_05000380 (0) | 219 | #define ANOMALY_05000380 (0) |
220 | #define ANOMALY_05000400 (0) | ||
193 | #define ANOMALY_05000412 (0) | 221 | #define ANOMALY_05000412 (0) |
194 | #define ANOMALY_05000432 (0) | 222 | #define ANOMALY_05000432 (0) |
195 | #define ANOMALY_05000435 (0) | 223 | #define ANOMALY_05000435 (0) |
diff --git a/arch/blackfin/mach-bf548/include/mach/portmux.h b/arch/blackfin/mach-bf548/include/mach/portmux.h index ffb1d0a44b4d..ce372ba0f046 100644 --- a/arch/blackfin/mach-bf548/include/mach/portmux.h +++ b/arch/blackfin/mach-bf548/include/mach/portmux.h | |||
@@ -167,22 +167,42 @@ | |||
167 | #define P_PPI0_D13 (P_DEFINED | P_IDENT(GPIO_PF13) | P_FUNCT(0)) | 167 | #define P_PPI0_D13 (P_DEFINED | P_IDENT(GPIO_PF13) | P_FUNCT(0)) |
168 | #define P_PPI0_D14 (P_DEFINED | P_IDENT(GPIO_PF14) | P_FUNCT(0)) | 168 | #define P_PPI0_D14 (P_DEFINED | P_IDENT(GPIO_PF14) | P_FUNCT(0)) |
169 | #define P_PPI0_D15 (P_DEFINED | P_IDENT(GPIO_PF15) | P_FUNCT(0)) | 169 | #define P_PPI0_D15 (P_DEFINED | P_IDENT(GPIO_PF15) | P_FUNCT(0)) |
170 | #define P_ATAPI_D0A (P_DEFINED | P_IDENT(GPIO_PF0) | P_FUNCT(1)) | 170 | |
171 | #define P_ATAPI_D1A (P_DEFINED | P_IDENT(GPIO_PF1) | P_FUNCT(1)) | 171 | #ifdef CONFIG_BF548_ATAPI_ALTERNATIVE_PORT |
172 | #define P_ATAPI_D2A (P_DEFINED | P_IDENT(GPIO_PF2) | P_FUNCT(1)) | 172 | # define P_ATAPI_D0A (P_DEFINED | P_IDENT(GPIO_PF0) | P_FUNCT(1)) |
173 | #define P_ATAPI_D3A (P_DEFINED | P_IDENT(GPIO_PF3) | P_FUNCT(1)) | 173 | # define P_ATAPI_D1A (P_DEFINED | P_IDENT(GPIO_PF1) | P_FUNCT(1)) |
174 | #define P_ATAPI_D4A (P_DEFINED | P_IDENT(GPIO_PF4) | P_FUNCT(1)) | 174 | # define P_ATAPI_D2A (P_DEFINED | P_IDENT(GPIO_PF2) | P_FUNCT(1)) |
175 | #define P_ATAPI_D5A (P_DEFINED | P_IDENT(GPIO_PF5) | P_FUNCT(1)) | 175 | # define P_ATAPI_D3A (P_DEFINED | P_IDENT(GPIO_PF3) | P_FUNCT(1)) |
176 | #define P_ATAPI_D6A (P_DEFINED | P_IDENT(GPIO_PF6) | P_FUNCT(1)) | 176 | # define P_ATAPI_D4A (P_DEFINED | P_IDENT(GPIO_PF4) | P_FUNCT(1)) |
177 | #define P_ATAPI_D7A (P_DEFINED | P_IDENT(GPIO_PF7) | P_FUNCT(1)) | 177 | # define P_ATAPI_D5A (P_DEFINED | P_IDENT(GPIO_PF5) | P_FUNCT(1)) |
178 | #define P_ATAPI_D8A (P_DEFINED | P_IDENT(GPIO_PF8) | P_FUNCT(1)) | 178 | # define P_ATAPI_D6A (P_DEFINED | P_IDENT(GPIO_PF6) | P_FUNCT(1)) |
179 | #define P_ATAPI_D9A (P_DEFINED | P_IDENT(GPIO_PF9) | P_FUNCT(1)) | 179 | # define P_ATAPI_D7A (P_DEFINED | P_IDENT(GPIO_PF7) | P_FUNCT(1)) |
180 | #define P_ATAPI_D10A (P_DEFINED | P_IDENT(GPIO_PF10) | P_FUNCT(1)) | 180 | # define P_ATAPI_D8A (P_DEFINED | P_IDENT(GPIO_PF8) | P_FUNCT(1)) |
181 | #define P_ATAPI_D11A (P_DEFINED | P_IDENT(GPIO_PF11) | P_FUNCT(1)) | 181 | # define P_ATAPI_D9A (P_DEFINED | P_IDENT(GPIO_PF9) | P_FUNCT(1)) |
182 | #define P_ATAPI_D12A (P_DEFINED | P_IDENT(GPIO_PF12) | P_FUNCT(1)) | 182 | # define P_ATAPI_D10A (P_DEFINED | P_IDENT(GPIO_PF10) | P_FUNCT(1)) |
183 | #define P_ATAPI_D13A (P_DEFINED | P_IDENT(GPIO_PF13) | P_FUNCT(1)) | 183 | # define P_ATAPI_D11A (P_DEFINED | P_IDENT(GPIO_PF11) | P_FUNCT(1)) |
184 | #define P_ATAPI_D14A (P_DEFINED | P_IDENT(GPIO_PF14) | P_FUNCT(1)) | 184 | # define P_ATAPI_D12A (P_DEFINED | P_IDENT(GPIO_PF12) | P_FUNCT(1)) |
185 | #define P_ATAPI_D15A (P_DEFINED | P_IDENT(GPIO_PF15) | P_FUNCT(1)) | 185 | # define P_ATAPI_D13A (P_DEFINED | P_IDENT(GPIO_PF13) | P_FUNCT(1)) |
186 | # define P_ATAPI_D14A (P_DEFINED | P_IDENT(GPIO_PF14) | P_FUNCT(1)) | ||
187 | # define P_ATAPI_D15A (P_DEFINED | P_IDENT(GPIO_PF15) | P_FUNCT(1)) | ||
188 | #else | ||
189 | # define P_ATAPI_D0A (P_DONTCARE) | ||
190 | # define P_ATAPI_D1A (P_DONTCARE) | ||
191 | # define P_ATAPI_D2A (P_DONTCARE) | ||
192 | # define P_ATAPI_D3A (P_DONTCARE) | ||
193 | # define P_ATAPI_D4A (P_DONTCARE) | ||
194 | # define P_ATAPI_D5A (P_DONTCARE) | ||
195 | # define P_ATAPI_D6A (P_DONTCARE) | ||
196 | # define P_ATAPI_D7A (P_DONTCARE) | ||
197 | # define P_ATAPI_D8A (P_DONTCARE) | ||
198 | # define P_ATAPI_D9A (P_DONTCARE) | ||
199 | # define P_ATAPI_D10A (P_DONTCARE) | ||
200 | # define P_ATAPI_D11A (P_DONTCARE) | ||
201 | # define P_ATAPI_D12A (P_DONTCARE) | ||
202 | # define P_ATAPI_D13A (P_DONTCARE) | ||
203 | # define P_ATAPI_D14A (P_DONTCARE) | ||
204 | # define P_ATAPI_D15A (P_DONTCARE) | ||
205 | #endif | ||
186 | 206 | ||
187 | #define P_PPI0_CLK (P_DEFINED | P_IDENT(GPIO_PG0) | P_FUNCT(0)) | 207 | #define P_PPI0_CLK (P_DEFINED | P_IDENT(GPIO_PG0) | P_FUNCT(0)) |
188 | #define P_PPI0_FS1 (P_DEFINED | P_IDENT(GPIO_PG1) | P_FUNCT(0)) | 208 | #define P_PPI0_FS1 (P_DEFINED | P_IDENT(GPIO_PG1) | P_FUNCT(0)) |
@@ -200,9 +220,15 @@ | |||
200 | #define P_CAN0_RX (P_DEFINED | P_IDENT(GPIO_PG13) | P_FUNCT(0)) | 220 | #define P_CAN0_RX (P_DEFINED | P_IDENT(GPIO_PG13) | P_FUNCT(0)) |
201 | #define P_CAN1_TX (P_DEFINED | P_IDENT(GPIO_PG14) | P_FUNCT(0)) | 221 | #define P_CAN1_TX (P_DEFINED | P_IDENT(GPIO_PG14) | P_FUNCT(0)) |
202 | #define P_CAN1_RX (P_DEFINED | P_IDENT(GPIO_PG15) | P_FUNCT(0)) | 222 | #define P_CAN1_RX (P_DEFINED | P_IDENT(GPIO_PG15) | P_FUNCT(0)) |
203 | #define P_ATAPI_A0A (P_DEFINED | P_IDENT(GPIO_PG2) | P_FUNCT(1)) | 223 | #ifdef CONFIG_BF548_ATAPI_ALTERNATIVE_PORT |
204 | #define P_ATAPI_A1A (P_DEFINED | P_IDENT(GPIO_PG3) | P_FUNCT(1)) | 224 | # define P_ATAPI_A0A (P_DEFINED | P_IDENT(GPIO_PG2) | P_FUNCT(1)) |
205 | #define P_ATAPI_A2A (P_DEFINED | P_IDENT(GPIO_PG4) | P_FUNCT(1)) | 225 | # define P_ATAPI_A1A (P_DEFINED | P_IDENT(GPIO_PG3) | P_FUNCT(1)) |
226 | # define P_ATAPI_A2A (P_DEFINED | P_IDENT(GPIO_PG4) | P_FUNCT(1)) | ||
227 | #else | ||
228 | # define P_ATAPI_A0A (P_DONTCARE) | ||
229 | # define P_ATAPI_A1A (P_DONTCARE) | ||
230 | # define P_ATAPI_A2A (P_DONTCARE) | ||
231 | #endif | ||
206 | #define P_HOST_CE (P_DEFINED | P_IDENT(GPIO_PG5) | P_FUNCT(1)) | 232 | #define P_HOST_CE (P_DEFINED | P_IDENT(GPIO_PG5) | P_FUNCT(1)) |
207 | #define P_HOST_RD (P_DEFINED | P_IDENT(GPIO_PG6) | P_FUNCT(1)) | 233 | #define P_HOST_RD (P_DEFINED | P_IDENT(GPIO_PG6) | P_FUNCT(1)) |
208 | #define P_HOST_WR (P_DEFINED | P_IDENT(GPIO_PG7) | P_FUNCT(1)) | 234 | #define P_HOST_WR (P_DEFINED | P_IDENT(GPIO_PG7) | P_FUNCT(1)) |