1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29#ifndef __CONFIG_H
30#define __CONFIG_H
31
32#if !defined(CONFIG_NETTA2_VERSION) || CONFIG_NETTA2_VERSION > 2
33#error Unsupported CONFIG_NETTA2 version
34#endif
35
36
37
38
39
40
41#define CONFIG_MPC870 1
42#define CONFIG_NETTA2 1
43
44#define CONFIG_8xx_CONS_SMC1 1
45#undef CONFIG_8xx_CONS_SMC2
46#undef CONFIG_8xx_CONS_NONE
47
48#define CONFIG_BAUDRATE 115200
49
50
51#define CONFIG_XIN 50000000
52
53#define MPC8XX_HZ 66666666
54
55#define CONFIG_8xx_GCLK_FREQ MPC8XX_HZ
56
57#if 0
58#define CONFIG_BOOTDELAY -1
59#else
60#define CONFIG_BOOTDELAY 5
61#endif
62
63#undef CONFIG_CLOCKS_IN_MHZ
64
65#define CONFIG_PREBOOT "echo;"
66
67#undef CONFIG_BOOTARGS
68#define CONFIG_BOOTCOMMAND \
69 "tftpboot; " \
70 "setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} " \
71 "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
72 "bootm"
73
74#define CONFIG_SOURCE
75#define CONFIG_LOADS_ECHO 0
76#undef CONFIG_SYS_LOADS_BAUD_CHANGE
77
78#undef CONFIG_WATCHDOG
79
80#undef CONFIG_CAN_DRIVER
81
82#define CONFIG_STATUS_LED 1
83#define CONFIG_BOARD_SPECIFIC_LED
84
85
86
87
88#define CONFIG_BOOTP_SUBNETMASK
89#define CONFIG_BOOTP_GATEWAY
90#define CONFIG_BOOTP_HOSTNAME
91#define CONFIG_BOOTP_BOOTPATH
92#define CONFIG_BOOTP_BOOTFILESIZE
93#define CONFIG_BOOTP_NISDOMAIN
94
95
96#undef CONFIG_MAC_PARTITION
97#undef CONFIG_DOS_PARTITION
98
99#define CONFIG_RTC_MPC8xx
100
101#define CONFIG_NET_MULTI 1
102#define FEC_ENET 1
103#undef CONFIG_SYS_DISCOVER_PHY
104#define CONFIG_MII 1
105#define CONFIG_MII_INIT 1
106#define CONFIG_RMII 1
107
108#define CONFIG_ETHER_ON_FEC1 1
109#define CONFIG_FEC1_PHY 8
110#define CONFIG_FEC1_PHY_NORXERR 1
111
112#define CONFIG_ETHER_ON_FEC2 1
113#define CONFIG_FEC2_PHY 4
114#define CONFIG_FEC2_PHY_NORXERR 1
115
116#define CONFIG_ENV_OVERWRITE 1
117
118
119
120
121
122#include <config_cmd_default.h>
123
124#define CONFIG_CMD_NAND
125#define CONFIG_CMD_DHCP
126#define CONFIG_CMD_PING
127#define CONFIG_CMD_MII
128#define CONFIG_CMD_CDP
129
130
131#define CONFIG_BOARD_EARLY_INIT_F 1
132#define CONFIG_MISC_INIT_R
133
134
135
136
137#define CONFIG_SYS_LONGHELP
138#define CONFIG_SYS_PROMPT "=> "
139
140#define CONFIG_SYS_HUSH_PARSER 1
141#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
142
143#if defined(CONFIG_CMD_KGDB)
144#define CONFIG_SYS_CBSIZE 1024
145#else
146#define CONFIG_SYS_CBSIZE 256
147#endif
148#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
149#define CONFIG_SYS_MAXARGS 16
150#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
151
152#define CONFIG_SYS_MEMTEST_START 0x0300000
153#define CONFIG_SYS_MEMTEST_END 0x0700000
154
155#define CONFIG_SYS_LOAD_ADDR 0x100000
156
157#define CONFIG_SYS_HZ 1000
158
159#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
160
161
162
163
164
165
166
167
168
169#define CONFIG_SYS_IMMR 0xFF000000
170
171
172
173
174#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
175#define CONFIG_SYS_INIT_RAM_END 0x3000
176#define CONFIG_SYS_GBL_DATA_SIZE 64
177#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
178#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
179
180
181
182
183
184
185#define CONFIG_SYS_SDRAM_BASE 0x00000000
186#define CONFIG_SYS_FLASH_BASE 0x40000000
187#if defined(DEBUG)
188#define CONFIG_SYS_MONITOR_LEN (256 << 10)
189#else
190#define CONFIG_SYS_MONITOR_LEN (192 << 10)
191#endif
192#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
193#define CONFIG_SYS_MALLOC_LEN (128 << 10)
194#if CONFIG_NETTA2_VERSION == 2
195#define CONFIG_SYS_FLASH_BASE4 0x40080000
196#endif
197
198#define CONFIG_SYS_RESET_ADDRESS 0x80000000
199
200
201
202
203
204
205#define CONFIG_SYS_BOOTMAPSZ (8 << 20)
206
207
208
209
210#if CONFIG_NETTA2_VERSION == 1
211#define CONFIG_SYS_MAX_FLASH_BANKS 1
212#elif CONFIG_NETTA2_VERSION == 2
213#define CONFIG_SYS_MAX_FLASH_BANKS 2
214#endif
215#define CONFIG_SYS_MAX_FLASH_SECT 8
216
217#define CONFIG_SYS_FLASH_ERASE_TOUT 120000
218#define CONFIG_SYS_FLASH_WRITE_TOUT 500
219
220#define CONFIG_ENV_IS_IN_FLASH 1
221#define CONFIG_ENV_SECT_SIZE 0x10000
222
223#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x60000)
224#define CONFIG_ENV_OFFSET 0
225#define CONFIG_ENV_SIZE 0x4000
226
227#define CONFIG_ENV_ADDR_REDUND (CONFIG_SYS_FLASH_BASE + 0x70000)
228#define CONFIG_ENV_OFFSET_REDUND 0
229#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
230
231
232
233
234#define CONFIG_SYS_CACHELINE_SIZE 16
235#if defined(CONFIG_CMD_KGDB)
236#define CONFIG_SYS_CACHELINE_SHIFT 4
237#endif
238
239
240
241
242
243
244
245#if defined(CONFIG_WATCHDOG)
246#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
247 SYPCR_SWE | SYPCR_SWRI| SYPCR_SWP)
248#else
249#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | SYPCR_SWP)
250#endif
251
252
253
254
255
256
257#ifndef CONFIG_CAN_DRIVER
258#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01 | SIUMCR_FRC)
259#else
260#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC11 | SIUMCR_DBPC00 | SIUMCR_MLRC01 | SIUMCR_FRC)
261#endif
262
263
264
265
266
267
268#define CONFIG_SYS_TBSCR (TBSCR_REFA | TBSCR_REFB | TBSCR_TBF)
269
270
271
272
273
274#define CONFIG_SYS_RTCSC (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
275
276
277
278
279
280
281#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
282
283
284
285
286
287
288
289
290
291#if CONFIG_XIN == 10000000
292
293#if MPC8XX_HZ == 120000000
294#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
295 (0 << PLPRCR_S_SHIFT) | (12 << PLPRCR_MFI_SHIFT) | (0 << PLPRCR_PDF_SHIFT) | \
296 PLPRCR_TEXPS)
297#elif MPC8XX_HZ == 100000000
298#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
299 (0 << PLPRCR_S_SHIFT) | (10 << PLPRCR_MFI_SHIFT) | (0 << PLPRCR_PDF_SHIFT) | \
300 PLPRCR_TEXPS)
301#elif MPC8XX_HZ == 50000000
302#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
303 (1 << PLPRCR_S_SHIFT) | (8 << PLPRCR_MFI_SHIFT) | (3 << PLPRCR_PDF_SHIFT) | \
304 PLPRCR_TEXPS)
305#elif MPC8XX_HZ == 25000000
306#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
307 (2 << PLPRCR_S_SHIFT) | (8 << PLPRCR_MFI_SHIFT) | (3 << PLPRCR_PDF_SHIFT) | \
308 PLPRCR_TEXPS)
309#elif MPC8XX_HZ == 40000000
310#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
311 (1 << PLPRCR_S_SHIFT) | (8 << PLPRCR_MFI_SHIFT) | (4 << PLPRCR_PDF_SHIFT) | \
312 PLPRCR_TEXPS)
313#elif MPC8XX_HZ == 75000000
314#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
315 (1 << PLPRCR_S_SHIFT) | (15 << PLPRCR_MFI_SHIFT) | (0 << PLPRCR_PDF_SHIFT) | \
316 PLPRCR_TEXPS)
317#else
318#error unsupported CPU freq for XIN = 10MHz
319#endif
320
321#elif CONFIG_XIN == 50000000
322
323#if MPC8XX_HZ == 120000000
324#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
325 (0 << PLPRCR_S_SHIFT) | (12 << PLPRCR_MFI_SHIFT) | (4 << PLPRCR_PDF_SHIFT) | \
326 PLPRCR_TEXPS)
327#elif MPC8XX_HZ == 100000000
328#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
329 (0 << PLPRCR_S_SHIFT) | (6 << PLPRCR_MFI_SHIFT) | (2 << PLPRCR_PDF_SHIFT) | \
330 PLPRCR_TEXPS)
331#elif MPC8XX_HZ == 66666666
332#define CONFIG_SYS_PLPRCR ((0 << PLPRCR_MFN_SHIFT) | (0 << PLPRCR_MFD_SHIFT) | \
333 (1 << PLPRCR_S_SHIFT) | (8 << PLPRCR_MFI_SHIFT) | (2 << PLPRCR_PDF_SHIFT) | \
334 PLPRCR_TEXPS)
335#else
336#error unsupported CPU freq for XIN = 50MHz
337#endif
338
339#else
340
341#error unsupported XIN freq
342#endif
343
344
345
346
347
348
349
350
351
352
353
354
355#define SCCR_MASK SCCR_EBDF11
356#if MPC8XX_HZ > 66666666
357#define CONFIG_SYS_SCCR ( SCCR_CRQEN | \
358 SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \
359 SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \
360 SCCR_DFALCD00 | SCCR_EBDF01)
361#else
362#define CONFIG_SYS_SCCR ( SCCR_CRQEN | \
363 SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \
364 SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \
365 SCCR_DFALCD00)
366#endif
367
368
369
370
371
372
373
374#define CONFIG_SYS_DER 0
375
376
377
378
379
380
381
382#define FLASH_BASE0_PRELIM 0x40000000
383
384
385
386
387
388#define CONFIG_SYS_REMAP_OR_AM 0x80000000
389#define CONFIG_SYS_PRELIM_OR_AM 0xE0000000
390
391
392#define CONFIG_SYS_OR_TIMING_FLASH (OR_CSNT_SAM | OR_BI | OR_SCY_5_CLK | OR_TRLX)
393
394#define CONFIG_SYS_OR0_REMAP (CONFIG_SYS_REMAP_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
395#define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
396#define CONFIG_SYS_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )
397
398#if CONFIG_NETTA2_VERSION == 2
399
400#define FLASH_BASE4_PRELIM 0x40080000
401
402#define CONFIG_SYS_OR4_REMAP (CONFIG_SYS_REMAP_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
403#define CONFIG_SYS_OR4_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
404#define CONFIG_SYS_BR4_PRELIM ((FLASH_BASE4_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )
405
406#endif
407
408
409
410
411
412#define SDRAM_BASE3_PRELIM 0x00000000
413#define SDRAM_MAX_SIZE (256 << 20)
414
415
416#define CONFIG_SYS_OR_TIMING_SDRAM (OR_CSNT_SAM | OR_G5LS)
417
418#define CONFIG_SYS_OR3_PRELIM ((0xFFFFFFFFLU & ~(SDRAM_MAX_SIZE - 1)) | CONFIG_SYS_OR_TIMING_SDRAM)
419#define CONFIG_SYS_BR3_PRELIM ((SDRAM_BASE3_PRELIM & BR_BA_MSK) | BR_MS_UPMB | BR_PS_32 | BR_V)
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452#define CONFIG_SYS_MAMR_PTA 234
453
454
455
456
457
458
459
460
461
462#define CONFIG_SYS_MPTPR_2BK_4K MPTPR_PTP_DIV16
463#define CONFIG_SYS_MPTPR_1BK_4K MPTPR_PTP_DIV32
464
465
466#define CONFIG_SYS_MPTPR_2BK_8K MPTPR_PTP_DIV8
467#define CONFIG_SYS_MPTPR_1BK_8K MPTPR_PTP_DIV16
468
469
470
471
472
473
474#define CONFIG_SYS_MAMR_8COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
475 MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 | \
476 MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
477
478
479#define CONFIG_SYS_MAMR_9COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
480 MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 | \
481 MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
482
483
484
485
486
487
488#define BOOTFLAG_COLD 0x01
489#define BOOTFLAG_WARM 0x02
490
491#define CONFIG_LAST_STAGE_INIT
492
493
494
495#define DSP_SIZE 0x00010000
496#define NAND_SIZE 0x00010000
497
498#define DSP_BASE 0xF1000000
499#define NAND_BASE 0xF1010000
500
501
502
503
504#define CONFIG_NAND_LEGACY
505#define CONFIG_SYS_NAND_BASE NAND_BASE
506#define CONFIG_MTD_NAND_ECC_JFFS2
507#define CONFIG_MTD_NAND_VERIFY_WRITE
508#define CONFIG_MTD_NAND_UNSAFE
509
510#define CONFIG_SYS_MAX_NAND_DEVICE 1
511
512#define SECTORSIZE 512
513#define ADDR_COLUMN 1
514#define ADDR_PAGE 2
515#define ADDR_COLUMN_PAGE 3
516#define NAND_ChipID_UNKNOWN 0x00
517#define NAND_MAX_FLOORS 1
518
519
520#define NAND_DISABLE_CE(nand) \
521 do { \
522 (((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat) |= (1 << (31 - 20)); \
523 } while(0)
524
525#define NAND_ENABLE_CE(nand) \
526 do { \
527 (((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat) &= ~(1 << (31 - 20)); \
528 } while(0)
529
530#define NAND_CTL_CLRALE(nandptr) \
531 do { \
532 (((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat) &= ~(1 << (31 - 17)); \
533 } while(0)
534
535#define NAND_CTL_SETALE(nandptr) \
536 do { \
537 (((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat) |= (1 << (31 - 17)); \
538 } while(0)
539
540#define NAND_CTL_CLRCLE(nandptr) \
541 do { \
542 (((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat) &= ~(1 << (31 - 18)); \
543 } while(0)
544
545#define NAND_CTL_SETCLE(nandptr) \
546 do { \
547 (((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat) |= (1 << (31 - 18)); \
548 } while(0)
549
550#if CONFIG_NETTA2_VERSION == 1
551#define NAND_WAIT_READY(nand) \
552 do { \
553 int _tries = 0; \
554 while ((((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat & (1 << (31 - 31))) == 0) \
555 if (++_tries > 100000) \
556 break; \
557 } while (0)
558#elif CONFIG_NETTA2_VERSION == 2
559#define NAND_WAIT_READY(nand) \
560 do { \
561 int _tries = 0; \
562 while ((((volatile immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pcdat & (1 << (15 - 15))) == 0) \
563 if (++_tries > 100000) \
564 break; \
565 } while (0)
566#endif
567
568#define WRITE_NAND_COMMAND(d, adr) \
569 do { \
570 *(volatile unsigned char *)((unsigned long)(adr)) = (unsigned char)(d); \
571 } while(0)
572
573#define WRITE_NAND_ADDRESS(d, adr) \
574 do { \
575 *(volatile unsigned char *)((unsigned long)(adr)) = (unsigned char)(d); \
576 } while(0)
577
578#define WRITE_NAND(d, adr) \
579 do { \
580 *(volatile unsigned char *)((unsigned long)(adr)) = (unsigned char)(d); \
581 } while(0)
582
583#define READ_NAND(adr) \
584 ((unsigned char)(*(volatile unsigned char *)(unsigned long)(adr)))
585
586
587
588#define CONFIG_SYS_DIRECT_FLASH_TFTP
589#define CONFIG_SYS_DIRECT_NAND_TFTP
590
591
592
593#if CONFIG_NETTA2_VERSION == 1
594#define STATUS_LED_BIT 0x00000008
595#elif CONFIG_NETTA2_VERSION == 2
596#define STATUS_LED_BIT 0x00000080
597#endif
598
599#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2)
600#define STATUS_LED_STATE STATUS_LED_BLINKING
601
602#define STATUS_LED_ACTIVE 0
603#define STATUS_LED_BOOT 0
604
605#ifndef __ASSEMBLY__
606
607
608
609
610typedef unsigned int led_id_t;
611
612#define __led_toggle(_msk) \
613 do { \
614 ((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat ^= (_msk); \
615 } while(0)
616
617#define __led_set(_msk, _st) \
618 do { \
619 if ((_st)) \
620 ((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat |= (_msk); \
621 else \
622 ((volatile immap_t *)CONFIG_SYS_IMMR)->im_cpm.cp_pedat &= ~(_msk); \
623 } while(0)
624
625#define __led_init(msk, st) __led_set(msk, st)
626
627#endif
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
737#define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE 1
738#define CONFIG_SYS_CONSOLE_ENV_OVERWRITE 1
739
740
741
742
743#undef CONFIG_WATCHDOG
744#define CONFIG_HW_WATCHDOG
745
746
747
748#define CONFIG_CDP_DEVICE_ID 20
749#define CONFIG_CDP_DEVICE_ID_PREFIX "NT"
750#define CONFIG_CDP_PORT_ID "eth%d"
751#define CONFIG_CDP_CAPABILITIES 0x00000010
752#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIME
753#define CONFIG_CDP_PLATFORM "Intracom NetTA2"
754#define CONFIG_CDP_TRIGGER 0x20020001
755#define CONFIG_CDP_POWER_CONSUMPTION 4300
756#define CONFIG_CDP_APPLIANCE_VLAN_TYPE 0x01
757
758
759
760#define CONFIG_AUTO_COMPLETE 1
761
762
763
764#define CONFIG_CRC32_VERIFY 1
765
766
767
768#define CONFIG_HUSH_OLD_PARSER_COMPATIBLE 1
769
770
771#endif
772