/* Initialization differs a bit between KN02 and KN03/KN05, so we need two variants. Once set up, all systems can be handled the same way.  */
static void dec_kn02_be_init(void)
/* Initialization differs a bit between KN02 and KN03/KN05, so we need two variants. Once set up, all systems can be handled the same way.  */
static void dec_kn02_be_init(void)
{
	volatile u32 *csr = (void *)CKSEG1ADDR(KN02_SLOT_BASE + KN02_CSR);
	kn0x_erraddr = (void *)CKSEG1ADDR(KN02_SLOT_BASE + KN02_ERRADDR);
	kn0x_chksyn = (void *)CKSEG1ADDR(KN02_SLOT_BASE + KN02_CHKSYN);
	cached_kn02_csr = *csr | KN02_CSR_LEDS;
	cached_kn02_csr &= ~(KN02_CSR_DIAGCHK | KN02_CSR_DIAGGEN);
	cached_kn02_csr |= KN02_CSR_CORRECT;
	*csr = cached_kn02_csr;
	iob();
}