1*85bd0929SJiafei Pan /* 2*85bd0929SJiafei Pan * Copyright 2022 NXP 3*85bd0929SJiafei Pan * 4*85bd0929SJiafei Pan * SPDX-License-Identifier: BSD-3-Clause 5*85bd0929SJiafei Pan * 6*85bd0929SJiafei Pan */ 7*85bd0929SJiafei Pan 8*85bd0929SJiafei Pan #include <mmio.h> 9*85bd0929SJiafei Pan 10*85bd0929SJiafei Pan #include <plat_common.h> 11*85bd0929SJiafei Pan erratum_a010539(void)12*85bd0929SJiafei Panvoid erratum_a010539(void) 13*85bd0929SJiafei Pan { 14*85bd0929SJiafei Pan if (get_boot_dev() == BOOT_DEVICE_QSPI) { 15*85bd0929SJiafei Pan unsigned int *porsr1 = (void *)(NXP_DCFG_ADDR + 16*85bd0929SJiafei Pan DCFG_PORSR1_OFFSET); 17*85bd0929SJiafei Pan uint32_t val; 18*85bd0929SJiafei Pan 19*85bd0929SJiafei Pan val = (gur_in32(porsr1) & ~PORSR1_RCW_MASK); 20*85bd0929SJiafei Pan mmio_write_32((uint32_t)(NXP_DCSR_DCFG_ADDR + 21*85bd0929SJiafei Pan DCFG_DCSR_PORCR1_OFFSET), htobe32(val)); 22*85bd0929SJiafei Pan /* Erratum need to set '1' to all bits for reserved SCFG register 0x1a8 */ 23*85bd0929SJiafei Pan mmio_write_32((uint32_t)(NXP_SCFG_ADDR + 0x1a8), 24*85bd0929SJiafei Pan htobe32(0xffffffff)); 25*85bd0929SJiafei Pan } 26*85bd0929SJiafei Pan } 27