1 /*
2  * $Id: ports.h,v 1.4 2005/09/29 08:51:07 telka Exp $
3  *
4  * H8S/2357 PORTS Registers
5  * Copyright (C) 2005 Elcom s.r.o.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  * 3. Neither the name of the copyright holders nor the names of its contributors
17  *    may be used to endorse or promote products derived from this software
18  *    without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
24  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  *
31  * Written by Branislav Petrovsky <brano111@szm.sk>, 2005.
32  *
33  * Documentation:
34  * [1] Renesas Technology Corp., "Hitachi 16-Bit Single-chip Microcomputer
35  *     H8S/2357 Series, H8S/2357F-ZTAT, H8S/2398F-ZTAT Hardware Manual",
36  *     Rev. 5.0, 11/22/02, Order Number: ADE-602-146D
37  *
38  */
39 
40 #ifndef H8S2357_PORTS_H
41 #define H8S2357_PORTS_H
42 
43 #include <openwince.h>
44 
45 #if LANGUAGE == C
46 #include <stdint.h>
47 #endif
48 
49 /* PORTS registers */
50 
51 #define PORT_BASE	0xffffff50
52 #define DDR_BASE	0xfffffeb0
53 
54 #if LANGUAGE == C
55 typedef volatile struct PORT_registers {
56 	uint8_t port1;
57 	uint8_t port2;
58 	uint8_t port3;
59 	uint8_t port4;
60 	uint8_t port5;
61 	uint8_t port6;
62 	uint8_t __reserved1[3];
63 	uint8_t porta;
64 	uint8_t portb;
65 	uint8_t portc;
66 	uint8_t portd;
67 	uint8_t porte;
68 	uint8_t portf;
69 	uint8_t portg;
70 	uint8_t p1dr;
71 	uint8_t p2dr;
72 	uint8_t p3dr;
73 	uint8_t __reserved2;
74 	uint8_t p5dr;
75 	uint8_t p6dr;
76 	uint8_t __reserved3[3];
77 	uint8_t padr;
78 	uint8_t pbdr;
79 	uint8_t pcdr;
80 	uint8_t pddr;
81 	uint8_t pedr;
82 	uint8_t pfdr;
83 	uint8_t pgdr;
84 	uint8_t papcr;
85 	uint8_t pbpcr;
86 	uint8_t pcpcr;
87 	uint8_t pdpcr;
88 	uint8_t pepcr;
89 	uint8_t __reserved4;
90 	uint8_t p3odr;
91 	uint8_t paodr;
92 } PORT_registers_t;
93 
94 typedef volatile struct DDR_registers {
95 	uint8_t p1ddr;
96 	uint8_t p2ddr;
97 	uint8_t p3ddr;
98 	uint8_t __reserved1;
99 	uint8_t p5ddr;
100 	uint8_t p6ddr;
101 	uint8_t __reserved2[3];
102 	uint8_t paddr;
103 	uint8_t pbddr;
104 	uint8_t pcddr;
105 	uint8_t pdddr;
106 	uint8_t peddr;
107 	uint8_t pfddr;
108 	uint8_t pgddr;
109 } DDR_registers_t;
110 
111 
112 #define PORT_pointer	((PORT_registers_t*) PORT_BASE)
113 #define DDR_pointer	((DDR_registers_t*) DDR_BASE)
114 
115 #define PORT1		PORT_pointer->port1
116 #define PORT2		PORT_pointer->port2
117 #define PORT3		PORT_pointer->port3
118 #define PORT4		PORT_pointer->port4
119 #define PORT5		PORT_pointer->port5
120 #define PORT6		PORT_pointer->port6
121 #define ORTA		PORT_pointer->orta
122 #define PORTB		PORT_pointer->portb
123 #define PORTC		PORT_pointer->portc
124 #define PORTD		PORT_pointer->portd
125 #define PORTE		PORT_pointer->porte
126 #define PORTF		PORT_pointer->portf
127 #define PORTG		PORT_pointer->portg
128 #define P1DR		PORT_pointer->p1dr
129 #define P2DR		PORT_pointer->p2dr
130 #define P3DR		PORT_pointer->p3dr
131 #define P5DR		PORT_pointer->p5dr
132 #define P6DR		PORT_pointer->p6dr
133 #define PADR		PORT_pointer->padr
134 #define PBDR		PORT_pointer->pbdr
135 #define PCDR		PORT_pointer->pcdr
136 #define PDDR		PORT_pointer->pddr
137 #define PEDR		PORT_pointer->pedr
138 #define PFDR		PORT_pointer->pfdr
139 #define PGDR		PORT_pointer->pgdr
140 #define PAPCR		PORT_pointer->papcr
141 #define PBPCR		PORT_pointer->pbpcr
142 #define PCPCR		PORT_pointer->pcpcr
143 #define PDPCR		PORT_pointer->pdpcr
144 #define PEPCR		PORT_pointer->pepcr
145 #define P3ODR		PORT_pointer->p3odr
146 #define PAODR		PORT_pointer->paodr
147 
148 #define P1DDR		DDR_pointer->p1ddr
149 #define P2DDR		DDR_pointer->p2ddr
150 #define P3DDR		DDR_pointer->p3ddr
151 #define P5DDR		DDR_pointer->p5ddr
152 #define P6DDR		DDR_pointer->p6ddr
153 #define PADDR		DDR_pointer->paddr
154 #define PBDDR		DDR_pointer->pbddr
155 #define PCDDR		DDR_pointer->pcddr
156 #define PDDDR		DDR_pointer->pdddr
157 #define PEDDR		DDR_pointer->peddr
158 #define PFDDR		DDR_pointer->pfddr
159 #define PGDDR		DDR_pointer->pgddr
160 #endif /* LANGUAGE == C */
161 
162 #define PORT1_OFFSET	0x00
163 #define PORT2_OFFSET	0x01
164 #define PORT3_OFFSET	0x02
165 #define PORT4_OFFSET	0x03
166 #define PORT5_OFFSET	0x04
167 #define PORT6_OFFSET	0x05
168 #define ORTA_OFFSET	0x09
169 #define PORTB_OFFSET	0x0a
170 #define PORTC_OFFSET	0x0b
171 #define PORTD_OFFSET	0x0c
172 #define PORTE_OFFSET	0x0d
173 #define PORTF_OFFSET	0x0e
174 #define PORTG_OFFSET	0x0f
175 #define P1DR_OFFSET	0x10
176 #define P2DR_OFFSET	0x11
177 #define P3DR_OFFSET	0x12
178 #define P5DR_OFFSET	0x14
179 #define P6DR_OFFSET	0x15
180 #define PADR_OFFSET	0x19
181 #define PBDR_OFFSET	0x1a
182 #define PCDR_OFFSET	0x1b
183 #define PDDR_OFFSET	0x1c
184 #define PEDR_OFFSET	0x1d
185 #define PFDR_OFFSET	0x1e
186 #define PGDR_OFFSET	0x1f
187 #define PAPCR_OFFSET	0x20
188 #define PBPCR_OFFSET	0x21
189 #define PCPCR_OFFSET	0x22
190 #define PDPCR_OFFSET	0x23
191 #define PEPCR_OFFSET	0x24
192 #define P3ODR_OFFSET	0x26
193 #define PAODR_OFFSET	0x27
194 
195 #define P1DDR_OFFSET	0x00
196 #define P2DDR_OFFSET	0x01
197 #define P3DDR_OFFSET	0x02
198 #define P5DDR_OFFSET	0x04
199 #define P6DDR_OFFSET	0x05
200 #define PADDR_OFFSET	0x09
201 #define PBDDR_OFFSET	0x0a
202 #define PCDDR_OFFSET	0x0b
203 #define PDDDR_OFFSET	0x0c
204 #define PEDDR_OFFSET	0x0d
205 #define PFDDR_OFFSET	0x0e
206 #define PGDDR_OFFSET	0x0f
207 
208 /* PORT1 bits */
209 #define PORT1_P17	bit(7)
210 #define PORT1_P16	bit(6)
211 #define PORT1_P15	bit(5)
212 #define PORT1_P14	bit(4)
213 #define PORT1_P13	bit(3)
214 #define PORT1_P12	bit(2)
215 #define PORT1_P11	bit(1)
216 #define PORT1_P10	bit(0)
217 
218 /* PORT2 bits */
219 #define PORT2_P27	bit(7)
220 #define PORT2_P26	bit(6)
221 #define PORT2_P25	bit(5)
222 #define PORT2_P24	bit(4)
223 #define PORT2_P23	bit(3)
224 #define PORT2_P22	bit(2)
225 #define PORT2_P21	bit(1)
226 #define PORT2_P20	bit(0)
227 
228 /* PORT3 bits */
229 #define PORT3_P35	bit(5)
230 #define PORT3_P34	bit(4)
231 #define PORT3_P33	bit(3)
232 #define PORT3_P32	bit(2)
233 #define PORT3_P31	bit(1)
234 #define PORT3_P30	bit(0)
235 
236 /* PORT4 bits */
237 #define PORT4_P47	bit(7)
238 #define PORT4_P46	bit(6)
239 #define PORT4_P45	bit(5)
240 #define PORT4_P44	bit(4)
241 #define PORT4_P43	bit(3)
242 #define PORT4_P42	bit(2)
243 #define PORT4_P41	bit(1)
244 #define PORT4_P40	bit(0)
245 
246 /* PORT5 bits */
247 #define PORT5_P53	bit(3)
248 #define PORT5_P52	bit(2)
249 #define PORT5_P51	bit(1)
250 #define PORT5_P50	bit(0)
251 
252 /* PORT6 bits */
253 #define PORT6_P67	bit(7)
254 #define PORT6_P66	bit(6)
255 #define PORT6_P65	bit(5)
256 #define PORT6_P64	bit(4)
257 #define PORT6_P63	bit(3)
258 #define PORT6_P62	bit(2)
259 #define PORT6_P61	bit(1)
260 #define PORT6_P60	bit(0)
261 
262 /* PORTA bits */
263 #define PORTA_PA7	bit(7)
264 #define PORTA_PA6	bit(6)
265 #define PORTA_PA5	bit(5)
266 #define PORTA_PA4	bit(4)
267 #define PORTA_PA3	bit(3)
268 #define PORTA_PA2	bit(2)
269 #define PORTA_PA1	bit(1)
270 #define PORTA_PA0	bit(0)
271 
272 /* PORTB bits */
273 #define PORTB_PB7	bit(7)
274 #define PORTB_PB6	bit(6)
275 #define PORTB_PB5	bit(5)
276 #define PORTB_PB4	bit(4)
277 #define PORTB_PB3	bit(3)
278 #define PORTB_PB2	bit(2)
279 #define PORTB_PB1	bit(1)
280 #define PORTB_PB0	bit(0)
281 
282 /* PORTC bits */
283 #define PORTC_PC7	bit(7)
284 #define PORTC_PC6	bit(6)
285 #define PORTC_PC5	bit(5)
286 #define PORTC_PC4	bit(4)
287 #define PORTC_PC3	bit(3)
288 #define PORTC_PC2	bit(2)
289 #define PORTC_PC1	bit(1)
290 #define PORTC_PC0	bit(0)
291 
292 /* PORTD bits */
293 #define PORTD_PD7	bit(7)
294 #define PORTD_PD6	bit(6)
295 #define PORTD_PD5	bit(5)
296 #define PORTD_PD4	bit(4)
297 #define PORTD_PD3	bit(3)
298 #define PORTD_PD2	bit(2)
299 #define PORTD_PD1	bit(1)
300 #define PORTD_PD0	bit(0)
301 
302 /* PORTE bits */
303 #define PORTE_PE7	bit(7)
304 #define PORTE_PE6	bit(6)
305 #define PORTE_PE5	bit(5)
306 #define PORTE_PE4	bit(4)
307 #define PORTE_PE3	bit(3)
308 #define PORTE_PE2	bit(2)
309 #define PORTE_PE1	bit(1)
310 #define PORTE_PE0	bit(0)
311 
312 /* PORTF bits */
313 #define PORTF_PF7	bit(7)
314 #define PORTF_PF6	bit(6)
315 #define PORTF_PF5	bit(5)
316 #define PORTF_PF4	bit(4)
317 #define PORTF_PF3	bit(3)
318 #define PORTF_PF2	bit(2)
319 #define PORTF_PF1	bit(1)
320 #define PORTF_PF0	bit(0)
321 
322 /* PORTG bits */
323 #define PORTG_PG4	bit(4)
324 #define PORTG_PG3	bit(3)
325 #define PORTG_PG2	bit(2)
326 #define PORTG_PG1	bit(1)
327 #define PORTG_PG0	bit(0)
328 
329 /* P1DR bits */
330 #define P1DR_P17DR	bit(7)
331 #define P1DR_P16DR	bit(6)
332 #define P1DR_P15DR	bit(5)
333 #define P1DR_P14DR	bit(4)
334 #define P1DR_P13DR	bit(3)
335 #define P1DR_P12DR	bit(2)
336 #define P1DR_P11DR	bit(1)
337 #define P1DR_P10DR	bit(0)
338 
339 /* P2DR bits */
340 #define P2DR_P27DR	bit(7)
341 #define P2DR_P26DR	bit(6)
342 #define P2DR_P25DR	bit(5)
343 #define P2DR_P24DR	bit(4)
344 #define P2DR_P23DR	bit(3)
345 #define P2DR_P22DR	bit(2)
346 #define P2DR_P21DR	bit(1)
347 #define P2DR_P20DR	bit(0)
348 
349 /* P3DR bits */
350 #define P3DR_P35DR	bit(5)
351 #define P3DR_P34DR	bit(4)
352 #define P3DR_P33DR	bit(3)
353 #define P3DR_P32DR	bit(2)
354 #define P3DR_P31DR	bit(1)
355 #define P3DR_P30DR	bit(0)
356 
357 /* P5DR bits */
358 #define P5DR_P53DR	bit(3)
359 #define P5DR_P52DR	bit(2)
360 #define P5DR_P51DR	bit(1)
361 #define P5DR_P50DR	bit(0)
362 
363 /* P6DR bits */
364 #define P6DR_P67DR	bit(7)
365 #define P6DR_P66DR	bit(6)
366 #define P6DR_P65DR	bit(5)
367 #define P6DR_P64DR	bit(4)
368 #define P6DR_P63DR	bit(3)
369 #define P6DR_P62DR	bit(2)
370 #define P6DR_P61DR	bit(1)
371 #define P6DR_P60DR	bit(0)
372 
373 /* PADR bits */
374 #define PADR_PA7DR	bit(7)
375 #define PADR_PA6DR	bit(6)
376 #define PADR_PA5DR	bit(5)
377 #define PADR_PA4DR	bit(4)
378 #define PADR_PA3DR	bit(3)
379 #define PADR_PA2DR	bit(2)
380 #define PADR_PA1DR	bit(1)
381 #define PADR_PA0DR	bit(0)
382 
383 /* PBDR bits */
384 #define PBDR_PB7DR	bit(7)
385 #define PBDR_PB6DR	bit(6)
386 #define PBDR_PB5DR	bit(5)
387 #define PBDR_PB4DR	bit(4)
388 #define PBDR_PB3DR	bit(3)
389 #define PBDR_PB2DR	bit(2)
390 #define PBDR_PB1DR	bit(1)
391 #define PBDR_PB0DR	bit(0)
392 
393 /* PCDR bits */
394 #define PCDR_PC7DR	bit(7)
395 #define PCDR_PC6DR	bit(6)
396 #define PCDR_PC5DR	bit(5)
397 #define PCDR_PC4DR	bit(4)
398 #define PCDR_PC3DR	bit(3)
399 #define PCDR_PC2DR	bit(2)
400 #define PCDR_PC1DR	bit(1)
401 #define PCDR_PC0DR	bit(0)
402 
403 /* PDDR bits */
404 #define PDDR_PD7DR	bit(7)
405 #define PDDR_PD6DR	bit(6)
406 #define PDDR_PD5DR	bit(5)
407 #define PDDR_PD4DR	bit(4)
408 #define PDDR_PD3DR	bit(3)
409 #define PDDR_PD2DR	bit(2)
410 #define PDDR_PD1DR	bit(1)
411 #define PDDR_PD0DR	bit(0)
412 
413 /* PEDR bits */
414 #define PEDR_PE7DR	bit(7)
415 #define PEDR_PE6DR	bit(6)
416 #define PEDR_PE5DR	bit(5)
417 #define PEDR_PE4DR	bit(4)
418 #define PEDR_PE3DR	bit(3)
419 #define PEDR_PE2DR	bit(2)
420 #define PEDR_PE1DR	bit(1)
421 #define PEDR_PE0DR	bit(0)
422 
423 /* PFDR bits */
424 #define PFDR_PF7DR	bit(7)
425 #define PFDR_PF6DR	bit(6)
426 #define PFDR_PF5DR	bit(5)
427 #define PFDR_PF4DR	bit(4)
428 #define PFDR_PF3DR	bit(3)
429 #define PFDR_PF2DR	bit(2)
430 #define PFDR_PF1DR	bit(1)
431 #define PFDR_PF0DR	bit(0)
432 
433 /* PGDR bits */
434 #define PGDR_PG4DR	bit(4)
435 #define PGDR_PG3DR	bit(3)
436 #define PGDR_PG2DR	bit(2)
437 #define PGDR_PG1DR	bit(1)
438 #define PGDR_PG0DR	bit(0)
439 
440 /* PAPCR bits */
441 #define PAPCR_PA7PCR	bit(7)
442 #define PAPCR_PA6PCR	bit(6)
443 #define PAPCR_PA5PCR	bit(5)
444 #define PAPCR_PA4PCR	bit(4)
445 #define PAPCR_PA3PCR	bit(3)
446 #define PAPCR_PA2PCR	bit(2)
447 #define PAPCR_PA1PCR	bit(1)
448 #define PAPCR_PA0PCR	bit(0)
449 
450 /* PBPCR bits */
451 #define PBPCR_PB7PCR	bit(7)
452 #define PBPCR_PB6PCR	bit(6)
453 #define PBPCR_PB5PCR	bit(5)
454 #define PBPCR_PB4PCR	bit(4)
455 #define PBPCR_PB3PCR	bit(3)
456 #define PBPCR_PB2PCR	bit(2)
457 #define PBPCR_PB1PCR	bit(1)
458 #define PBPCR_PB0PCR	bit(0)
459 
460 /* PCPCR bits */
461 #define PCPCR_PC7PCR	bit(7)
462 #define PCPCR_PC6PCR	bit(6)
463 #define PCPCR_PC5PCR	bit(5)
464 #define PCPCR_PC4PCR	bit(4)
465 #define PCPCR_PC3PCR	bit(3)
466 #define PCPCR_PC2PCR	bit(2)
467 #define PCPCR_PC1PCR	bit(1)
468 #define PCPCR_PC0PCR	bit(0)
469 
470 /* PDPCR bits */
471 #define PDPCR_PD7PCR	bit(7)
472 #define PDPCR_PD6PCR	bit(6)
473 #define PDPCR_PD5PCR	bit(5)
474 #define PDPCR_PD4PCR	bit(4)
475 #define PDPCR_PD3PCR	bit(3)
476 #define PDPCR_PD2PCR	bit(2)
477 #define PDPCR_PD1PCR	bit(1)
478 #define PDPCR_PD0PCR	bit(0)
479 
480 /* PEPCR bits */
481 #define PEPCR_PE7PCR	bit(7)
482 #define PEPCR_PE6PCR	bit(6)
483 #define PEPCR_PE5PCR	bit(5)
484 #define PEPCR_PE4PCR	bit(4)
485 #define PEPCR_PE3PCR	bit(3)
486 #define PEPCR_PE2PCR	bit(2)
487 #define PEPCR_PE1PCR	bit(1)
488 #define PEPCR_PE0PCR	bit(0)
489 
490 /* P3ODR bits */
491 #define P3ODR_P35ODR	bit(5)
492 #define P3ODR_P34ODR	bit(4)
493 #define P3ODR_P33ODR	bit(3)
494 #define P3ODR_P32ODR	bit(2)
495 #define P3ODR_P31ODR	bit(1)
496 #define P3ODR_P30ODR	bit(0)
497 
498 /* PAODR bits */
499 #define PAODR_PA7ODR	bit(7)
500 #define PAODR_PA6ODR	bit(6)
501 #define PAODR_PA5ODR	bit(5)
502 #define PAODR_PA4ODR	bit(4)
503 #define PAODR_PA3ODR	bit(3)
504 #define PAODR_PA2ODR	bit(2)
505 #define PAODR_PA1ODR	bit(1)
506 #define PAODR_PA0ODR	bit(0)
507 
508 /* P1DDR bits */
509 #define P1DDR_P17DDR	bit(7)
510 #define P1DDR_P16DDR	bit(6)
511 #define P1DDR_P15DDR	bit(5)
512 #define P1DDR_P14DDR	bit(4)
513 #define P1DDR_P13DDR	bit(3)
514 #define P1DDR_P12DDR	bit(2)
515 #define P1DDR_P11DDR	bit(1)
516 #define P1DDR_P10DDR	bit(0)
517 
518 /* P2DDR bits */
519 #define P2DDR_P27DDR	bit(7)
520 #define P2DDR_P26DDR	bit(6)
521 #define P2DDR_P25DDR	bit(5)
522 #define P2DDR_P24DDR	bit(4)
523 #define P2DDR_P23DDR	bit(3)
524 #define P2DDR_P22DDR	bit(2)
525 #define P2DDR_P21DDR	bit(1)
526 #define P2DDR_P20DDR	bit(0)
527 
528 /* P3DDR bits */
529 #define P3DDR_P35DDR	bit(5)
530 #define P3DDR_P34DDR	bit(4)
531 #define P3DDR_P33DDR	bit(3)
532 #define P3DDR_P32DDR	bit(2)
533 #define P3DDR_P31DDR	bit(1)
534 #define P3DDR_P30DDR	bit(0)
535 
536 /* P5DDR bits */
537 #define P5DDR_P53DDR	bit(3)
538 #define P5DDR_P52DDR	bit(2)
539 #define P5DDR_P51DDR	bit(1)
540 #define P5DDR_P50DDR	bit(0)
541 
542 /* P6DDR bits */
543 #define P6DDR_P67DDR	bit(7)
544 #define P6DDR_P66DDR	bit(6)
545 #define P6DDR_P65DDR	bit(5)
546 #define P6DDR_P64DDR	bit(4)
547 #define P6DDR_P63DDR	bit(3)
548 #define P6DDR_P62DDR	bit(2)
549 #define P6DDR_P61DDR	bit(1)
550 #define P6DDR_P60DDR	bit(0)
551 
552 /* PADDR bits */
553 #define PADDR_PA7DDR	bit(7)
554 #define PADDR_PA6DDR	bit(6)
555 #define PADDR_PA5DDR	bit(5)
556 #define PADDR_PA4DDR	bit(4)
557 #define PADDR_PA3DDR	bit(3)
558 #define PADDR_PA2DDR	bit(2)
559 #define PADDR_PA1DDR	bit(1)
560 #define PADDR_PA0DDR	bit(0)
561 
562 /* PBDDR bits */
563 #define PBDDR_PB7DDR	bit(7)
564 #define PBDDR_PB6DDR	bit(6)
565 #define PBDDR_PB5DDR	bit(5)
566 #define PBDDR_PB4DDR	bit(4)
567 #define PBDDR_PB3DDR	bit(3)
568 #define PBDDR_PB2DDR	bit(2)
569 #define PBDDR_PB1DDR	bit(1)
570 #define PBDDR_PB0DDR	bit(0)
571 
572 /* PCDDR bits */
573 #define PCDDR_PC7DDR	bit(7)
574 #define PCDDR_PC6DDR	bit(6)
575 #define PCDDR_PC5DDR	bit(5)
576 #define PCDDR_PC4DDR	bit(4)
577 #define PCDDR_PC3DDR	bit(3)
578 #define PCDDR_PC2DDR	bit(2)
579 #define PCDDR_PC1DDR	bit(1)
580 #define PCDDR_PC0DDR	bit(0)
581 
582 /* PDDDR bits */
583 #define PDDDR_PD7DDR	bit(7)
584 #define PDDDR_PD6DDR	bit(6)
585 #define PDDDR_PD5DDR	bit(5)
586 #define PDDDR_PD4DDR	bit(4)
587 #define PDDDR_PD3DDR	bit(3)
588 #define PDDDR_PD2DDR	bit(2)
589 #define PDDDR_PD1DDR	bit(1)
590 #define PDDDR_PD0DDR	bit(0)
591 
592 /* PEDDR bits */
593 #define PEDDR_PE7DDR	bit(7)
594 #define PEDDR_PE6DDR	bit(6)
595 #define PEDDR_PE5DDR	bit(5)
596 #define PEDDR_PE4DDR	bit(4)
597 #define PEDDR_PE3DDR	bit(3)
598 #define PEDDR_PE2DDR	bit(2)
599 #define PEDDR_PE1DDR	bit(1)
600 #define PEDDR_PE0DDR	bit(0)
601 
602 /* PFDDR bits */
603 #define PFDDR_PF7DDR	bit(7)
604 #define PFDDR_PF6DDR	bit(6)
605 #define PFDDR_PF5DDR	bit(5)
606 #define PFDDR_PF4DDR	bit(4)
607 #define PFDDR_PF3DDR	bit(3)
608 #define PFDDR_PF2DDR	bit(2)
609 #define PFDDR_PF1DDR	bit(1)
610 #define PFDDR_PF0DDR	bit(0)
611 
612 /* PGDDR bits */
613 #define PGDDR_PG4DDR	bit(4)
614 #define PGDDR_PG3DDR	bit(3)
615 #define PGDDR_PG2DDR	bit(2)
616 #define PGDDR_PG1DDR	bit(1)
617 #define PGDDR_PG0DDR	bit(0)
618 
619 #endif /* H8S2357_PORTS_H */
620