1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2015 Atmel Corporation 3*4882a593Smuzhiyun * Wenyou Yang <wenyou.yang@atmel.com> 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include <common.h> 9*4882a593Smuzhiyun #include <asm/io.h> 10*4882a593Smuzhiyun #include <asm/arch/sama5_matrix.h> 11*4882a593Smuzhiyun matrix_init(void)12*4882a593Smuzhiyunvoid matrix_init(void) 13*4882a593Smuzhiyun { 14*4882a593Smuzhiyun struct atmel_matrix *h64mx = (struct atmel_matrix *)ATMEL_BASE_MATRIX0; 15*4882a593Smuzhiyun struct atmel_matrix *h32mx = (struct atmel_matrix *)ATMEL_BASE_MATRIX1; 16*4882a593Smuzhiyun int i; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* DDR port 1 ~ port 7 */ 19*4882a593Smuzhiyun for (i = H64MX_SLAVE_DDRC_PORT1; i <= H64MX_SLAVE_DDRC_PORT7; i++) { 20*4882a593Smuzhiyun writel(0x000f0f0f, &h64mx->ssr[i]); 21*4882a593Smuzhiyun writel(0x0000ffff, &h64mx->sassr[i]); 22*4882a593Smuzhiyun writel(0x0000000f, &h64mx->srtsr[i]); 23*4882a593Smuzhiyun } 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun /* EBI CS3 (NANDFlash 128M) and NFC Command Registers(128M) */ 26*4882a593Smuzhiyun writel(0x00c0c0c0, &h32mx->ssr[H32MX_SLAVE_EBI]); 27*4882a593Smuzhiyun writel(0xff000000, &h32mx->sassr[H32MX_SLAVE_EBI]); 28*4882a593Smuzhiyun writel(0xff000000, &h32mx->srtsr[H32MX_SLAVE_EBI]); 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun /* NFC SRAM */ 31*4882a593Smuzhiyun writel(0x00010101, &h32mx->ssr[H32MX_SLAVE_NFC_SRAM]); 32*4882a593Smuzhiyun writel(0x00000001, &h32mx->sassr[H32MX_SLAVE_NFC_SRAM]); 33*4882a593Smuzhiyun writel(0x00000001, &h32mx->srtsr[H32MX_SLAVE_NFC_SRAM]); 34*4882a593Smuzhiyun } 35