From patchwork Thu May 27 05:21:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshinori Sato X-Patchwork-Id: 12283359 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.9 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A5FEC4708A for ; Thu, 27 May 2021 05:26:29 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BD2D2613CC for ; Thu, 27 May 2021 05:26:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BD2D2613CC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=users.sourceforge.jp Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:47640 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lm8XL-0008Px-Uc for qemu-devel@archiver.kernel.org; Thu, 27 May 2021 01:26:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lm8Si-0008P3-83 for qemu-devel@nongnu.org; Thu, 27 May 2021 01:21:40 -0400 Received: from mail03.asahi-net.or.jp ([202.224.55.15]:32938) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lm8Sc-00066C-97 for qemu-devel@nongnu.org; Thu, 27 May 2021 01:21:39 -0400 Received: from sakura.ysato.name (ik1-413-38519.vs.sakura.ne.jp [153.127.30.23]) (Authenticated sender: PQ4Y-STU) by mail03.asahi-net.or.jp (Postfix) with ESMTPA id 41FEC385BB; Thu, 27 May 2021 14:21:32 +0900 (JST) Received: from yo-satoh-debian.localdomain (y245018.dynamic.ppp.asahi-net.or.jp [118.243.245.18]) by sakura.ysato.name (Postfix) with ESMTPSA id D82651C0077; Thu, 27 May 2021 14:21:31 +0900 (JST) From: Yoshinori Sato To: qemu-devel@nongnu.org Subject: [PATCH 08/11] hw/rx: rx62n use new hw modules. Date: Thu, 27 May 2021 14:21:19 +0900 Message-Id: <20210527052122.97103-9-ysato@users.sourceforge.jp> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210527052122.97103-1-ysato@users.sourceforge.jp> References: <20210527052122.97103-1-ysato@users.sourceforge.jp> MIME-Version: 1.0 Received-SPF: softfail client-ip=202.224.55.15; envelope-from=ysato@users.sourceforge.jp; helo=mail03.asahi-net.or.jp X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yoshinori Sato Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Yoshinori Sato --- include/hw/rx/rx62n.h | 10 +++++----- hw/rx/rx62n.c | 18 ++++++++++++------ hw/rx/Kconfig | 4 ++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/include/hw/rx/rx62n.h b/include/hw/rx/rx62n.h index 44f5fcc74d..942ed0639f 100644 --- a/include/hw/rx/rx62n.h +++ b/include/hw/rx/rx62n.h @@ -26,8 +26,8 @@ #include "target/rx/cpu.h" #include "hw/intc/rx_icu.h" -#include "hw/timer/renesas_tmr.h" -#include "hw/timer/renesas_cmt.h" +#include "hw/timer/renesas_tmr8.h" +#include "hw/timer/renesas_timer.h" #include "hw/char/renesas_sci.h" #include "hw/rx/rx62n-cpg.h" #include "qemu/units.h" @@ -56,9 +56,9 @@ struct RX62NState { RXCPU cpu; RXICUState icu; - RTMRState tmr[RX62N_NR_TMR]; - RCMTState cmt[RX62N_NR_CMT]; - RSCIState sci[RX62N_NR_SCI]; + RenesasTMR8State tmr[RX62N_NR_TMR]; + RenesasCMTState cmt[RX62N_NR_CMT]; + RenesasSCIState sci[RX62N_NR_SCI]; RX62NCPGState cpg; MemoryRegion *sysmem; diff --git a/hw/rx/rx62n.c b/hw/rx/rx62n.c index cfd41930bf..58eff0b4a3 100644 --- a/hw/rx/rx62n.c +++ b/hw/rx/rx62n.c @@ -164,7 +164,7 @@ static void register_tmr(RX62NState *s, int unit) char ckname[16]; object_initialize_child(OBJECT(s), "tmr[*]", - &s->tmr[unit], TYPE_RENESAS_TMR); + &s->tmr[unit], TYPE_RENESAS_TMR8); tmr = SYS_BUS_DEVICE(&s->tmr[unit]); irqbase = RX62N_TMR_IRQ + TMR_NR_IRQ * unit; @@ -174,10 +174,10 @@ static void register_tmr(RX62NState *s, int unit) sysbus_mmio_map(tmr, 0, RX62N_TMR_BASE + unit * 0x10); qdev_prop_set_uint32(DEVICE(tmr), "unit", unit); - sysbus_realize(tmr, &error_abort); snprintf(ckname, sizeof(ckname), "pck_tmr8-%d", unit); qdev_connect_clock_in(DEVICE(tmr), "pck", qdev_get_clock_out(DEVICE(&s->cpg), ckname)); + sysbus_realize(tmr, &error_abort); } static void register_cmt(RX62NState *s, int unit) @@ -190,6 +190,9 @@ static void register_cmt(RX62NState *s, int unit) &s->cmt[unit], TYPE_RENESAS_CMT); cmt = SYS_BUS_DEVICE(&s->cmt[unit]); qdev_prop_set_uint32(DEVICE(cmt), "unit", unit); + snprintf(ckname, sizeof(ckname), "pck_cmt-%d", unit); + qdev_connect_clock_in(DEVICE(cmt), "pck", + qdev_get_clock_out(DEVICE(&s->cpg), ckname)); irqbase = RX62N_CMT_IRQ + CMT_NR_IRQ * unit; for (i = 0; i < CMT_NR_IRQ; i++) { @@ -197,20 +200,23 @@ static void register_cmt(RX62NState *s, int unit) } sysbus_mmio_map(cmt, 0, RX62N_CMT_BASE + unit * 0x10); sysbus_realize(cmt, &error_abort); - snprintf(ckname, sizeof(ckname), "pck_cmt-%d", unit); - qdev_connect_clock_in(DEVICE(cmt), "pck", - qdev_get_clock_out(DEVICE(&s->cpg), ckname)); } static void register_sci(RX62NState *s, int unit) { SysBusDevice *sci; int i, irqbase; + char ckname[16]; object_initialize_child(OBJECT(s), "sci[*]", - &s->sci[unit], TYPE_RENESAS_SCI); + &s->sci[unit], TYPE_RENESAS_SCIA); sci = SYS_BUS_DEVICE(&s->sci[unit]); qdev_prop_set_chr(DEVICE(sci), "chardev", serial_hd(unit)); + qdev_prop_set_uint32(DEVICE(sci), "unit", unit); + qdev_prop_set_uint32(DEVICE(sci), "register-size", SCI_REGSIZE_8); + snprintf(ckname, sizeof(ckname), "pck_sci-%d", unit); + qdev_connect_clock_in(DEVICE(sci), "pck", + qdev_get_clock_out(DEVICE(&s->cpg), ckname)); sysbus_realize(sci, &error_abort); irqbase = RX62N_SCI_IRQ + SCI_NR_IRQ * unit; diff --git a/hw/rx/Kconfig b/hw/rx/Kconfig index 2b297c5a6a..9cd1082623 100644 --- a/hw/rx/Kconfig +++ b/hw/rx/Kconfig @@ -1,8 +1,8 @@ config RX62N_MCU bool select RX_ICU - select RENESAS_TMR - select RENESAS_CMT + select RENESAS_TMR8 + select RENESAS_TIMER select RENESAS_SCI config RX_GDBSIM