diff options
Diffstat (limited to 'arch/mips/sibyte/bcm1480/setup.c')
-rw-r--r-- | arch/mips/sibyte/bcm1480/setup.c | 78 |
1 files changed, 39 insertions, 39 deletions
diff --git a/arch/mips/sibyte/bcm1480/setup.c b/arch/mips/sibyte/bcm1480/setup.c index 7e1aa348b8e0..05ed92c92b69 100644 --- a/arch/mips/sibyte/bcm1480/setup.c +++ b/arch/mips/sibyte/bcm1480/setup.c | |||
@@ -43,16 +43,49 @@ static unsigned int part_type; | |||
43 | static char *soc_str; | 43 | static char *soc_str; |
44 | static char *pass_str; | 44 | static char *pass_str; |
45 | 45 | ||
46 | static inline int setup_bcm1x80_bcm1x55(void); | 46 | static int __init setup_bcm1x80_bcm1x55(void) |
47 | { | ||
48 | int ret = 0; | ||
49 | |||
50 | switch (soc_pass) { | ||
51 | case K_SYS_REVISION_BCM1480_S0: | ||
52 | periph_rev = 1; | ||
53 | pass_str = "S0 (pass1)"; | ||
54 | break; | ||
55 | case K_SYS_REVISION_BCM1480_A1: | ||
56 | periph_rev = 1; | ||
57 | pass_str = "A1 (pass1)"; | ||
58 | break; | ||
59 | case K_SYS_REVISION_BCM1480_A2: | ||
60 | periph_rev = 1; | ||
61 | pass_str = "A2 (pass1)"; | ||
62 | break; | ||
63 | case K_SYS_REVISION_BCM1480_A3: | ||
64 | periph_rev = 1; | ||
65 | pass_str = "A3 (pass1)"; | ||
66 | break; | ||
67 | case K_SYS_REVISION_BCM1480_B0: | ||
68 | periph_rev = 1; | ||
69 | pass_str = "B0 (pass2)"; | ||
70 | break; | ||
71 | default: | ||
72 | printk("Unknown %s rev %x\n", soc_str, soc_pass); | ||
73 | periph_rev = 1; | ||
74 | pass_str = "Unknown Revision"; | ||
75 | break; | ||
76 | } | ||
77 | |||
78 | return ret; | ||
79 | } | ||
47 | 80 | ||
48 | /* Setup code likely to be common to all SiByte platforms */ | 81 | /* Setup code likely to be common to all SiByte platforms */ |
49 | 82 | ||
50 | static inline int sys_rev_decode(void) | 83 | static int __init sys_rev_decode(void) |
51 | { | 84 | { |
52 | int ret = 0; | 85 | int ret = 0; |
53 | 86 | ||
54 | switch (soc_type) { | 87 | switch (soc_type) { |
55 | case K_SYS_SOC_TYPE_BCM1x80: | 88 | case K_SYS_SOC_TYPE_BCM1x80: |
56 | if (part_type == K_SYS_PART_BCM1480) | 89 | if (part_type == K_SYS_PART_BCM1480) |
57 | soc_str = "BCM1480"; | 90 | soc_str = "BCM1480"; |
58 | else if (part_type == K_SYS_PART_BCM1280) | 91 | else if (part_type == K_SYS_PART_BCM1280) |
@@ -62,7 +95,7 @@ static inline int sys_rev_decode(void) | |||
62 | ret = setup_bcm1x80_bcm1x55(); | 95 | ret = setup_bcm1x80_bcm1x55(); |
63 | break; | 96 | break; |
64 | 97 | ||
65 | case K_SYS_SOC_TYPE_BCM1x55: | 98 | case K_SYS_SOC_TYPE_BCM1x55: |
66 | if (part_type == K_SYS_PART_BCM1455) | 99 | if (part_type == K_SYS_PART_BCM1455) |
67 | soc_str = "BCM1455"; | 100 | soc_str = "BCM1455"; |
68 | else if (part_type == K_SYS_PART_BCM1255) | 101 | else if (part_type == K_SYS_PART_BCM1255) |
@@ -72,49 +105,16 @@ static inline int sys_rev_decode(void) | |||
72 | ret = setup_bcm1x80_bcm1x55(); | 105 | ret = setup_bcm1x80_bcm1x55(); |
73 | break; | 106 | break; |
74 | 107 | ||
75 | default: | 108 | default: |
76 | printk("Unknown part type %x\n", part_type); | 109 | printk("Unknown part type %x\n", part_type); |
77 | ret = 1; | 110 | ret = 1; |
78 | break; | 111 | break; |
79 | } | 112 | } |
80 | return ret; | ||
81 | } | ||
82 | 113 | ||
83 | static inline int setup_bcm1x80_bcm1x55(void) | ||
84 | { | ||
85 | int ret = 0; | ||
86 | |||
87 | switch (soc_pass) { | ||
88 | case K_SYS_REVISION_BCM1480_S0: | ||
89 | periph_rev = 1; | ||
90 | pass_str = "S0 (pass1)"; | ||
91 | break; | ||
92 | case K_SYS_REVISION_BCM1480_A1: | ||
93 | periph_rev = 1; | ||
94 | pass_str = "A1 (pass1)"; | ||
95 | break; | ||
96 | case K_SYS_REVISION_BCM1480_A2: | ||
97 | periph_rev = 1; | ||
98 | pass_str = "A2 (pass1)"; | ||
99 | break; | ||
100 | case K_SYS_REVISION_BCM1480_A3: | ||
101 | periph_rev = 1; | ||
102 | pass_str = "A3 (pass1)"; | ||
103 | break; | ||
104 | case K_SYS_REVISION_BCM1480_B0: | ||
105 | periph_rev = 1; | ||
106 | pass_str = "B0 (pass2)"; | ||
107 | break; | ||
108 | default: | ||
109 | printk("Unknown %s rev %x\n", soc_str, soc_pass); | ||
110 | periph_rev = 1; | ||
111 | pass_str = "Unknown Revision"; | ||
112 | break; | ||
113 | } | ||
114 | return ret; | 114 | return ret; |
115 | } | 115 | } |
116 | 116 | ||
117 | void bcm1480_setup(void) | 117 | void __init bcm1480_setup(void) |
118 | { | 118 | { |
119 | uint64_t sys_rev; | 119 | uint64_t sys_rev; |
120 | int plldiv; | 120 | int plldiv; |