2013-03-21 03:01:36 -07:00
/*
* r8a7778 processor support
*
* Copyright ( C ) 2013 Renesas Solutions Corp .
* Copyright ( C ) 2013 Kuninori Morimoto < kuninori . morimoto . gx @ renesas . com >
2013-04-04 18:55:46 +00:00
* Copyright ( C ) 2013 Cogent Embedded , Inc .
2013-03-21 03:01:36 -07:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; version 2 of the License .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*/
# include <linux/io.h>
# include <linux/irqchip.h>
2014-06-20 18:53:04 +02:00
2013-03-21 03:01:36 -07:00
# include <asm/mach/arch.h>
2014-06-17 16:47:37 +09:00
# include "common.h"
2013-03-21 03:01:36 -07:00
# define INT2SMSKCR0 0x82288 /* 0xfe782288 */
# define INT2SMSKCR1 0x8228c /* 0xfe78228c */
# define INT2NTSR0 0x00018 /* 0xfe700018 */
# define INT2NTSR1 0x0002c /* 0xfe70002c */
2015-09-30 17:50:19 +02:00
static void __init r8a7778_init_irq_dt ( void )
2013-03-21 03:01:36 -07:00
{
void __iomem * base = ioremap_nocache ( 0xfe700000 , 0x00100000 ) ;
BUG_ON ( ! base ) ;
2013-07-09 01:48:34 -07:00
irqchip_init ( ) ;
2015-08-14 15:51:03 +02:00
2013-03-21 03:01:36 -07:00
/* route all interrupts to ARM */
__raw_writel ( 0x73ffffff , base + INT2NTSR0 ) ;
__raw_writel ( 0xffffffff , base + INT2NTSR1 ) ;
/* unmask all known interrupts in INTCS2 */
__raw_writel ( 0x08330773 , base + INT2SMSKCR0 ) ;
__raw_writel ( 0x00311110 , base + INT2SMSKCR1 ) ;
iounmap ( base ) ;
}
2015-07-27 18:27:52 -04:00
static const char * const r8a7778_compat_dt [ ] __initconst = {
2013-03-21 03:01:36 -07:00
" renesas,r8a7778 " ,
NULL ,
} ;
DT_MACHINE_START ( R8A7778_DT , " Generic R8A7778 (Flattened Device Tree) " )
2014-10-17 14:24:38 +02:00
. init_early = shmobile_init_delay ,
2013-03-21 03:01:36 -07:00
. init_irq = r8a7778_init_irq_dt ,
2014-07-31 08:32:50 +09:00
. init_late = shmobile_init_late ,
2013-03-21 03:01:36 -07:00
. dt_compat = r8a7778_compat_dt ,
MACHINE_END