1 | This BSP is designed to support multiple Motorola PowerPC boards. The |
---|
2 | following extract from some email from Eric Valette should provide |
---|
3 | the basic information required to use this BSP on other models. |
---|
4 | |
---|
5 | |
---|
6 | Joel> + I am sure there are other Motorola boards which this BSP should |
---|
7 | Joel> support. If you know of other models that should work, list |
---|
8 | Joel> them off to me. I will make them aliases and note them as |
---|
9 | Joel> untested in the status. |
---|
10 | |
---|
11 | Extract of motorola.c : |
---|
12 | |
---|
13 | static const mot_info_t mot_boards[] = { |
---|
14 | {0x300, 0x00, "MVME 2400"}, |
---|
15 | {0x010, 0x00, "Genesis"}, |
---|
16 | {0x020, 0x00, "Powerstack (Series E)"}, |
---|
17 | {0x040, 0x00, "Blackhawk (Powerstack)"}, |
---|
18 | {0x050, 0x00, "Omaha (PowerStack II Pro3000)"}, |
---|
19 | {0x060, 0x00, "Utah (Powerstack II Pro4000)"}, |
---|
20 | {0x0A0, 0x00, "Powerstack (Series EX)"}, |
---|
21 | {0x1E0, 0xE0, "Mesquite cPCI (MCP750)"}, |
---|
22 | {0x1E0, 0xE1, "Sitka cPCI (MCPN750)"}, |
---|
23 | {0x1E0, 0xE2, "Mesquite cPCI (MCP750) w/ HAC"}, |
---|
24 | {0x1E0, 0xF6, "MTX Plus"}, |
---|
25 | {0x1E0, 0xF7, "MTX wo/ Parallel Port"}, |
---|
26 | {0x1E0, 0xF8, "MTX w/ Parallel Port"}, |
---|
27 | {0x1E0, 0xF9, "MVME 2300"}, |
---|
28 | {0x1E0, 0xFA, "MVME 2300SC/2600"}, |
---|
29 | {0x1E0, 0xFB, "MVME 2600 with MVME712M"}, |
---|
30 | {0x1E0, 0xFC, "MVME 2600/2700 with MVME761"}, |
---|
31 | {0x1E0, 0xFD, "MVME 3600 with MVME712M"}, |
---|
32 | {0x1E0, 0xFE, "MVME 3600 with MVME761"}, |
---|
33 | {0x1E0, 0xFF, "MVME 1600-001 or 1600-011"}, |
---|
34 | {0x000, 0x00, ""} |
---|
35 | }; |
---|
36 | |
---|
37 | In theory, each board starting with 0x1E0 should be really straighforward |
---|
38 | to port (604 proc or above and raven host bridge...). |
---|
39 | |
---|
40 | Joel> Then we just have to add README.BOARD_MODEL and TIMES.BOARD_MODEL |
---|
41 | |
---|
42 | I should also make a README to explain that some file containing |
---|
43 | switch statement should be completed (e.g libbsp/powerpc/shared/irq_init.c |
---|
44 | [NOTE: This is that README. :) ] |
---|
45 | |
---|
46 | ------------------------------ |
---|
47 | if ( (currentBoard == MESQUITE) ) { |
---|
48 | VIA_isa_bridge_interrupts_setup(); |
---|
49 | known_cpi_isa_bridge = 1; |
---|
50 | } |
---|
51 | if (!known_cpi_isa_bridge) { |
---|
52 | printk("Please add code for PCI/ISA bridge init to libbsp/shared/irq/irq_init.c\n"); |
---|
53 | printk("If your card works correctly please add a test and set known_cpi_isa_bridge to true\n"); |
---|
54 | } |
---|
55 | ------------------------------ |
---|
56 | |
---|
57 | and libbsp/powerpc/mpc6xx/execeptions/raw_exception.c |
---|
58 | |
---|
59 | ------------------------------- |
---|
60 | |
---|
61 | int mpc604_vector_is_valid(rtems_vector vector) |
---|
62 | { |
---|
63 | /* |
---|
64 | * Please fill this for MVME2307 |
---|
65 | */ |
---|
66 | printk("Please complete libcpu/powerpc/XXX/raw_exception.c\n"); |
---|
67 | return 0; |
---|
68 | } |
---|
69 | |
---|
70 | int mpc60x_set_exception (const rtems_raw_except_connect_data* except) |
---|
71 | { |
---|
72 | unsigned int level; |
---|
73 | |
---|
74 | if (current_ppc_cpu == PPC_750) { |
---|
75 | if (!mpc750_vector_is_valid(except->exceptIndex)){ |
---|
76 | return 0; |
---|
77 | } |
---|
78 | goto exception_ok; |
---|
79 | } |
---|
80 | if (current_ppc_cpu == PPC_604) { |
---|
81 | if (!mpc604_vector_is_valid(except->exceptIndex)){ |
---|
82 | return 0; |
---|
83 | } |
---|
84 | goto exception_ok; |
---|
85 | } |
---|
86 | printk("Please complete libcpu/powerpc/XXX/raw_exception.c\n"); |
---|
87 | return 0; |
---|
88 | ----------------------------------- |
---|
89 | |
---|
90 | NB : re readding the code I should have done a switch... TSSSS.A future patche |
---|
91 | I think. |
---|
92 | |
---|
93 | |
---|