18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/sh/boards/shmin/setup.c 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2006 Takashi YOSHII 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * SHMIN Support. 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci#include <linux/init.h> 108c2ecf20Sopenharmony_ci#include <linux/irq.h> 118c2ecf20Sopenharmony_ci#include <asm/machvec.h> 128c2ecf20Sopenharmony_ci#include <mach/shmin.h> 138c2ecf20Sopenharmony_ci#include <asm/clock.h> 148c2ecf20Sopenharmony_ci#include <asm/io.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#define PFC_PHCR 0xa400010eUL 178c2ecf20Sopenharmony_ci#define INTC_ICR1 0xa4000010UL 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_cistatic void __init init_shmin_irq(void) 208c2ecf20Sopenharmony_ci{ 218c2ecf20Sopenharmony_ci __raw_writew(0x2a00, PFC_PHCR); // IRQ0-3=IRQ 228c2ecf20Sopenharmony_ci __raw_writew(0x0aaa, INTC_ICR1); // IRQ0-3=IRQ-mode,Low-active. 238c2ecf20Sopenharmony_ci plat_irq_setup_pins(IRQ_MODE_IRQ); 248c2ecf20Sopenharmony_ci} 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_cistatic void __init shmin_setup(char **cmdline_p) 278c2ecf20Sopenharmony_ci{ 288c2ecf20Sopenharmony_ci __set_io_port_base(SHMIN_IO_BASE); 298c2ecf20Sopenharmony_ci} 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cistatic struct sh_machine_vector mv_shmin __initmv = { 328c2ecf20Sopenharmony_ci .mv_name = "SHMIN", 338c2ecf20Sopenharmony_ci .mv_setup = shmin_setup, 348c2ecf20Sopenharmony_ci .mv_init_irq = init_shmin_irq, 358c2ecf20Sopenharmony_ci}; 36