From nobody Wed Nov 5 05:12:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1532702414407975.4952432074296; Fri, 27 Jul 2018 07:40:14 -0700 (PDT) Received: from localhost ([::1]:41595 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fj3uW-0004PS-KN for importer@patchew.org; Fri, 27 Jul 2018 10:40:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fj3sH-0003FA-Lk for qemu-devel@nongnu.org; Fri, 27 Jul 2018 10:37:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fj3sG-0008Iw-PO for qemu-devel@nongnu.org; Fri, 27 Jul 2018 10:37:45 -0400 Received: from greensocs.com ([193.104.36.180]:50634) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fj3sC-0008Du-9K; Fri, 27 Jul 2018 10:37:40 -0400 Received: from localhost (localhost [127.0.0.1]) by greensocs.com (Postfix) with ESMTP id 0B3604434A4; Fri, 27 Jul 2018 16:37:33 +0200 (CEST) Received: from greensocs.com ([127.0.0.1]) by localhost (gs-01.greensocs.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C_Bfm8teoVj3; Fri, 27 Jul 2018 16:37:32 +0200 (CEST) Received: by greensocs.com (Postfix, from userid 998) id 2ED98443548; Fri, 27 Jul 2018 16:37:32 +0200 (CEST) Received: from kouign-amann.hive.antfield.fr (antfield.tima.u-ga.fr [147.171.129.253]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: damien.hedde@greensocs.com) by greensocs.com (Postfix) with ESMTPSA id B6B99443555; Fri, 27 Jul 2018 16:37:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1532702253; bh=/EvO9y+yBj8mI+048fwg1NECN+kG+3HyNMtEWLEux5o=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=qq8ENKMQd85HD9VRwawkgCVdSdnhnOdZWuBBMAIjFNg1OzgFftxtA3KOo/9PEqbNC awYzZ8+ioVbZpPkywNDZMTa0hXJW1AmDwnlJmaoGYabDi/GXvNZ/HOsW0F9jEPMIlX nWG9tHw/Lg1b4FzGsQghqms0IQVdjNoqXvE1o2eY= X-Virus-Scanned: amavisd-new at greensocs.com Authentication-Results: gs-01.greensocs.com (amavisd-new); dkim=pass (1024-bit key) header.d=greensocs.com header.b=CZ9gA00W; dkim=pass (1024-bit key) header.d=greensocs.com header.b=CZ9gA00W DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1532702252; bh=/EvO9y+yBj8mI+048fwg1NECN+kG+3HyNMtEWLEux5o=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=CZ9gA00WmYpoj1VakN32ttCPdiKYPStvS7eHotI0LFF4yMowdlHlASUGfX5nkUG9o GqfaUk0B7sWLOmGnZs0KbuOxdry4eZVlnhnY+3xHgYuOpt/RsbDGjKV0+fORNhAqi1 2WPVfPnE+Bh+JFcOXyJOHBA+nlsy5AXwM6rVDRQw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1532702252; bh=/EvO9y+yBj8mI+048fwg1NECN+kG+3HyNMtEWLEux5o=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=CZ9gA00WmYpoj1VakN32ttCPdiKYPStvS7eHotI0LFF4yMowdlHlASUGfX5nkUG9o GqfaUk0B7sWLOmGnZs0KbuOxdry4eZVlnhnY+3xHgYuOpt/RsbDGjKV0+fORNhAqi1 2WPVfPnE+Bh+JFcOXyJOHBA+nlsy5AXwM6rVDRQw= From: Damien Hedde To: qemu-devel@nongnu.org Date: Fri, 27 Jul 2018 16:37:25 +0200 Message-Id: X-Mailer: git-send-email 2.18.0 In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 193.104.36.180 Subject: [Qemu-devel] [RFC PATCH 6/6] xilinx_zynq: add uart clock gating support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org, alistair@alistair23.me, mark.burton@greensocs.com, saipava@xilinx.com, qemu-arm@nongnu.org, Damien Hedde , pbonzini@redhat.com, luc.michel@greensocs.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add the link between the clock controller _slcr_ and the two uarts _uart0_ and _uart1_ so that the controller can do the gating. Signed-off-by: Damien Hedde --- hw/arm/xilinx_zynq.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index f1496d2927..2ca2dc32cf 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -166,7 +166,7 @@ static void zynq_init(MachineState *machine) MemoryRegion *address_space_mem =3D get_system_memory(); MemoryRegion *ext_ram =3D g_new(MemoryRegion, 1); MemoryRegion *ocm_ram =3D g_new(MemoryRegion, 1); - DeviceState *dev; + DeviceState *dev, *slcr; SysBusDevice *busdev; qemu_irq pic[64]; int n; @@ -212,9 +212,11 @@ static void zynq_init(MachineState *machine) 1, 0x0066, 0x0022, 0x0000, 0x0000, 0x0555, 0x2aa, 0); =20 - dev =3D qdev_create(NULL, "xilinx,zynq_slcr"); - qdev_init_nofail(dev); - sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xF8000000); + /* + * Create slcr, initialization is completed below + * because we have some properties to set + */ + slcr =3D qdev_create(NULL, "xilinx,zynq_slcr"); =20 dev =3D qdev_create(NULL, TYPE_A9MPCORE_PRIV); qdev_prop_set_uint32(dev, "num-cpu", 1); @@ -235,8 +237,10 @@ static void zynq_init(MachineState *machine) sysbus_create_simple("xlnx,ps7-usb", 0xE0002000, pic[53-IRQ_OFFSET]); sysbus_create_simple("xlnx,ps7-usb", 0xE0003000, pic[76-IRQ_OFFSET]); =20 - cadence_uart_create(0xE0000000, pic[59 - IRQ_OFFSET], serial_hd(0)); - cadence_uart_create(0xE0001000, pic[82 - IRQ_OFFSET], serial_hd(1)); + dev =3D cadence_uart_create(0xE0000000, pic[59 - IRQ_OFFSET], serial_h= d(0)); + object_property_set_link(OBJECT(slcr), OBJECT(dev), "uart0", &error_ab= ort); + dev =3D cadence_uart_create(0xE0001000, pic[82 - IRQ_OFFSET], serial_h= d(1)); + object_property_set_link(OBJECT(slcr), OBJECT(dev), "uart1", &error_ab= ort); =20 sysbus_create_varargs("cadence_ttc", 0xF8001000, pic[42-IRQ_OFFSET], pic[43-IRQ_OFFSET], pic[44-IRQ_OFFSET], NU= LL); @@ -246,6 +250,10 @@ static void zynq_init(MachineState *machine) gem_init(&nd_table[0], 0xE000B000, pic[54-IRQ_OFFSET]); gem_init(&nd_table[1], 0xE000C000, pic[77-IRQ_OFFSET]); =20 + /* Complete the slcr initialization */ + qdev_init_nofail(slcr); + sysbus_mmio_map(SYS_BUS_DEVICE(slcr), 0, 0xF8000000); + for (n =3D 0; n < 2; n++) { int hci_irq =3D n ? 79 : 56; hwaddr hci_addr =3D n ? 0xE0101000 : 0xE0100000; --=20 2.18.0