From nobody Fri Nov 14 22:21:22 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1759608173585494.00859442744286; Sat, 4 Oct 2025 13:02:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v58RV-00011R-Ow; Sat, 04 Oct 2025 16:01:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v58RM-0000ti-9v for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:12 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v58RF-0006DI-Ie for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:11 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-782023ca359so3405273b3a.2 for ; Sat, 04 Oct 2025 13:01:02 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:da43:aeff:fecc:bfd5]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b6099f3b819sm7998413a12.26.2025.10.04.13.01.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Oct 2025 13:01:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759608062; x=1760212862; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=s89LU7o1ZyXNcRb/2leqwVIsfipruP3UJlVfpKF2qgY=; b=Olyk0q1LofsYdRMAlI3eSQBZvPiN/MNrQrH1XzW2V1TxKuWmmgCibjcn0jZ5k+z305 6s3ZzSpO/ZVmpSnYOJ7GLCIzbGONci7RjwZaKQDz+Js3mox64wtN94QdoI7L+I6Avlpq EcEHYlUBF77M/s05PUVhzMN2NT5dao3fRjw6r4qlHdCA1/QimCE69WopFFKS0nVzXBzI BSOk0SMHDJbBo8P/ukfIAWFKdHmf06//DTVUljUzJJdD+GFFPrXK/9EiLsqwh1yg4MU+ Gyxviupo1gDCZ3rFmGgINRFk/TX/QgKTe67zaNkOtn0gOLmMmEkCo19AyQPpzjXmRC4M s/bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759608062; x=1760212862; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=s89LU7o1ZyXNcRb/2leqwVIsfipruP3UJlVfpKF2qgY=; b=khYf68u2EgzU/MF+tMPUJB25ZI/RnmtUCJ3mVqozYRoB/gVLtK3nQXMONFA1MKf1h9 1Qmwg1Ga2dKIWRC8od6sYsnHwzgPrVhUb2vYJzS4chSO2zaJ0McHOYGbdrnsJ4B/SeqY Gh4mZ44E3MYXUmtZCfRGf5NFkAHmZSBRIpSPbC5773xp3uB8+1ry0jD3+IsygiTk2dxu bKUKtUZ1ycosCnc9Dv5nF2Q+efNhCUFJXNGqD8X2kQYEOhbwHoUHTXUasoSl33caJkea aKICAF/EoRjdnhBh1EeOmnzH5Vguu1fIdbuZBFiYP9Hoful64V3MnFOZaw837zv41NO5 tP7A== X-Forwarded-Encrypted: i=1; AJvYcCWbSZ64RXrAJq+SkgXxdAXzkJ5CrBB7EQwlc7lIEoTwqXraIM47JWxr1xwy9i2JXCZoU+8xsP7lY+K7@nongnu.org X-Gm-Message-State: AOJu0YwsAXCgJLkDerVRl/B9ovObouBh0URE6kjJIAmx5G5CLGP4ltI3 bDpAomb2LheX08hntI5VGk2YMWDXXzPe0OakguS9MYBzhFYNYA+yRiML X-Gm-Gg: ASbGncv13AiwCWxUU6D0jy0XKYekQMd4RKbjkxAENOjvh/8/pPQtN5BLMaN8a9JtCf6 JKc9masQxQKTRrVHKPy4b4PmOx7xYtXPS0Hfh4lJpJcE29jMH5qh5sK5n9zECo4nsoifhdBRhrY nTkt35qMyVovfJkk79pCboklzYcJXYlVgOUNunxXs7m8A625qPgygfMU+OfbfJDKi6NHxJzcZx5 HmpgLNSEGMSnAclXZTByfdN8QI7o5TkIanLeFF8LBrKAV9mGBLkPh2U9ZGZIAJKIIzrnBFNwTKB dF3Z2Fqn12kTm+YCx80878aC5rwplFXnIAvVl1/mdmiDItKClsIEZC5I+lomupdIKd3m9ge5MPl PMUunpWxrDQ7OF4xTP8zxcv/DttmVDWOGuhYqsQ0c4roGyfnz6WVCUB2Hqfwg74OjUgQ1GRKOUM hdk6S8 X-Google-Smtp-Source: AGHT+IHw8v/+jlqZ+OZxtkzgJ8jrGBYKxC8Djf49qos3QDGh7kPSXGhr8DHaEVXrjgttf285zb6STg== X-Received: by 2002:a05:6a20:7d9e:b0:2e9:d6ce:e125 with SMTP id adf61e73a8af0-32b61dedc3dmr9689123637.5.1759608061728; Sat, 04 Oct 2025 13:01:01 -0700 (PDT) From: Guenter Roeck To: "Edgar E . Iglesias" , Alistair Francis , Peter Maydell Cc: Jason Wang , Palmer Dabbelt , qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-riscv@nongnu.org, Guenter Roeck Subject: [PATCH 1/4] hw/net/cadence_gem: Support two Ethernet interfaces connected to single MDIO bus Date: Sat, 4 Oct 2025 13:00:46 -0700 Message-ID: <20251004200049.871646-2-linux@roeck-us.net> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20251004200049.871646-1-linux@roeck-us.net> References: <20251004200049.871646-1-linux@roeck-us.net> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42b; envelope-from=groeck7@gmail.com; helo=mail-pf1-x42b.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1759608183642116600 Content-Type: text/plain; charset="utf-8" The Microchip PolarFire SoC Icicle Kit supports two Ethernet interfaces. The PHY on each may be connected to separate MDIO busses, or both may be connected on the same MDIO bus using different PHY addresses. To be able to support two PHY instances on a single MDIO bus, two properties are needed: First, there needs to be a flag indicating if the MDIO bus on a given Ethernet interface is connected. If not, attempts to read from this bus must always return 0xffff. Implement this property as phy-connected. Second, if the MDIO bus on an interface is active, it needs a link to the consumer interface to be able to provide PHY access for it. Implement this property as phy-consumer. Signed-off-by: Guenter Roeck Acked-by: Alistair Francis --- hw/net/cadence_gem.c | 24 ++++++++++++++++++------ include/hw/net/cadence_gem.h | 3 +++ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index 44446666de..520324adfd 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -1541,12 +1541,20 @@ static void gem_handle_phy_access(CadenceGEMState *= s) { uint32_t val =3D s->regs[R_PHYMNTNC]; uint32_t phy_addr, reg_num; + CadenceGEMState *ps =3D s; + uint32_t op; =20 phy_addr =3D FIELD_EX32(val, PHYMNTNC, PHY_ADDR); + op =3D FIELD_EX32(val, PHYMNTNC, OP); =20 - if (phy_addr !=3D s->phy_addr) { - /* no phy at this address */ - if (FIELD_EX32(val, PHYMNTNC, OP) =3D=3D MDIO_OP_READ) { + /* Switch phy to consumer interface if there is an address match */ + if (s->phy_consumer && phy_addr =3D=3D s->phy_consumer->phy_addr) { + ps =3D s->phy_consumer; + } + + if (!s->phy_connected || phy_addr !=3D ps->phy_addr) { + /* phy not connected or no phy at this address */ + if (op =3D=3D MDIO_OP_READ) { s->regs[R_PHYMNTNC] =3D FIELD_DP32(val, PHYMNTNC, DATA, 0xffff= ); } return; @@ -1554,14 +1562,14 @@ static void gem_handle_phy_access(CadenceGEMState *= s) =20 reg_num =3D FIELD_EX32(val, PHYMNTNC, REG_ADDR); =20 - switch (FIELD_EX32(val, PHYMNTNC, OP)) { + switch (op) { case MDIO_OP_READ: s->regs[R_PHYMNTNC] =3D FIELD_DP32(val, PHYMNTNC, DATA, - gem_phy_read(s, reg_num)); + gem_phy_read(ps, reg_num)); break; =20 case MDIO_OP_WRITE: - gem_phy_write(s, reg_num, val); + gem_phy_write(ps, reg_num, val); break; =20 default: @@ -1813,6 +1821,10 @@ static const Property gem_properties[] =3D { num_type2_screeners, 4), DEFINE_PROP_UINT16("jumbo-max-len", CadenceGEMState, jumbo_max_len, 10240), + DEFINE_PROP_BOOL("phy-connected", CadenceGEMState, phy_connected, true= ), + DEFINE_PROP_LINK("phy-consumer", CadenceGEMState, phy_consumer, + TYPE_CADENCE_GEM, CadenceGEMState *), + DEFINE_PROP_LINK("dma", CadenceGEMState, dma_mr, TYPE_MEMORY_REGION, MemoryRegion *), }; diff --git a/include/hw/net/cadence_gem.h b/include/hw/net/cadence_gem.h index 91ebb5c8ae..21e7319f53 100644 --- a/include/hw/net/cadence_gem.h +++ b/include/hw/net/cadence_gem.h @@ -81,6 +81,9 @@ struct CadenceGEMState { =20 uint8_t phy_loop; /* Are we in phy loopback? */ =20 + bool phy_connected; /* true if connected */ + struct CadenceGEMState *phy_consumer; + /* The current DMA descriptor pointers */ uint32_t rx_desc_addr[MAX_PRIORITY_QUEUES]; uint32_t tx_desc_addr[MAX_PRIORITY_QUEUES]; --=20 2.45.2 From nobody Fri Nov 14 22:21:22 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1759608167205340.40788672820713; Sat, 4 Oct 2025 13:02:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v58RT-00010a-LY; Sat, 04 Oct 2025 16:01:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v58RM-0000tj-Aa for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:12 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v58RF-0006DX-JB for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:11 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-3324fdfd54cso4047718a91.0 for ; Sat, 04 Oct 2025 13:01:04 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:da43:aeff:fecc:bfd5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3399cdc7b41sm7333981a91.3.2025.10.04.13.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Oct 2025 13:01:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759608063; x=1760212863; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=NkEmxt6vEnFyV2JF65ofIRkC73zMsDRURKE/QlhKGg0=; b=l4u146B1/tcqVVD3V6NiUuKgkexC7SJqHAuB9ARElhfnKjhRwA0jDwpb1OeQKmFg1v EeQWdjF7y9wa+IH+rwmjODNjsxI5OvYFvHJ/Je/wNBo9YYwlc87MLyOP6TMxArNuyQY9 twkI61zgXLcWYpBnLHtBz0CHWXTFd0HMQDBfut8JoC7+2MC2pAR3l1zbF9TCUDC6QV32 y4kNPh++0A9ikzeG3KnV3GtPqQ4rIG9XI1WVJKN2aHArb8mM78UWbLzxL2CV0Bh3/CKg W+xf+Z5Z5slvIUnAHMeGhwkYgV08r8uviVKk4htkVdw+U8Io+IwdTmNpz6lGPyc29Xw7 UT1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759608063; x=1760212863; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=NkEmxt6vEnFyV2JF65ofIRkC73zMsDRURKE/QlhKGg0=; b=q75y7y5BdBvsez978XoLHatQlxrb8cr+IAgoSD/srurMfKWo2JXCRsuSGSOZFC4JIO 7IXGAf9hBVvzqcK/cc+uG6bsJvmcMn1G0tbtMMth6o4gGcmbwqLROKmb4LWfLw7EdpGw KZlsn/a8IOEXjNHjbnECXRoZXRiEQcbDhX2cs+BPL2nQdNAcmYH79E+XrBGFL+0rlLsB eaU9CmXOI5koGY37irKg0J3Q9FvrCAQWYq6zcvKJF/7QQvoV8BQKZAqvdy9qqzJkRnVQ HsLSSWpcUcyvI1/xpq7q5Kdfjsku5AQvNAgIR7zZ8Wbs+nZ8lG9EmHkgIm4oMv5EqxRO 6vIA== X-Forwarded-Encrypted: i=1; AJvYcCX9MDE5rOsAvzKco5UhXltkpJDxKpsJzJf8XaoaxwYos+LOCqSixiMEi8Bbn/5OkCmC6NMe2TSeVXYw@nongnu.org X-Gm-Message-State: AOJu0YwykO2dAaBdkRFMaQ/NuUlBuW5AINqj3mQqGBwoghoxYqV5wFJl Gr0G2HxmoNV3qIJscdrlapUohG4sSpJAG7JqpRrpNsLGxDqEhXjWm5Ac X-Gm-Gg: ASbGncvBJdYNE70fmie29naRTM+qH5Le+ymNJZXyhGmImVTp8o+TKa0ne9Hm5mn2VxD TtkK4Dll5Jaz1sAE6Ggls5GtmBlHVvki4bR9NKtAhk20D2Cxrvg0obUHUUt79r11GzkwPLZQxOk PHG2OuA0Pb+AHyslpnRZRgDh+uNhHma/RWCt3GkKF6neOSGEdTPQUjaJIcdJuc5+TZnuNzSvmV+ FmA8yn8Bik0Gas5/FSd4zmCcibqmTsdjc5VQ3H0v2Pg79BwBDfV2S8Awe91BK9HxNYicZDmOWOT z6QNLzU5Zt5WbPHGmC/xMqp9MqFiL5JjW3zpgZgeqLpkEXBCptlDU1hBPikqit6QWl6BKnFSyFp d7ORIR3jnGmwVjfZTgMV+5Z/J/rKEggR6/JLnqjkl6+Tyw4++ux/7BlYayZopXOXqT2dBCQ== X-Google-Smtp-Source: AGHT+IFJcqqT4evhHgnUaj1lCkhATFv/mO7vJTFyr3zu7XDVd++wJmh1i8wTp8DbEj8UN9WomoA1qQ== X-Received: by 2002:a17:90b:1c12:b0:32e:d599:1f66 with SMTP id 98e67ed59e1d1-339c279cf58mr8530911a91.30.1759608063087; Sat, 04 Oct 2025 13:01:03 -0700 (PDT) From: Guenter Roeck To: "Edgar E . Iglesias" , Alistair Francis , Peter Maydell Cc: Jason Wang , Palmer Dabbelt , qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-riscv@nongnu.org, Guenter Roeck Subject: [PATCH 2/4] hw/riscv: microchip_pfsoc: Connect Ethernet PHY channels Date: Sat, 4 Oct 2025 13:00:47 -0700 Message-ID: <20251004200049.871646-3-linux@roeck-us.net> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20251004200049.871646-1-linux@roeck-us.net> References: <20251004200049.871646-1-linux@roeck-us.net> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=groeck7@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1759608179868116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Guenter Roeck Acked-by: Alistair Francis --- hw/riscv/microchip_pfsoc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c index ba1d090d9b..6e2a6e721b 100644 --- a/hw/riscv/microchip_pfsoc.c +++ b/hw/riscv/microchip_pfsoc.c @@ -414,6 +414,8 @@ static void microchip_pfsoc_soc_realize(DeviceState *de= v, Error **errp) =20 object_property_set_int(OBJECT(&s->gem0), "revision", GEM_REVISION, er= rp); object_property_set_int(OBJECT(&s->gem0), "phy-addr", 8, errp); + object_property_set_bool(OBJECT(&s->gem0), "phy-connected", false, err= p); + sysbus_realize(SYS_BUS_DEVICE(&s->gem0), errp); sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem0), 0, memmap[MICROCHIP_PFSOC_GEM0].base); @@ -422,6 +424,8 @@ static void microchip_pfsoc_soc_realize(DeviceState *de= v, Error **errp) =20 object_property_set_int(OBJECT(&s->gem1), "revision", GEM_REVISION, er= rp); object_property_set_int(OBJECT(&s->gem1), "phy-addr", 9, errp); + object_property_set_link(OBJECT(&s->gem1), "phy-consumer", + OBJECT(&s->gem0), errp); sysbus_realize(SYS_BUS_DEVICE(&s->gem1), errp); sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem1), 0, memmap[MICROCHIP_PFSOC_GEM1].base); --=20 2.45.2 From nobody Fri Nov 14 22:21:22 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1759608146223224.4849838745314; Sat, 4 Oct 2025 13:02:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v58RZ-00012c-3J; Sat, 04 Oct 2025 16:01:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v58RN-0000wY-O7 for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:14 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v58RL-0006Dn-1I for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:13 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-7811fa91774so2729338b3a.0 for ; Sat, 04 Oct 2025 13:01:05 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:da43:aeff:fecc:bfd5]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b6099f3b9c6sm7898235a12.23.2025.10.04.13.01.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Oct 2025 13:01:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759608065; x=1760212865; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=TpnV0onFW9tRiwZqt+4TaBfxtNgfz8HYk0xlDhGAU34=; b=VWQEMpjKWPYZGG9cLU5VrVcsBmSq6GExEDex6jGBahOXPeeiRyBGo4d5HLPyctoYHR daQUhE9EOZEsZ2bGCzuAVRKpo2nrfpTjfBo0nxlfxYTUqKBG/VTmGLdAgRmsvKfCzC+J NxSp9m4KYXJDsbQRED5SLJ/H6Vytc+lKrFG6+L0sKyWoCRjl6VaU9AvBGeTdN0XrrDDN sGhawcJZlopOFMQmWtjWaOG5s/GLr3am4Z1eSMsKbTjWBAs4eVNUJp9SwBHbgqt2QVxO OcvG2chz/deZCTuhM56voul7yuElbJ8MbqrexbmIt2RKN/fk3PSa7BPmWAkknxPOidnj QaLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759608065; x=1760212865; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TpnV0onFW9tRiwZqt+4TaBfxtNgfz8HYk0xlDhGAU34=; b=bfLzYnhb0kNMrfUdntO0m5Q1ZFt7+x5y+YCQCr63U6a5L/4oUtzutFRGr22/sgw/W2 V47ekbbbNKS2yjCl2wurZwR+OqXqRO884klC3m1VwbdtMx0gfR7gU7SeHy663sFsqXk8 UkcpR6BxB6QgUVAFizO/yOVstwJ8YqGXnVh+f/DX44kbjoFHmndIJ7bRBZF71jH5VhFA NYnEisfvhj5SK3Ad7HfVw4pjJ9PQ2xC+mf/3dKsQlvVeK1Xp2JnQi2vJXI4XYfZpmmWu Jnttzop9/i7ftyCeVTlUGDCsVy+v5FiQpKpT3byZ8EgerzJxtpOqnxxRW3dFKzR7F1cr KrjQ== X-Forwarded-Encrypted: i=1; AJvYcCUI4UWiqf76KE+DKNk9XBvg2Q5/YzO04sSxPc6NEz0SydML7mFzvFrm4IaxtVbKJYmQ5zvLXbs5JacS@nongnu.org X-Gm-Message-State: AOJu0Ywy9nwRWm6ou1ku08tuI5nUh6O3xfx5v0SI52v/Ro+0KD/8DLih zD5+Lnejkyz21Nien4PIhepj10M2LPLeRouCuB5UyQd0yETbyWmLYMmcqUliwwEe X-Gm-Gg: ASbGnctvFvitBTe1XK9v/ubNEHJOYEzEbaqz/eSVl1KQM9UB0sXwt7ylvW00tr9seFN W4DMrINcJAdSZnmWPZ3jnTxHNXkIJ2iW70v83iy+ymNuJ19qQp3ui+rmLxx1AZYr7HPvEFwRRbW OIGTR/QsYcNwjZbbEEjE1rHmTnJWk/rUotYgRkCbR7jqNf/CiEv9Z3jBOrRRYoXjyrkta5DLLuE CmS09mzn946sKWgXtA5hVd8MLeNP725IP6vJU7xTFRID1FFp3L+cfMa7BFtNJbN/oS1gVLn+EfF 5yrYRcsSuTqB9S0JX+28P3POD4xH+o/vdb7004xRoFCFYLAxZ/i5PE0/SnApMsOUwCaCn57Szgb rl1/iB5KVaPqyaxcbuvfjhkSxTgVNExmCL26AQ5Hdd9LUyLTnMNA+ZsXTXd9qkfbMo6FfAw== X-Google-Smtp-Source: AGHT+IEOmX7z5/z/gyk7vj0N+uX2Tau8ZhA91fz4HpwKNdv/VKmP2FK+rh7cEuPvo8xmDOVLU98KAA== X-Received: by 2002:a05:6a21:e082:b0:266:1f27:a024 with SMTP id adf61e73a8af0-32b620e6bf1mr8475747637.41.1759608064547; Sat, 04 Oct 2025 13:01:04 -0700 (PDT) From: Guenter Roeck To: "Edgar E . Iglesias" , Alistair Francis , Peter Maydell Cc: Jason Wang , Palmer Dabbelt , qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-riscv@nongnu.org, Guenter Roeck Subject: [PATCH 3/4] hw/net/cadence_gem: Add pcs-enabled property Date: Sat, 4 Oct 2025 13:00:48 -0700 Message-ID: <20251004200049.871646-4-linux@roeck-us.net> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20251004200049.871646-1-linux@roeck-us.net> References: <20251004200049.871646-1-linux@roeck-us.net> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::431; envelope-from=groeck7@gmail.com; helo=mail-pf1-x431.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1759608155202116600 Content-Type: text/plain; charset="utf-8" The Linux kernel checks the PCS disabled bit in the R_DESCONF register to determine if SGMII is supported. If the bit is set, SGMII support is disabled. Since the Microchip Icicle devicetree file configures SGMII interface mode, enabling the Ethernet interfaces fails when booting the Linux kernel. Add pcs-enabled property to to let the driver know if PCS should be enabled. Set the flag to false by default (indicating that PCS is disabled) to match the exiting code. Signed-off-by: Guenter Roeck Acked-by: Alistair Francis --- hw/net/cadence_gem.c | 7 ++++++- include/hw/net/cadence_gem.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index 520324adfd..44896f1801 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -1477,7 +1477,10 @@ static void gem_reset(DeviceState *d) s->regs[R_TXPARTIALSF] =3D 0x000003ff; s->regs[R_RXPARTIALSF] =3D 0x000003ff; s->regs[R_MODID] =3D s->revision; - s->regs[R_DESCONF] =3D 0x02D00111; + s->regs[R_DESCONF] =3D 0x02D00110; + if (!s->pcs_enabled) { + s->regs[R_DESCONF] |=3D 0x00000001; + } s->regs[R_DESCONF2] =3D 0x2ab10000 | s->jumbo_max_len; s->regs[R_DESCONF5] =3D 0x002f2045; s->regs[R_DESCONF6] =3D R_DESCONF6_DMA_ADDR_64B_MASK; @@ -1821,6 +1824,8 @@ static const Property gem_properties[] =3D { num_type2_screeners, 4), DEFINE_PROP_UINT16("jumbo-max-len", CadenceGEMState, jumbo_max_len, 10240), + DEFINE_PROP_BOOL("pcs-enabled", CadenceGEMState, + pcs_enabled, false), DEFINE_PROP_BOOL("phy-connected", CadenceGEMState, phy_connected, true= ), DEFINE_PROP_LINK("phy-consumer", CadenceGEMState, phy_consumer, TYPE_CADENCE_GEM, CadenceGEMState *), diff --git a/include/hw/net/cadence_gem.h b/include/hw/net/cadence_gem.h index 21e7319f53..e63941f18f 100644 --- a/include/hw/net/cadence_gem.h +++ b/include/hw/net/cadence_gem.h @@ -62,6 +62,7 @@ struct CadenceGEMState { uint8_t num_type2_screeners; uint32_t revision; uint16_t jumbo_max_len; + bool pcs_enabled; =20 /* GEM registers backing store */ uint32_t regs[CADENCE_GEM_MAXREG]; --=20 2.45.2 From nobody Fri Nov 14 22:21:22 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175960816814692.81714880038294; Sat, 4 Oct 2025 13:02:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v58Ra-00013L-7N; Sat, 04 Oct 2025 16:01:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v58RQ-0000yf-1Y for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:17 -0400 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v58RM-0006E6-0s for qemu-devel@nongnu.org; Sat, 04 Oct 2025 16:01:15 -0400 Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-b551b040930so2269925a12.2 for ; Sat, 04 Oct 2025 13:01:07 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:da43:aeff:fecc:bfd5]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-28e8d1260cfsm86141925ad.48.2025.10.04.13.01.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Oct 2025 13:01:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759608066; x=1760212866; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=dyUMAKAMMzxzjBFdIg7etB3CpnVzv30SqV4s7/yn2ic=; b=ff4iOuavI+aMAQoF3s1ylC7cHH1Lp4rSASSnEGubqeC8MWOFRuYTLf3CiXf99ze0Ae Mw0LKR8cLGlFVgIsW+yVDV2eDgbg7qf2kZf+0+7Oq4MYA+I+9gjOY3a/zqHk2PW5WSu5 OP+PURNjFyivjkGAyuuIr+nG/QwEYkmOJCxyg2gPSd9bpvE50wS4TZA/mzcFK0GpLPpj kPKlAUD/Giacz+c0sm6DbdP+pbV6ClWxH7VCHAmjBiOXifFz0MK5EycjLRl/HtuPxI+8 88c1IsQU9CrxeC8NCrHKu3G/s2KW2aMN3LTaWs9JOhS02GFHN24X1dxaKyA3+Dp2f/ud E64Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759608066; x=1760212866; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=dyUMAKAMMzxzjBFdIg7etB3CpnVzv30SqV4s7/yn2ic=; b=h+D9SGvw4WSU8y15S2EwjuKLSFD5oVVJPUbA78hd0XhsadNQncdFDvtfYxImZXmWhM N3Wn+wDg8S+FqTVWWODhBPsUm8+HJOEpXImuiTp9IdS9CkFM9hz/Apz+e8RnvH/U7aOd IcRQpFpoPuxV+9YH58m5Q6Hwu6G3p9YqxPBs1dqQvYfO2rsMaLZ/SDBUzKbKZGwSjVLW 1zshDWlDta629tWytdcdfax+02Z6SfuAD0hLG5K1teRB+oR+1GKBedj2r2gkZp8GpNaR qGxwUS/rsleNCafRJWBI0/b4C52d4oslUAWANPckt2EJ9Zpgx5nhmAnqWdiuurjNjd1/ AC+A== X-Forwarded-Encrypted: i=1; AJvYcCWqWcB1DL2SqzL4UfpFuaJJz8AZmrjq06mYXWLkzVKPGvDlq88YFvf3oXDS88xuSaGvwK4WW4uTYVpi@nongnu.org X-Gm-Message-State: AOJu0YwnE3eWoTQM5wMQVLiKiN0x01RKH0dkLqYjvcjsMVq2ShuH4Y5s wtQhQc+iqrddzMafYfgbXjiov1fkPQRDyEMu5EUIKYr2Y13t02fNKAI9 X-Gm-Gg: ASbGncupZniW5uwefvmYd1n39YcLkOpuk9t2+n88D5iNzHPwxjQ5MfVGN++2RqMzSTp TwwYM/qVEQlcsfJZUYSafXnHdcz7efd/ZPdeACl8nXMjXT3hg25J8Qfys1dfIaRVmx4fmRa++9k 9P/uo9CrWyEAlivL5N6Nb9e+wbQ/OecF6Y5Jr9HNI4Q7LKCxpVa4RauEGuPOh2MXJTHfPa3TaK2 HBOqX6xArPlm0qv7+u8tRZpq4QhW1mOhKmcF5LDcLxA3u3BbQebBV0yJ9CaLDlmJCEDHw+7b3lR fdGTxZjJubTssmliKLoZ0r5iEalk9VtE7g6aanrSRlFkKzcBmAUzzZ1U21XnlG3jXKxtClUtT8Z cT9v0iHjLfU+VU6z34x7DlARUxE5xH3y6DL59G2bIlgYG0M/2qY44KL8ApCXXRwZhxJQhwA== X-Google-Smtp-Source: AGHT+IF4GLh/DEwGXvo9nnOljFzhXZzDwwKhHqMjw9WeWrpp+4F8ir1DPNGb4u+yhaR9ZykCQQqMsA== X-Received: by 2002:a17:903:2f84:b0:27e:dc53:d239 with SMTP id d9443c01a7336-28e9a5f7230mr83878455ad.35.1759608066171; Sat, 04 Oct 2025 13:01:06 -0700 (PDT) From: Guenter Roeck To: "Edgar E . Iglesias" , Alistair Francis , Peter Maydell Cc: Jason Wang , Palmer Dabbelt , qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-riscv@nongnu.org, Guenter Roeck Subject: [PATCH 4/4] microchip icicle: Enable PCS on Cadence Ethernet Date: Sat, 4 Oct 2025 13:00:49 -0700 Message-ID: <20251004200049.871646-5-linux@roeck-us.net> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20251004200049.871646-1-linux@roeck-us.net> References: <20251004200049.871646-1-linux@roeck-us.net> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=groeck7@gmail.com; helo=mail-pg1-x52d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1759608174630116600 Content-Type: text/plain; charset="utf-8" PCS needs to be enabled for SGMII to be supported by the Linux kernel. Signed-off-by: Guenter Roeck Acked-by: Alistair Francis --- hw/riscv/microchip_pfsoc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c index 6e2a6e721b..5d3007e8d3 100644 --- a/hw/riscv/microchip_pfsoc.c +++ b/hw/riscv/microchip_pfsoc.c @@ -415,6 +415,7 @@ static void microchip_pfsoc_soc_realize(DeviceState *de= v, Error **errp) object_property_set_int(OBJECT(&s->gem0), "revision", GEM_REVISION, er= rp); object_property_set_int(OBJECT(&s->gem0), "phy-addr", 8, errp); object_property_set_bool(OBJECT(&s->gem0), "phy-connected", false, err= p); + object_property_set_bool(OBJECT(&s->gem0), "pcs-enabled", true, errp); =20 sysbus_realize(SYS_BUS_DEVICE(&s->gem0), errp); sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem0), 0, @@ -426,6 +427,7 @@ static void microchip_pfsoc_soc_realize(DeviceState *de= v, Error **errp) object_property_set_int(OBJECT(&s->gem1), "phy-addr", 9, errp); object_property_set_link(OBJECT(&s->gem1), "phy-consumer", OBJECT(&s->gem0), errp); + object_property_set_bool(OBJECT(&s->gem1), "pcs-enabled", true, errp); sysbus_realize(SYS_BUS_DEVICE(&s->gem1), errp); sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem1), 0, memmap[MICROCHIP_PFSOC_GEM1].base); --=20 2.45.2