File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -119,6 +119,8 @@ static void __init wxl_init(void)
119119 mv78xx0_uart1_init ();
120120 mv78xx0_uart2_init ();
121121 mv78xx0_uart3_init ();
122+ mv78xx0_xor_init ();
123+ mv78xx0_crypto_init ();
122124 mv78xx0_i2c_init ();
123125 i2c_register_board_info (0 , & db78x00_i2c_rtc , 1 );
124126}
Original file line number Diff line number Diff line change @@ -342,6 +342,29 @@ void __ref mv78xx0_timer_init(void)
342342 IRQ_MV78XX0_TIMER_1 , get_tclk ());
343343}
344344
345+ /****************************************************************************
346+ * XOR engine
347+ ****************************************************************************/
348+ void __init mv78xx0_xor_init (void )
349+ {
350+ orion_xor0_init (XOR_PHYS_BASE ,
351+ XOR_PHYS_BASE + 0x200 ,
352+ IRQ_MV78XX0_XOR_0 , IRQ_MV78XX0_XOR_1 );
353+ }
354+
355+ /****************************************************************************
356+ * Cryptographic Engines and Security Accelerator (CESA)
357+ ****************************************************************************/
358+ void __init mv78xx0_crypto_init (void )
359+ {
360+ mvebu_mbus_add_window_by_id (MV78XX0_MBUS_SRAM_TARGET ,
361+ MV78XX0_MBUS_SRAM_ATTR ,
362+ MV78XX0_SRAM_PHYS_BASE ,
363+ MV78XX0_SRAM_SIZE );
364+ orion_crypto_init (CRYPTO_PHYS_BASE , MV78XX0_SRAM_PHYS_BASE ,
365+ SZ_8K , IRQ_MV78XX0_CRYPTO );
366+ }
367+
345368
346369/*****************************************************************************
347370 * General
Original file line number Diff line number Diff line change @@ -43,6 +43,8 @@ void mv78xx0_uart0_init(void);
4343void mv78xx0_uart1_init (void );
4444void mv78xx0_uart2_init (void );
4545void mv78xx0_uart3_init (void );
46+ void mv78xx0_xor_init (void );
47+ void mv78xx0_crypto_init (void );
4648void mv78xx0_i2c_init (void );
4749void mv78xx0_restart (enum reboot_mode , const char * );
4850
Original file line number Diff line number Diff line change 4949#define MV78XX0_REGS_VIRT_BASE IOMEM(0xfec00000)
5050#define MV78XX0_REGS_SIZE SZ_1M
5151
52+ #define MV78XX0_SRAM_PHYS_BASE (0xf2200000)
53+ #define MV78XX0_SRAM_SIZE SZ_8K
54+
5255#define MV78XX0_PCIE_MEM_PHYS_BASE 0xc0000000
5356#define MV78XX0_PCIE_MEM_SIZE 0x30000000
5457
58+ #define MV78XX0_MBUS_SRAM_TARGET 0x09
59+ #define MV78XX0_MBUS_SRAM_ATTR 0x00
60+
5561/*
5662 * Core-specific peripheral registers.
5763 */
98104#define USB1_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x51000)
99105#define USB2_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x52000)
100106
107+ #define XOR_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x60900)
108+
101109#define GE00_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x70000)
102110#define GE01_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x74000)
103111
106114#define PCIE12_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x88000)
107115#define PCIE13_VIRT_BASE (MV78XX0_REGS_VIRT_BASE + 0x8c000)
108116
117+ #define CRYPTO_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0x90000)
118+
109119#define SATA_PHYS_BASE (MV78XX0_REGS_PHYS_BASE + 0xa0000)
110120
111121/*
You can’t perform that action at this time.
0 commit comments