ast: Account for differences between 2400 vs 2500
Currently astbmc_early_init() only applies to AST2400/POWER8.
This fixes the code so it also applies to AST2500/POWER9 except for
the PSI BAR fixup which is not needed on AST2500/POWER9.
@@ -306,6 +306,10 @@ static void astbmc_fixup_psi_bar(void)
struct proc_chip *chip = next_chip(NULL);
uint64_t psibar;
+ /* This is P8 specific */
+ if (proc_gen != proc_gen_p8)
+ return;
+
/* Read PSI BAR */
if (xscom_read(chip->id, 0x201090A, &psibar)) {
prerror("PLAT: Error reading PSI BAR\n");
@@ -327,17 +331,11 @@ static void astbmc_fixup_psi_bar(void)
void astbmc_early_init(void)
{
- /*
- * On P9 we don't have a HB supplied devicetree and we have a
- * different PSI BAR hack here is P8 specific.
- */
- if (proc_gen == proc_gen_p8) {
/* Hostboot's device-tree isn't quite right yet */
astbmc_fixup_dt();
/* Hostboot forgets to populate the PSI BAR */
astbmc_fixup_psi_bar();
- }
/* Send external interrupts to me */
psi_set_external_irq_policy(EXTERNAL_IRQ_POLICY_SKIBOOT);
