diff options
author | Yonghong Song <ysong@broadcom.com> | 2014-04-29 10:37:53 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-05-30 10:50:38 -0400 |
commit | 1c98398662c9b4e2f03f64344f83dd6cb14e0420 (patch) | |
tree | b04a7f5b706430ac41cec627a6844944f7b58f57 /arch/mips/netlogic/xlp | |
parent | edf3ed5e69bcf3f60087099eccab34be0ebcf60a (diff) |
MIPS: Netlogic: Add support for XLP5XX
Add support for the XLP5XX processor which is an 8 core variant of the
XLP9XX. Add XLP5XX cases to code which earlier handled XLP9XX.
Signed-off-by: Yonghong Song <ysong@broadcom.com>
Signed-off-by: Jayachandran C <jchandra@broadcom.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6871/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/netlogic/xlp')
-rw-r--r-- | arch/mips/netlogic/xlp/dt.c | 1 | ||||
-rw-r--r-- | arch/mips/netlogic/xlp/setup.c | 1 | ||||
-rw-r--r-- | arch/mips/netlogic/xlp/wakeup.c | 10 |
3 files changed, 11 insertions, 1 deletions
diff --git a/arch/mips/netlogic/xlp/dt.c b/arch/mips/netlogic/xlp/dt.c index 0b36ac80a232..bba993a5b1b0 100644 --- a/arch/mips/netlogic/xlp/dt.c +++ b/arch/mips/netlogic/xlp/dt.c | |||
@@ -51,6 +51,7 @@ void __init *xlp_dt_init(void *fdtp) | |||
51 | switch (current_cpu_data.processor_id & PRID_IMP_MASK) { | 51 | switch (current_cpu_data.processor_id & PRID_IMP_MASK) { |
52 | #ifdef CONFIG_DT_XLP_GVP | 52 | #ifdef CONFIG_DT_XLP_GVP |
53 | case PRID_IMP_NETLOGIC_XLP9XX: | 53 | case PRID_IMP_NETLOGIC_XLP9XX: |
54 | case PRID_IMP_NETLOGIC_XLP5XX: | ||
54 | fdtp = __dtb_xlp_gvp_begin; | 55 | fdtp = __dtb_xlp_gvp_begin; |
55 | break; | 56 | break; |
56 | #endif | 57 | #endif |
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c index 1ddb62bd354b..4fdd9fd29d1d 100644 --- a/arch/mips/netlogic/xlp/setup.c +++ b/arch/mips/netlogic/xlp/setup.c | |||
@@ -123,6 +123,7 @@ const char *get_system_type(void) | |||
123 | { | 123 | { |
124 | switch (read_c0_prid() & PRID_IMP_MASK) { | 124 | switch (read_c0_prid() & PRID_IMP_MASK) { |
125 | case PRID_IMP_NETLOGIC_XLP9XX: | 125 | case PRID_IMP_NETLOGIC_XLP9XX: |
126 | case PRID_IMP_NETLOGIC_XLP5XX: | ||
126 | case PRID_IMP_NETLOGIC_XLP2XX: | 127 | case PRID_IMP_NETLOGIC_XLP2XX: |
127 | return "Broadcom XLPII Series"; | 128 | return "Broadcom XLPII Series"; |
128 | default: | 129 | default: |
diff --git a/arch/mips/netlogic/xlp/wakeup.c b/arch/mips/netlogic/xlp/wakeup.c index f4823ad6145f..e5f44d2605a8 100644 --- a/arch/mips/netlogic/xlp/wakeup.c +++ b/arch/mips/netlogic/xlp/wakeup.c | |||
@@ -135,7 +135,15 @@ static void xlp_enable_secondary_cores(const cpumask_t *wakeup_mask) | |||
135 | if (cpu_is_xlp9xx()) { | 135 | if (cpu_is_xlp9xx()) { |
136 | fusebase = nlm_get_fuse_regbase(n); | 136 | fusebase = nlm_get_fuse_regbase(n); |
137 | fusemask = nlm_read_reg(fusebase, FUSE_9XX_DEVCFG6); | 137 | fusemask = nlm_read_reg(fusebase, FUSE_9XX_DEVCFG6); |
138 | mask = 0xfffff; | 138 | switch (read_c0_prid() & PRID_IMP_MASK) { |
139 | case PRID_IMP_NETLOGIC_XLP5XX: | ||
140 | mask = 0xff; | ||
141 | break; | ||
142 | case PRID_IMP_NETLOGIC_XLP9XX: | ||
143 | default: | ||
144 | mask = 0xfffff; | ||
145 | break; | ||
146 | } | ||
139 | } else { | 147 | } else { |
140 | fusemask = nlm_read_sys_reg(nodep->sysbase, | 148 | fusemask = nlm_read_sys_reg(nodep->sysbase, |
141 | SYS_EFUSE_DEVICE_CFG_STATUS0); | 149 | SYS_EFUSE_DEVICE_CFG_STATUS0); |