From nobody Sat Feb 7 21:08:17 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D848435CB75 for ; Fri, 9 Jan 2026 13:44:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966273; cv=none; b=rSqZKZCe4Box4KNZ3jPh7F6yz+5nFMBD8kNrPyWWfjfYfyDU5PbCyVj0DYm1lZE5DmUfU3/t7/VUVnvAyJMUCJ+fCWdmmKf5tUyXNEwg18Yij8TFLQqgvzaqt5x2AjVp1JWMot90l8LhmRikXp7clTtnvQM/J1ld9FHz5SFCDT0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966273; c=relaxed/simple; bh=jf9GAe5/XNqHlZ0uwLx04THFw3xzh+ejemb3PhLVe2M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ku4XiwWoMvLwJmifp676b+Qs+VHY7VgQ1wtevS3tVYrJxPkwvhMo5O91Tcfl2I4030OUB08+8F2swRLgfrVLJsjlhvuNV15DP6EOCqp40dA2AF+5lV6E3yz+RomJzrwXyYqUIrjNtO1bBCWQvWz82m3vSRjG1SB9MFOXDWjhOgg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Gke2i48I; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Gke2i48I" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-432dc56951eso364662f8f.0 for ; Fri, 09 Jan 2026 05:44:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767966266; x=1768571066; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vV3VW4TRk7vZrwF4cTlZDuh2FMXs4uwC6OYZ3cT/LdI=; b=Gke2i48IcfjM/bRpfxBtqVu8ltAGYvhcufgkZ3Zu4eVnd9Ze9rj8brM6F73LutVCR0 NT4VZAg/Z10756miBhKhvCnMQ+okCN0j7ZvqUM/DYMt1Er82BoHAKJfgfgRZBE36qw7y uQEgOphk/A5Ib8iy7jO3A18XHuoUGKC825chLrKYlidA4UO1YNAELi4ZMu4VJrFmVUaI lJrFLnT+U8w79/ex9HeVuOFrnPMUtF3Ar+RXKN5E1fpCB7f4ZDZfj4OfvRw3xxOc80IN s+QShDtWiQTwfLCC4wVQXron2aMWhovuqsM3x6Vhh9rCUJlXeTfd+mYx5IHrAw4xpJ3K +itA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767966266; x=1768571066; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=vV3VW4TRk7vZrwF4cTlZDuh2FMXs4uwC6OYZ3cT/LdI=; b=fCuCrwvJpDm69lTGbn9uslN08jy1IjFST5MPLy5MmDS2G+s0JKO0rxARc+ggZMkBms XW5XLnlacFzZYArzm/0zFH9GaDGzyV4s9lFaqp1TOEWwx61fPhTWVCLB+VxUxQOOkY/8 +NKrikm+hcYepdFfWfQFzz5z51/ruJ38i10sWhP3c10VuQzbWoAvCvZBjnQPgJKm3ydE 61XZkRXMy2w84WVu1DwamMSpDr3hfRglixkoVpy/LaXlOdtm7ZA9h1bUPdUd8xRBUGUs sep9XoEVgQ8BjujRCUg0cWL17hNfCqxhis/6GHoapriza0fZ676xmpR0Ijv5JN3g+H0D WKBg== X-Gm-Message-State: AOJu0Yz45TY6wrbfELEifGZAUE5jHNby+kHkagP3MMttSFxPPjv2xbN2 0D/E8SHJiRtBR7V3fLMNMf7LcJGGo4++xAwWfNkD1Hj72cAcVxivJ6zbryHblg== X-Gm-Gg: AY/fxX4iRcjLdf9w0vDAMdk6F4KoODQfUblm4t61LD4gLU4vBOIJRJCcLEdi8Yhtttq /JYu3zTHXUiUpNvvrFPqdewUp/Xx0HsmEiPy5pU5xjhzZjcIgFGLIsJrKoikzvFu8hS05Hwx0VW g69dsCyThDx3eGHPPyvz3EagsZJKbEAZPlJCz9HMJST3rUXxYJd9tc81+3+4vLFPE60B+mC9rgz qRAtMlj8UQPq75oVl3b2PcLaZ/HyjknnfVec5ORu5V7s4yfGeBpMi0I3BrTxJ4sjbxJyuTIUP5X DT2xrRvBazQKh89aztFi4j4SCMMsOyUywERkm1uW+ImD6CfUUb9e8VYV3Tv7pv5MAdZZWbkNtAg DlFUS1XFq3bakknsIjkYKXr8aFpiB45GJEHrwMeg6aKs1rc3Z0B6q1mnXOQws0fKqlgNGy9Q2KL GHfmgad3qB+z7MraCmpwa2LmSewEwCXOR2I5+4JAjW0dNWa0jZOK1W4c8BHpiSCh6D X-Google-Smtp-Source: AGHT+IG/REh9ssKpIfP140JT4H5xk1mVz4P63JNqcaC2JTUABJbr0Ck3OTN6x5dTXPTtf9t5owUMcA== X-Received: by 2002:a05:6000:40cc:b0:432:ddce:284c with SMTP id ffacd0b85a97d-432ddce2b0emr1487056f8f.17.1767966266056; Fri, 09 Jan 2026 05:44:26 -0800 (PST) Received: from localhost (brnt-04-b2-v4wan-170138-cust2432.vm7.cable.virginm.net. [94.175.9.129]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-432bd0e19bfsm22111616f8f.18.2026.01.09.05.44.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 05:44:24 -0800 (PST) From: Stafford Horne To: LKML Cc: Linux OpenRISC , Stafford Horne , Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org Subject: [PATCH v3 1/6] gpio: mmio: Add compatible for opencores GPIO Date: Fri, 9 Jan 2026 13:43:52 +0000 Message-ID: <20260109134409.2153333-2-shorne@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260109134409.2153333-1-shorne@gmail.com> References: <20260109134409.2153333-1-shorne@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On FPGA Development boards with GPIOs the OpenRISC architecture uses the opencores gpio verilog rtl. This is compatible with the gpio-mmio. Add the compatible string to allow probing this driver from the devicetree. Link: https://opencores.org/projects/gpio Signed-off-by: Stafford Horne Reviewed-by: Geert Uytterhoeven Reviewed-by: Linus Walleij --- Since v2: - New patch drivers/gpio/gpio-mmio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c index 5daf962b0323..edbcaad57d00 100644 --- a/drivers/gpio/gpio-mmio.c +++ b/drivers/gpio/gpio-mmio.c @@ -724,6 +724,7 @@ static const struct of_device_id gpio_mmio_of_match[] = =3D { { .compatible =3D "wd,mbl-gpio" }, { .compatible =3D "ni,169445-nand-gpio" }, { .compatible =3D "intel,ixp4xx-expansion-bus-mmio-gpio" }, + { .compatible =3D "opencores,gpio" }, { } }; MODULE_DEVICE_TABLE(of, gpio_mmio_of_match); --=20 2.51.0 From nobody Sat Feb 7 21:08:17 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F18A935C194 for ; Fri, 9 Jan 2026 13:44:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966274; cv=none; b=lynaKrgeqKzGRwg2acxHtMVrKgzddt1TuvxEix0PbAvLlExZRcnVIPYatYpZkIJIQb9DOO3InCFsXBle5HjC5Ev7Nm3DTavTiinIm/m9fEBH/Yvo/6v2tPoGC0g3INEoFEiW8bfXvj/8Q+C9cWeIb1AKJpT9PQhDYI3rrFkAmMo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966274; c=relaxed/simple; bh=1LQ7pgQADLkv3Q2JfJ0YKNTNCFMPBPWWQX+7eb5Jfpc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KhBs7S8Oi3c46Ia3hxWV8UISFRZ12hqeB5NZ6NuE1dDla9B150tEZ3rBiC0UxQeHLNyLYojinqSXapEwZzInxKdh3dWJU2WONJkiEcxg+HEgy5dgqiNRgSyGwTrM9Ou5DarShafYa2iNldTGDWMwaUtiXTA/ZWFN0efKe3vA1eA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=T22xqPjo; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T22xqPjo" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-42fbc305914so2899798f8f.0 for ; Fri, 09 Jan 2026 05:44:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767966269; x=1768571069; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SvvQmiFOUMr/XdsMeV6yI6szLxAkwyU8Gztse0HmU4Y=; b=T22xqPjoUng3R0/lbVqftLHXYgAkCfQn9SJwHiC5fAy1/qCs7D450jYCl3UW1zjeHy RZ9JTxonquhy3i+wQZJQ9/ndBGBuS2jSRINlJLj5Bj/2RkrfVcqs31laj+PDzfnESoBq FUs3irdpEZ4dSCGtLxTfOGfrasm6ICBTK9o7C8kD9g8qSYj3bdFb3yf0xJWYvdDjS3ao IhZMadggx/q87TczZtxQIHGcBDZ89GR+b9y3zLCTbYZSJHDIeBqTCES3yLa+ISRS0waH 47Vf/ThVhpohJLwOsNO+HXGHZ4wPv+vP50ahkaufIw1ZwpHpuC3nk/RViYvjj6KSfm9k XzGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767966269; x=1768571069; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=SvvQmiFOUMr/XdsMeV6yI6szLxAkwyU8Gztse0HmU4Y=; b=LjRTFKE0XSLevVMTv9YfkoqIZKSa47Vb4BnwtPFvyyhPG4jOZOZDajE3n3FvlAa11Q t0mIsSXzNGXniwXLlNbye50KEN7aRuvQ3KUtwI/beFC6R9VBcoxS18kmtwVtHhbJbm6J L1Q62MC9aPRX/rp8yI4NtYqQFiNccdVxx6U40dqIs+42cBE+gF75QqDg+o7Jv2KSwDvF hKujNYrBxWX5jqDvDpSqZd2Ym4k1UO2LySFjZ2QZogl3IQ1L/wsPw1MnlWxfDJKcBWfI jDGjLd2n8FPL06GG/Vzq7e9kjVgW79+aATkIOTkre1OqwbXepa5vN4x/Wo5oTkI07LaI 5Ocw== X-Gm-Message-State: AOJu0YyGqVigCf1WvelmW4/v96I4mWTm+PMVKglNwABasRMGRQyx7pnX I1qAE0dPkwqmlvkWAM755fVd+OcwiobYkaaIfFoe0zLldX57b4c/50VkZIhwOQ== X-Gm-Gg: AY/fxX5pigJtypEqEvtDnawLplvKtpNRDFf51uf6jUzz7XrK0kVzxJ567WIQHpS3iKa D3ExCV5/99gdZTmngYIbFltxnRzkW9MmJ2yjpx5igy6sZzr3khBSo4lqI3o0CLCuWSBKrvZdKPz Djnkn5sUriTMPqWRUahOPNlpkgEgtTqD7J1I167Hyv6RtdHtpp3odsx5fQPYHKmqbdVNz2cfHh7 4Urg/lw29FL7TlkRYePBCNJPmCSCnKIx2gAuqcZlm2i4IYoF8tosD3xyZcsBBkphvdZBLLXf3ue o0vD9H5B+gRj1gaR4lpfDuxw9wA8mUIlkGyO0SZKBOHgPsy+P6uK18lK3Ev+yMZ6b8JDRvunBc8 e8PctVo3ZuMH+7LGHyN5uJLix/HSyY3oPTDyC1F1qOBTy5AKFdqiLjvI30TuTOulKn+xmjmI1RR ZQn+MgB+aw8pyU3u9jGiOc4tlMANTGUSZiERxvlyQA/YNgaa8Jojrirofrj/tK6nD1EA1OryirG IA= X-Google-Smtp-Source: AGHT+IEcyqPvQXXgSb8upUybhhoHWlS++tR42ZMn0J3rAkpHIq7i7iKiZeRqR+4mcCGlOkEYTV7yLA== X-Received: by 2002:a05:6000:420f:b0:430:fc0f:8f9f with SMTP id ffacd0b85a97d-432c37982f5mr11382930f8f.37.1767966268426; Fri, 09 Jan 2026 05:44:28 -0800 (PST) Received: from localhost (brnt-04-b2-v4wan-170138-cust2432.vm7.cable.virginm.net. [94.175.9.129]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-432bd5fe83bsm22896047f8f.38.2026.01.09.05.44.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 05:44:27 -0800 (PST) From: Stafford Horne To: LKML Cc: Linux OpenRISC , Stafford Horne , Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v3 2/6] dt-bindings: gpio-mmio: Add opencores GPIO Date: Fri, 9 Jan 2026 13:43:53 +0000 Message-ID: <20260109134409.2153333-3-shorne@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260109134409.2153333-1-shorne@gmail.com> References: <20260109134409.2153333-1-shorne@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a device tree binding for the opencores GPIO controller. On FPGA Development boards with GPIOs the OpenRISC architecture uses the opencores gpio verilog rtl which is compatible with the MMIO GPIO driver. Link: https://opencores.org/projects/gpio Signed-off-by: Stafford Horne Reviewed-by: Geert Uytterhoeven Reviewed-by: Linus Walleij --- Since v2: - Fixup patch to simply add opencores,gpio and add an example. Since v1: - Fix schema to actually match the example. Documentation/devicetree/bindings/gpio/gpio-mmio.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Documentation/devicetree/bindings/gpio/gpio-mmio.yaml b/Docume= ntation/devicetree/bindings/gpio/gpio-mmio.yaml index ee5d5d25ae82..d44edc181e0a 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-mmio.yaml +++ b/Documentation/devicetree/bindings/gpio/gpio-mmio.yaml @@ -23,6 +23,7 @@ properties: - ni,169445-nand-gpio - wd,mbl-gpio # Western Digital MyBook Live memory-mapped GPIO contr= oller - intel,ixp4xx-expansion-bus-mmio-gpio + - opencores,gpio =20 big-endian: true =20 @@ -160,3 +161,11 @@ examples: intel,ixp4xx-eb-write-enable =3D <1>; }; }; + + gpio@91000000 { + compatible =3D "opencores,gpio"; + reg =3D <0x91000000 0x1>, <0x91000001 0x1>; + reg-names =3D "dat", "dirout"; + gpio-controller; + #gpio-cells =3D <2>; + }; --=20 2.51.0 From nobody Sat Feb 7 21:08:17 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6425D35CB83 for ; Fri, 9 Jan 2026 13:44:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966284; cv=none; b=cNJ+nry+9gnYUUAkhAVu+8fqJQOQ/iBiMTxPDFu7GR39V2IiDZNtQqvTbzp382QlctefKIKlJCUnxLzHzo3RzyQ4nYxxK4KzX0wcUdVBp1x0pUECvjqJ+Tnmu/yr7PPk+y+YX4kOSCrT1snGN41SaiDytL+aQT7SEs3kfuQEHBo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966284; c=relaxed/simple; bh=pcjQxX4xwIbsnp3bNrSxgahevNMF2mF1M2M9A8g+HnE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qqCgXbOeIZEzt9AxY+XdAb4ZwYU2NQYTgI3FMbp7M1oOaIeInymRdbLFUfYEevZbHGBkx9Zf8kGNZpfiVzBFX2rBIQlG2w1LMsuN5VFtmdbzWwbkrM/nQpPYDNNFGUNak+PU2FklCVU5+OP4bNX/Y5ib2T/sJ0JgTrYHukLUBrE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NvkKJQTT; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NvkKJQTT" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-47d1d8a49f5so28483915e9.3 for ; Fri, 09 Jan 2026 05:44:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767966274; x=1768571074; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7fOl8lMRZPoabFAeN7Y+8OmFxBmjdRvwrOInAYDDHms=; b=NvkKJQTTR6R3SS5lx9PkamCqEajWoDtgnt2y6ewWoY9g/vRJV0w3IuVKVHxkdnmFEP YtiGmbiK5uaPRaIB1jrjcXKQ1tDpiRdW4j/7ywD6lfKwmKhHWaXS9eL1oNKT41wbnriI cU2KZa98NrrJA/+NAul0wbivnLSpFiC4idh9FbC1ftYEPVS93WxGuqX3vRsZxJkGqYaD ETWpevszdOJ5sunlFlitRpm3IhLbV5Qn8xozKA0RyRoYTjCMkLVFvUSFqwGDbEmmR2dZ aQFPc8TpZwSEVjdYgPOcLZUyqrAvoT9DSSzS4MS5jUMDCux53mpHs5dH2VYNtRlheOjW TS8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767966274; x=1768571074; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7fOl8lMRZPoabFAeN7Y+8OmFxBmjdRvwrOInAYDDHms=; b=c84Vq4bfvSJZvGp7Ydjws9n/nFEriszl6kxGtTsEhuW2qpDDE6QKzwE/ev8IOZ0myB kpURWATcBZq38oPzoAcdZntQAdKQm5ctG2RTr6JvqolUKjrLEKIw6EfvzIRbgQNhhLJM uwam4EU10k56lx7xXBakHPP7oXf3aT0qWR9NhW5RWKZK9ItrtS6W1ar7YRk7PLWugr8T Xfi/jv6Tt60RGxPuO6KBNvAIPwjnmes2f50WKk0sLgXzMf3t3eMB5a3ingfVUazUpGm/ VLsWJtmBq/0adOGQYZEUElhYKgLwbVLIaiXuRRxUtKhP8CHEj8PMHvU4NJRXA3oGyWUl dNuw== X-Gm-Message-State: AOJu0YwA4d5X3OudHDKwwbnmAa93HqY60RmvGkxOr8zeYNiwyuHEympe akfC+S+qVYnntvJ6KEdsTQsuU0cyCcb7AyQHwMmCAXQBKco2R7x7YzBg6DuuRg== X-Gm-Gg: AY/fxX71YVsbxlBi2L3722wE+8E9PNCk7vCLq8n7QDo/9TK98hmJQkM/jhvN1RAgPkD RHQon/hdyye9fNfPl99hzmLUZwMRhJF7lAGS6C6JDRas4GVt5PyWR8Z7QXP5xWnbaOVX//yqyTl tHr502vnf9v51krxhCDd2uOlfA1atffle5c+IWabrJ+3p6QYP6kyu1uuaNiaQifyLahBD4DJo3T Q4YN3cbS78UhHAM/Erz+RU/JgZ+s9xDSFEZlz8Yd2DevZqyRw+NSZzQmyGOA2n6VF/ngxG/jGzI 5jBZlABoonDQZol7/6B37cfy2h7y3x9T0EGEEPjZmDjyc+tXcvRJbgISqfUQzHfO4hosykGxkFI CVqKzzq+jVQuf8fcWcVgdNkA4zSpDppqjL40BVEEWBSdvXKmReN7MUkRWMlAQmgjA0SIw3NPm5j jEdBh+RQMcPCdQ8Vfh+GCpEBPxQ16zrXB+yEEaGdHSJoqRb85Vv0Fw5wAHCHsd+73J X-Google-Smtp-Source: AGHT+IHI1oIh/l+pNHhz+Cb7RCUFMB+k70iKC6Eky++cfANGCa9CRJhRrYYCxElFJ+VzNeg0ZGTPxg== X-Received: by 2002:a05:600c:a318:b0:479:2651:3f9c with SMTP id 5b1f17b1804b1-47d8d685db6mr46957855e9.14.1767966273440; Fri, 09 Jan 2026 05:44:33 -0800 (PST) Received: from localhost (brnt-04-b2-v4wan-170138-cust2432.vm7.cable.virginm.net. [94.175.9.129]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d87166d0csm65661495e9.6.2026.01.09.05.44.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 05:44:32 -0800 (PST) From: Stafford Horne To: LKML Cc: Linux OpenRISC , Stafford Horne , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonas Bonn , Stefan Kristiansson , devicetree@vger.kernel.org Subject: [PATCH v3 3/6] openrisc: dts: Add de0 nano config and devicetree Date: Fri, 9 Jan 2026 13:43:54 +0000 Message-ID: <20260109134409.2153333-4-shorne@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260109134409.2153333-1-shorne@gmail.com> References: <20260109134409.2153333-1-shorne@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The de0 nano from Terasic is an FPGA board that we use in the OpenRISC community to test OpenRISC configurations. Add a base configuration for the board that runs an OpenRISC CPU at 50Mhz with 32MB ram, UART for console and some GPIOs for LEDs and switches. There is an older version of this floating around that defines all of the hardware on the board including SPI's, flash devices, sram, ADCs etc. Eventually it would be good to get the full version upstream but for now I think a minimal board is good to start with. Link: https://openrisc.io/tutorials/de0_nano/ Link: https://github.com/olofk/de0_nano Signed-off-by: Stafford Horne --- Since v2: - Move leds block up to the top. - Remove unneeded "status" from gpio0. - Removed earlycon from de0-nano.dts. arch/openrisc/boot/dts/de0-nano-common.dtsi | 42 +++++++++++ arch/openrisc/boot/dts/de0-nano.dts | 54 ++++++++++++++ arch/openrisc/configs/de0_nano_defconfig | 79 +++++++++++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 arch/openrisc/boot/dts/de0-nano-common.dtsi create mode 100644 arch/openrisc/boot/dts/de0-nano.dts create mode 100644 arch/openrisc/configs/de0_nano_defconfig diff --git a/arch/openrisc/boot/dts/de0-nano-common.dtsi b/arch/openrisc/bo= ot/dts/de0-nano-common.dtsi new file mode 100644 index 000000000000..02e329e28e33 --- /dev/null +++ b/arch/openrisc/boot/dts/de0-nano-common.dtsi @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include + +/ { + leds0: leds { + compatible =3D "gpio-leds"; + + led-heartbeat { + gpios =3D <&gpio0 0 GPIO_ACTIVE_HIGH>; + color =3D ; + function =3D LED_FUNCTION_HEARTBEAT; + linux,default-trigger =3D "heartbeat"; + label =3D "heartbeat"; + }; + }; + + memory@0 { + device_type =3D "memory"; + reg =3D <0x00000000 0x02000000>; + }; + + /* 8 Green LEDs */ + gpio0: gpio@91000000 { + compatible =3D "opencores,gpio"; + reg =3D <0x91000000 0x1>, <0x91000001 0x1>; + reg-names =3D "dat", "dirout"; + gpio-controller; + #gpio-cells =3D <2>; + }; + + /* 4 DIP Switches */ + gpio1: gpio@92000000 { + compatible =3D "opencores,gpio"; + reg =3D <0x92000000 0x1>, <0x92000001 0x1>; + reg-names =3D "dat", "dirout"; + gpio-controller; + #gpio-cells =3D <2>; + status =3D "disabled"; + }; +}; diff --git a/arch/openrisc/boot/dts/de0-nano.dts b/arch/openrisc/boot/dts/d= e0-nano.dts new file mode 100644 index 000000000000..b5b854e7e8b4 --- /dev/null +++ b/arch/openrisc/boot/dts/de0-nano.dts @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0 + +/dts-v1/; + +#include "de0-nano-common.dtsi" + +/ { + model =3D "Terasic DE0 Nano"; + compatible =3D "opencores,or1ksim"; + #address-cells =3D <1>; + #size-cells =3D <1>; + interrupt-parent =3D <&pic>; + + aliases { + uart0 =3D &serial0; + }; + + chosen { + stdout-path =3D "uart0:115200"; + }; + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu@0 { + compatible =3D "opencores,or1200-rtlsvn481"; + reg =3D <0>; + clock-frequency =3D <50000000>; + }; + }; + + /* + * OR1K PIC is built into CPU and accessed via special purpose + * registers. It is not addressable and, hence, has no 'reg' + * property. + */ + pic: pic { + compatible =3D "opencores,or1k-pic"; + #interrupt-cells =3D <1>; + interrupt-controller; + }; + + serial0: serial@90000000 { + compatible =3D "opencores,uart16550-rtlsvn105", "ns16550a"; + reg =3D <0x90000000 0x100>; + interrupts =3D <2>; + clock-frequency =3D <50000000>; + }; +}; + +&gpio1 { + status =3D "okay"; +}; diff --git a/arch/openrisc/configs/de0_nano_defconfig b/arch/openrisc/confi= gs/de0_nano_defconfig new file mode 100644 index 000000000000..bc63905f9cd8 --- /dev/null +++ b/arch/openrisc/configs/de0_nano_defconfig @@ -0,0 +1,79 @@ +CONFIG_SYSVIPC=3Dy +CONFIG_NO_HZ=3Dy +CONFIG_LOG_BUF_SHIFT=3D14 +CONFIG_BLK_DEV_INITRD=3Dy +# CONFIG_RD_GZIP is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_RD_ZSTD is not set +CONFIG_EXPERT=3Dy +# CONFIG_EPOLL is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +CONFIG_BUILTIN_DTB_NAME=3D"de0-nano" +# CONFIG_FPU is not set +CONFIG_HZ_100=3Dy +# CONFIG_BLOCK is not set +CONFIG_SLUB_TINY=3Dy +# CONFIG_COMPAT_BRK is not set +# CONFIG_VM_EVENT_COUNTERS is not set +CONFIG_NET=3Dy +CONFIG_UNIX=3Dy +CONFIG_UNIX_DIAG=3Dy +CONFIG_INET=3Dy +CONFIG_IP_MULTICAST=3Dy +CONFIG_INET_UDP_DIAG=3Dy +CONFIG_INET_RAW_DIAG=3Dy +CONFIG_INET_DIAG_DESTROY=3Dy +# CONFIG_IPV6 is not set +CONFIG_DEVTMPFS=3Dy +CONFIG_DEVTMPFS_MOUNT=3Dy +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_INPUT is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=3Dy +CONFIG_SERIAL_8250_CONSOLE=3Dy +CONFIG_SERIAL_OF_PLATFORM=3Dy +# CONFIG_HW_RANDOM is not set +CONFIG_PPS=3Dy +CONFIG_GPIO_SYSFS=3Dy +# CONFIG_GPIO_SYSFS_LEGACY is not set +CONFIG_GPIO_GENERIC_PLATFORM=3Dy +# CONFIG_HWMON is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_NEW_LEDS=3Dy +CONFIG_LEDS_CLASS=3Dy +CONFIG_LEDS_GPIO=3Dy +CONFIG_LEDS_TRIGGERS=3Dy +CONFIG_LEDS_TRIGGER_TIMER=3Dy +CONFIG_LEDS_TRIGGER_ONESHOT=3Dy +CONFIG_LEDS_TRIGGER_HEARTBEAT=3Dy +CONFIG_LEDS_TRIGGER_CPU=3Dy +CONFIG_LEDS_TRIGGER_ACTIVITY=3Dy +CONFIG_LEDS_TRIGGER_GPIO=3Dy +CONFIG_LEDS_TRIGGER_DEFAULT_ON=3Dy +CONFIG_LEDS_TRIGGER_TRANSIENT=3Dy +CONFIG_LEDS_TRIGGER_PANIC=3Dy +CONFIG_LEDS_TRIGGER_NETDEV=3Dy +CONFIG_LEDS_TRIGGER_PATTERN=3Dy +CONFIG_LEDS_TRIGGER_TTY=3Dy +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +# CONFIG_DNOTIFY is not set +CONFIG_TMPFS=3Dy +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_ARM64 is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_RISCV is not set +CONFIG_PRINTK_TIME=3Dy +# CONFIG_DEBUG_MISC is not set +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set --=20 2.51.0 From nobody Sat Feb 7 21:08:17 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 988DC35BDCC for ; Fri, 9 Jan 2026 13:44:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966285; cv=none; b=dCfdL4TS+81zvnSjatEFdVdR39rIESbdCutKoZs7EHsfPlmuuUpOzgFomi93pmriROj8tLFvQzuLQxnxpqj8outLfzaFAzMltWa4ViFbGRdDVQy7SRu5q4yfd5s9sMy2WhalsUyihD2VQ/yh/yexkeffzqqbhWliKisPFv/lpdw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966285; c=relaxed/simple; bh=Upo/KeJ1tydzhEX3FEnB2Lq6CdSMUiNT1LlycW0K1NM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mQm7ZivAPK0wCzTiiDcU/XZ1tSihrrU0GVKeHv+SbOYPsMeg5OaDHCCyuML2rTra48Yz9og+8pMsHvMFH5bUWiqJisS5eC7Wpl9QeL+QJfalcv5luptxVuKBvfBqMwTa3YSPRyBvb9VMyvvznjiwbImu5Bt0sLafQCpAKUDiZhE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DzxVsvk9; arc=none smtp.client-ip=209.85.221.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DzxVsvk9" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-432dc56951eso364779f8f.0 for ; Fri, 09 Jan 2026 05:44:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767966277; x=1768571077; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VFXHMGeoomdbZOLp3ce3D0yDHo0q4hSajO4R4fHl4CQ=; b=DzxVsvk9sq38COq/EXceOTw5+SkCdykMCrCuXWlT2U5zh24Ey6rvsiqp/ihyp6xuOP 6qD4OsOTw9H2y+PNO43t0kOAu/KVANDyvia5M4DpO4QXBs5jWtpv8lVqZTmu5h/y6/Qf sPYCLTQJIW/HfTQVBiakPJMa95PdOqv1HM6YKkryu+k+1IL0k5zP7KINMT3CYogj7Mwh BCkrJH+ezKm0MaQg5ZTOfAytCuyvsXe9/mu6Fvo15h0nDlzm3PJO2QJ1ItfvErNBzoWE cH0tBODhGvREAy4b2ShWlUY+Lo6TNAud5A6Io6U/k7Gw3LMr9hunT6ShM1iRdb1bLfYW 1Taw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767966277; x=1768571077; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=VFXHMGeoomdbZOLp3ce3D0yDHo0q4hSajO4R4fHl4CQ=; b=TswGE9z0us8Lmuk03WwRdnzfgkzMOab0RSGorM2m0dZnbXY9Rrg4QMPPHobnn0vJDX IiMYcQE9L+Xjq8KT6GDVR0Ldq0AS7zXqxtjAwznMy++1d5VUQXZocYl9aSAfPqW0JLH4 9UODcE95lOIHol9eM6j3C5GjkH/UUX1vNPpIGtoHW82wL4npprp6tfmOCwogZLw4I95B w+35ylEQ1FCvfViWWO49GW54swJfx3kbvSW6RpzYLCQ0rOtTxYTSqfGkhYvT5TF8Ya/4 VxMytwR6gs+H6/6Ud+zUWJgKZu37plUoooUuKdcBh0eILef+uaKNGL9QEdikbYjcSpXr 7xYA== X-Gm-Message-State: AOJu0Ywaz5nBvxolocclZCTXS9f6Y/oxBpStuu6PbO2cDJfQ+uhUikeC 8Mz3f9Dq/LnbyYJikOz3imG0nMizl5SdgkacNGslRvJn4VS0sH9y+8DgrdWVug== X-Gm-Gg: AY/fxX67rICK8tajvWheKVVfDZCcqh6aqNisulyvE0gb2y2oJk1z8vuL0e/fAEVxGv6 DCXESRkViFZKeU5nFy4itASpqNCZryQTPeikK3Wg7SfW/gWCGXBgEYLADWEE6AN5zDwHeeNuKyd ork+r5pjwTM6t4hKN2YruO4M+WZtMyeyeONopHGQ3PvGAcYECe3hyu6Tv0oWy4PB5Scx8k7T+2F rsnCIy8Sm5LTutp7Lo8DOAdlR6iP7ES0FmIQoxJX/O9rqTqbZsHFfH8to1PpXbOVXCUnUkskmgq PwKIhAG1DjFtZbZ7LVXn2VAcP+N5eVwKWrFaBf/MIf2ZuldORWPkiksOpMIrvPY4nJ+eSxlIJjm fIEk5qIMpvqwg4htV+oPRTyqvQ7mNvdCXDpqRZCjiTe07HRq8cqQX34HbEdPDhWF79eVuwYzq28 kgfTDthriTPMMbLT+jQNHUC9Pp2RS+AJqpNfM36PQVbM+itWrv5YUW0i3HkYI5bWeN X-Google-Smtp-Source: AGHT+IHZQoFtqq+7pXWo9CI4HdTv8iw93DcZ3knjJJYcfuMygPzsSwYV++HNu5fIXxFgXn1FqOzKSw== X-Received: by 2002:a05:6000:2305:b0:431:a33:d864 with SMTP id ffacd0b85a97d-432c3790a14mr12113322f8f.18.1767966277267; Fri, 09 Jan 2026 05:44:37 -0800 (PST) Received: from localhost (brnt-04-b2-v4wan-170138-cust2432.vm7.cable.virginm.net. [94.175.9.129]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-432bd5ee243sm22383077f8f.31.2026.01.09.05.44.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 05:44:36 -0800 (PST) From: Stafford Horne To: LKML Cc: Linux OpenRISC , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Thomas Gleixner Subject: [PATCH v3 4/6] openrisc: Fix IPIs on simple multicore systems Date: Fri, 9 Jan 2026 13:43:55 +0000 Message-ID: <20260109134409.2153333-5-shorne@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260109134409.2153333-1-shorne@gmail.com> References: <20260109134409.2153333-1-shorne@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit c05671846451 ("openrisc: sleep instead of spin on secondary wait") fixed OpenRISC SMP Linux for QEMU. However, stability was never achieved on FPGA development boards. This is because the above patch has a step to unmask IPIs on non-boot cpu's but on hardware without power management, IPIs remain masked. This meant that IPI's were never actually working on the simple SMP systems we run on development boards. The systems booted but stability was very suspect. Add the ability to unmask IPI's on the non-boot cores. This is done by making the OMPIC IRQs proper percpu IRQs. We can then use the enabled_percpu_irq() to unmask IRQ on the non-boot cpus. Update the or1k PIC driver to use a flow handler that can switch between percpu and the configured level or edge flow handlers at runtime. This mechanism is inspired by that done in the J-Core AIC driver. Signed-off-by: Stafford Horne --- arch/openrisc/include/asm/smp.h | 3 ++- arch/openrisc/kernel/smp.c | 22 +++++++++++++++++++++- drivers/irqchip/irq-ompic.c | 15 +++++++++++---- drivers/irqchip/irq-or1k-pic.c | 27 ++++++++++++++++++++++++++- 4 files changed, 60 insertions(+), 7 deletions(-) diff --git a/arch/openrisc/include/asm/smp.h b/arch/openrisc/include/asm/sm= p.h index e21d2f12b5b6..007296f160ef 100644 --- a/arch/openrisc/include/asm/smp.h +++ b/arch/openrisc/include/asm/smp.h @@ -20,7 +20,8 @@ extern void smp_init_cpus(void); extern void arch_send_call_function_single_ipi(int cpu); extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); =20 -extern void set_smp_cross_call(void (*)(const struct cpumask *, unsigned i= nt)); +extern void set_smp_cross_call(void (*)(const struct cpumask *, unsigned i= nt), + unsigned int irq); extern void handle_IPI(unsigned int ipi_msg); =20 #endif /* __ASM_OPENRISC_SMP_H */ diff --git a/arch/openrisc/kernel/smp.c b/arch/openrisc/kernel/smp.c index 86da4bc5ee0b..040ca201b692 100644 --- a/arch/openrisc/kernel/smp.c +++ b/arch/openrisc/kernel/smp.c @@ -13,6 +13,7 @@ =20 #include #include +#include #include #include #include @@ -25,6 +26,7 @@ =20 asmlinkage __init void secondary_start_kernel(void); =20 +static unsigned int ipi_irq __ro_after_init; static void (*smp_cross_call)(const struct cpumask *, unsigned int); =20 unsigned long secondary_release =3D -1; @@ -39,6 +41,14 @@ enum ipi_msg_type { =20 static DEFINE_SPINLOCK(boot_lock); =20 +static void or1k_ipi_enable(void) +{ + if (WARN_ON_ONCE(!ipi_irq)) + return; + + enable_percpu_irq(ipi_irq, 0); +} + static void boot_secondary(unsigned int cpu, struct task_struct *idle) { /* @@ -136,6 +146,7 @@ asmlinkage __init void secondary_start_kernel(void) complete(&cpu_running); =20 synchronise_count_slave(cpu); + or1k_ipi_enable(); set_cpu_online(cpu, true); =20 local_irq_enable(); @@ -195,9 +206,18 @@ void smp_send_stop(void) smp_call_function(stop_this_cpu, NULL, 0); } =20 -void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned= int)) +void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned= int), + unsigned int irq) { + if (WARN_ON(ipi_irq)) + return; + smp_cross_call =3D fn; + + ipi_irq =3D irq; + + /* Enabled IPIs for boot CPU immediately */ + or1k_ipi_enable(); } =20 void arch_send_call_function_single_ipi(int cpu) diff --git a/drivers/irqchip/irq-ompic.c b/drivers/irqchip/irq-ompic.c index e66ef4373b1e..f0e0b435bb1d 100644 --- a/drivers/irqchip/irq-ompic.c +++ b/drivers/irqchip/irq-ompic.c @@ -84,6 +84,8 @@ DEFINE_PER_CPU(unsigned long, ops); =20 static void __iomem *ompic_base; =20 +static DEFINE_PER_CPU_READ_MOSTLY(int, ipi_dummy_dev); + static inline u32 ompic_readreg(void __iomem *base, loff_t offset) { return ioread32be(base + offset); @@ -183,12 +185,17 @@ static int __init ompic_of_init(struct device_node *n= ode, goto out_unmap; } =20 - ret =3D request_irq(irq, ompic_ipi_handler, IRQF_PERCPU, - "ompic_ipi", NULL); - if (ret) + irq_set_percpu_devid(irq); + ret =3D request_percpu_irq(irq, ompic_ipi_handler, "ompic_ipi", + &ipi_dummy_dev); + + if (ret) { + pr_err("ompic: failed to request irq %d, error: %d", + irq, ret); goto out_irq_disp; + } =20 - set_smp_cross_call(ompic_raise_softirq); + set_smp_cross_call(ompic_raise_softirq, irq); =20 return 0; =20 diff --git a/drivers/irqchip/irq-or1k-pic.c b/drivers/irqchip/irq-or1k-pic.c index 48126067c54b..73dc99c71d40 100644 --- a/drivers/irqchip/irq-or1k-pic.c +++ b/drivers/irqchip/irq-or1k-pic.c @@ -118,11 +118,36 @@ static void or1k_pic_handle_irq(struct pt_regs *regs) generic_handle_domain_irq(root_domain, irq); } =20 +/* + * The OR1K PIC is a cpu-local interrupt controller and does not distingui= sh or + * use distinct irq number ranges for per-cpu event interrupts (IPI). Since + * information to determine whether a particular irq number should be trea= ted as + * per-cpu is not available at mapping time, we use a wrapper handler func= tion + * which chooses the right handler at runtime based on whether IRQF_PERCPU= was + * used when requesting the irq. Borrowed from J-Core AIC. + */ +static void or1k_irq_flow_handler(struct irq_desc *desc) +{ +#ifdef CONFIG_SMP + struct irq_data *data =3D irq_desc_get_irq_data(desc); + struct or1k_pic_dev *pic =3D data->domain->host_data; + + if (irqd_is_per_cpu(data)) + handle_percpu_devid_irq(desc); + else + pic->handle(desc); +#endif +} + static int or1k_map(struct irq_domain *d, unsigned int irq, irq_hw_number_= t hw) { struct or1k_pic_dev *pic =3D d->host_data; =20 - irq_set_chip_and_handler(irq, &pic->chip, pic->handle); + if (IS_ENABLED(CONFIG_SMP)) + irq_set_chip_and_handler(irq, &pic->chip, or1k_irq_flow_handler); + else + irq_set_chip_and_handler(irq, &pic->chip, pic->handle); + irq_set_status_flags(irq, pic->flags); =20 return 0; --=20 2.51.0 From nobody Sat Feb 7 21:08:17 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0D9535C1B7 for ; Fri, 9 Jan 2026 13:44:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966287; cv=none; b=qj4+CZNbHyPVxbHZs/mWyXo4oY3rGdSSgcU0JvMU5mxk6E/d2bb4FpPsX9gw4ymH7ayt7/18FbJHiP4q8MBZOZW9/G/VV5jI3QWbI9b2cJpdqWBO74I/bT41KvPRqie1uWEWrw7ZnoVboGeudyIidqJby0gFo+OF8klTcClH8PM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966287; c=relaxed/simple; bh=Jk40KbzqIx5hqF0fGScSRmcvuwcowCOVTp3y98D7ttI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b4Gfex/nJy7wSzYUigPg3ekYUwua3EVMZ/uplfPloCPbAIMig2u43BHTfUaUtDy9piP2VcXsWGRjedKjQcUtnTkP9ToprkL0X9hvXXy88uyM/U7grCdsOrUcb0fXXyewyCERv35/K/4LuBNbV8X5azDdpRRxpke2LfZDddLRX5U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LJ3YcSoc; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LJ3YcSoc" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-4327778df7fso2628287f8f.3 for ; Fri, 09 Jan 2026 05:44:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767966281; x=1768571081; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=h9KAGzffhLwgZtEGqvIhJp5ztHd8BXXtK9/Mqf8WQC8=; b=LJ3YcSocsEsEkGjlvzW+uZB01JuFHctd7FcBaKMf6eW0CsYI+W6IJI8QH2TflzOeZY Qn2wG/iemt9HN6Hw0v5rsCkTOZH8eF4mhnR9iwy+73PozUY2QPgxSiSdM1609C8vcVdN IlwD980EDjH6U4GWHhsV3dIhkAVowBhIQb5t4BjQ3O6R4NtUfBxQNXhY4F6S5zGtJ8R8 L5FCBgGn3bX6k9rU9mSdXU84ZwLOYtmioYfijrUewHt+1OShPx2RbpRsAa32sathP3g8 SjnJ8Y0SX+v6Hb+itwHFUKF3Nx3za6yBpOrW5G/4G8+3pU9ERAuZSFxRn91l4sE1pIaN P/hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767966281; x=1768571081; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=h9KAGzffhLwgZtEGqvIhJp5ztHd8BXXtK9/Mqf8WQC8=; b=G4Nr6w9J5zWmesV+uvUi1N4kSSzm9Pg8wBRkdWHuMNdNJnP34Z7G17WlfalEObhaMa NYO8zCkxlrcme8nmVlaIaxKrQggR76O6BfmDu8iMLYRjFNSasLHHN9WrDh8PCosBCWQb Y05OaR074dACk++71o2d/UofltZ3rPa3WZ/A+jhLbTC24ZU7dCqgZ0kqUovj+YVhfz01 y3O8TYXwNRK2Yx/AEw3Xg9w2BUqTTlYogqXlGuo4pskZ8ovXPlwkX7gW79gXZlu/WFN2 WrLiNQPsUSRZ/h0RuQ3Q+Wp92I4ZP3DoV7L+1Tk/lqZ85+pNOYl9lBLmCSVNl4RooSCl bKcQ== X-Gm-Message-State: AOJu0Yw/bnisA4ftP7RJ/yLBhF9l1heSkJFYE/wDMosTD34sXyj3GMtE ovfRKbLoTXH41cRRk5hH8NCZkR8ZUoumVc39eY/huk1yaGU3Y6HszeDhLkfdYg== X-Gm-Gg: AY/fxX6K4M83DsHvBPe1qRq1GACnNHuWao7tM8DQZ7Ly9diOgmf3Nfn5ZEJNu0W9Yv0 sUJv9r3KlEqu0EKS8elb6F10zMKziaqhGoje+OMBHQ9d2Qrvp8MeNmEva21hpaubT9nwbQ5hQna SwweBqgHKXu8O63qPWbi09Q7NClJXp8sHlTP+xP1o29p6nli/cLDGTuYLvXvRQcCNqw+HuA6GYT 9rPKs8e2m7jPMgxOoCHuqab89Uj185u0iaXnSyq/LfrAkWspbwBJQh7j5eCb2Zvbl/y9VV2P3sl sss2XNCkEg4thtsYNKARFySr3LUrRk5q/KupQC9H9wS+CyEP+0BaNa3SodOOSd+DV69tIdmyZlu Yp2BgAUyibrCWuSv7Djo/ZUEdj/4fdbiAafdmmFu8O07zXO1/+2ltkHwUDp7o1KDTwJMhAXgHJ7 Nry+5zQSdcviAKlYRu5NX3siMlXLmyQWCBnCkyT/IOmwLCbUyHIfdtDqd86jQLB33w X-Google-Smtp-Source: AGHT+IGM8KlvuOEj2l6wbPBLsHAhqqd75ebW2krjPuvGemmsc0Zci5UJFpJTLkAibIHRVq3tqoO+gQ== X-Received: by 2002:a05:6000:1448:b0:430:fd60:940f with SMTP id ffacd0b85a97d-432c363351fmr11796354f8f.14.1767966280954; Fri, 09 Jan 2026 05:44:40 -0800 (PST) Received: from localhost (brnt-04-b2-v4wan-170138-cust2432.vm7.cable.virginm.net. [94.175.9.129]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-432bd0dadcfsm22392537f8f.3.2026.01.09.05.44.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 05:44:40 -0800 (PST) From: Stafford Horne To: LKML Cc: Linux OpenRISC , Stafford Horne , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonas Bonn , Stefan Kristiansson , Masahiro Yamada , devicetree@vger.kernel.org Subject: [PATCH v3 5/6] openrisc: dts: Split simple smp dts to dts and dtsi Date: Fri, 9 Jan 2026 13:43:56 +0000 Message-ID: <20260109134409.2153333-6-shorne@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260109134409.2153333-1-shorne@gmail.com> References: <20260109134409.2153333-1-shorne@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Split out the common memory, CPU and PIC definitions of the simple SMP system to a DTSI file which we will later use for our De0 Nano multicore board device tree. We also take this opportunity to swich underscores to dashes as that seems to be the more common convention for DTS files. Signed-off-by: Stafford Horne --- Since v2: - Sort blocks alphabetically. arch/openrisc/boot/dts/simple-smp.dts | 25 +++++++++++++++++++ .../dts/{simple_smp.dts =3D> simple-smp.dtsi} | 11 ++++---- arch/openrisc/configs/simple_smp_defconfig | 2 +- 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 arch/openrisc/boot/dts/simple-smp.dts rename arch/openrisc/boot/dts/{simple_smp.dts =3D> simple-smp.dtsi} (90%) diff --git a/arch/openrisc/boot/dts/simple-smp.dts b/arch/openrisc/boot/dts= /simple-smp.dts new file mode 100644 index 000000000000..01cf219e6aac --- /dev/null +++ b/arch/openrisc/boot/dts/simple-smp.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0 + +/dts-v1/; + +#include "simple-smp.dtsi" + +/ { + model =3D "Simple SMP Board"; +}; + +&cpu0 { + clock-frequency =3D <20000000>; +}; + +&cpu1 { + clock-frequency =3D <20000000>; +}; + +&enet0 { + status =3D "okay"; +}; + +&serial0 { + clock-frequency =3D <20000000>; +}; diff --git a/arch/openrisc/boot/dts/simple_smp.dts b/arch/openrisc/boot/dts= /simple-smp.dtsi similarity index 90% rename from arch/openrisc/boot/dts/simple_smp.dts rename to arch/openrisc/boot/dts/simple-smp.dtsi index 71af0e117bfe..42d6eda33b71 100644 --- a/arch/openrisc/boot/dts/simple_smp.dts +++ b/arch/openrisc/boot/dts/simple-smp.dtsi @@ -1,4 +1,3 @@ -/dts-v1/; / { compatible =3D "opencores,or1ksim"; #address-cells =3D <1>; @@ -22,15 +21,15 @@ memory@0 { cpus { #address-cells =3D <1>; #size-cells =3D <0>; - cpu@0 { + + cpu0: cpu@0 { compatible =3D "opencores,or1200-rtlsvn481"; reg =3D <0>; - clock-frequency =3D <20000000>; }; - cpu@1 { + + cpu1: cpu@1 { compatible =3D "opencores,or1200-rtlsvn481"; reg =3D <1>; - clock-frequency =3D <20000000>; }; }; =20 @@ -57,7 +56,6 @@ serial0: serial@90000000 { compatible =3D "opencores,uart16550-rtlsvn105", "ns16550a"; reg =3D <0x90000000 0x100>; interrupts =3D <2>; - clock-frequency =3D <20000000>; }; =20 enet0: ethoc@92000000 { @@ -65,5 +63,6 @@ enet0: ethoc@92000000 { reg =3D <0x92000000 0x800>; interrupts =3D <4>; big-endian; + status =3D "disabled"; }; }; diff --git a/arch/openrisc/configs/simple_smp_defconfig b/arch/openrisc/con= figs/simple_smp_defconfig index 6008e824d31c..db77c795225e 100644 --- a/arch/openrisc/configs/simple_smp_defconfig +++ b/arch/openrisc/configs/simple_smp_defconfig @@ -20,7 +20,7 @@ CONFIG_SLUB=3Dy CONFIG_SLUB_TINY=3Dy CONFIG_MODULES=3Dy # CONFIG_BLOCK is not set -CONFIG_BUILTIN_DTB_NAME=3D"simple_smp" +CONFIG_BUILTIN_DTB_NAME=3D"simple-smp" CONFIG_SMP=3Dy CONFIG_HZ_100=3Dy CONFIG_OPENRISC_HAVE_SHADOW_GPRS=3Dy --=20 2.51.0 From nobody Sat Feb 7 21:08:17 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FF0935BDC9 for ; Fri, 9 Jan 2026 13:44:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966293; cv=none; b=F5i1/L+lL7Y4NsBOUgeEBPrLuxDiErASlCxN3rQrvQgwz6G8et4Ms3krjvJ7htH9iTTSDHw1+3FKc4DM46lQvGVZDMVzr5ydzT/PNUC7v76KKP9o9oyRBoVlz+r6Si9CaA0F7pRLZAQr2ahh2QdDOK4SwJOb9JD+8vmrIkutRxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767966293; c=relaxed/simple; bh=un/mmc47M7TzaiskJcRDfyxuLNhftyXJQ1e6SZgvuK4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=u0OddQl3X77jKaUh19Tp3IlOMxGrQAKeXvaUxEwezIiqzj2kMsnntGNpIO1dfs0LGvA0iiEVIz0JxT2FYhMWbHM3Hx6PkPQ52sN5Ubj8hCc2DGGELyK9KmryWMm21bUEN96nawJuf6Qlh94t4IN2np4xl/Awj9uuqj32veDkiTE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BNbkOVHJ; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BNbkOVHJ" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4779adb38d3so30073145e9.2 for ; Fri, 09 Jan 2026 05:44:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767966287; x=1768571087; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3suL/FJnULndAdzhv6eYWlf/ToXJG1zAeBlGIDXgmts=; b=BNbkOVHJuM61hroXQEUf4tD48fdrMj44dVqg4T6q4U9EvvVQRlOkdE8wzTCpnJaNL8 Gu6npJEFb293fzL/xFAxCJ+kzX0X2TznpGaMsdZar5PN+u8/xx1fDi5xZpFbLKNli/i8 A1mb20iL/2wfKuQU+2rLEAH5R58pIrqGIyUtM8ZtNUIi7GDkTgP08XTzxU8wh0HxFgmD 0efbJUCAsnB2P+DaGvrgwfRr9DOgD4Lcgn+cKlig3+Lqtkqjfyv87dhMwirOQKBdL/vy IyKCi9oqm73Pk3onII2w7JOnKlHIeRuLpmyPq7sHtj6d3NUiz1mduzq3+XPCS4Lhwcbx EuRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767966287; x=1768571087; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3suL/FJnULndAdzhv6eYWlf/ToXJG1zAeBlGIDXgmts=; b=BXnR1BHv9dVq7FBpkOgZrW/PnFCiWltuejSfmSsB8zo48xuKps5DtSNxyS7NA9B2UR 58pmfkjaULFumUMQJ3ss9lRf5H+FM/ymsDFPB537ZXFmNUSGpLJCo1fEEs3fJ+CPsEI9 L6qWsvGsNajJfVEm86C8J9cmir3VHXRjfmpN1jEiL7LWG191rOhzJeu/MZwzP1jq5H+h mVbuSl7Sr8lY1VOLXkqS3q3KgxW02qVnCGFOsMhceeNRWgDA7jmF7OyrDGWOCZ9PhuiM QTpBeQcY2nZqE1Sb6lu1nn7zjbF2qqv46Yk2xHLuJggKMC+yjo3Y1u5QrjPuEnwmOHt+ IZ1Q== X-Gm-Message-State: AOJu0YxHvMqhwi1uxiBOzdwyfyeQiuq52Nv9NgJWsgBGQ9yxP1k0NCPD 7zAY05S3/N8Im2GsgMZmJ8lHBcsl5ctV1K9Gu69Iaypr6gkXzufwHS7GuzHIdw== X-Gm-Gg: AY/fxX5SsKi7XWVSY8LUf4h3R+pgL9mufZyUKFc9KfO8pqV0j0anxkfDtJCEUmOKCB4 ZPm1rPJ8iaZaymSM4or4sbCsWgJnuRktqhlKNG98hKnqWKCySu7TiTLl76DTsxQlswr3KwX3Gcu Zl1eLgWANGKcIVZyUEJ241TL1jeHhwU/8NEAwOgcfFTVvWPaR18F3OTHvmAaEDlIH67SZwweooQ Z4fkuQsQEs57A2s/mUL3LTfr+tcmBem/dIW5ZOn55fyQ8FdKEHr1nsBn3FZv7DgLej8sRsrmwmS 5o63v4XekPc5vHWTjpISi+gYwxEiaacurEY7L/D2h9OX5aamiAvkEAuWxP8J8B0CgfMcytkdwkz 2JAWHUuphbR+lv7mK+2OnjEiq91SGHquEiuh3mOGqoQCFLil5Da6BfB5kWEZxt+V0OjGR/PemnY VcsI9oQMomloDGhssqLwvWxG/SUaJlAE+pizdO3mvfr2LVAPtOLaXF5iZPFRkEY2kz X-Google-Smtp-Source: AGHT+IE99p/CLtv5Zj8y/txZ2Wbbjq0dZuLvZFBHO9UfljnaNFb8iqcEoGGSdqeGjdp54IRzV0pUjw== X-Received: by 2002:a05:600c:83c7:b0:479:3a86:dc1c with SMTP id 5b1f17b1804b1-47d84b52e31mr108307525e9.36.1767966286873; Fri, 09 Jan 2026 05:44:46 -0800 (PST) Received: from localhost (brnt-04-b2-v4wan-170138-cust2432.vm7.cable.virginm.net. [94.175.9.129]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d8636cb0dsm73838105e9.0.2026.01.09.05.44.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 05:44:45 -0800 (PST) From: Stafford Horne To: LKML Cc: Linux OpenRISC , Stafford Horne , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonas Bonn , Stefan Kristiansson , devicetree@vger.kernel.org Subject: [PATCH v3 6/6] openrisc: dts: Add de0 nano multicore config and devicetree Date: Fri, 9 Jan 2026 13:43:57 +0000 Message-ID: <20260109134409.2153333-7-shorne@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260109134409.2153333-1-shorne@gmail.com> References: <20260109134409.2153333-1-shorne@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a multicore configuration for the Terasic de0 nano FPGA development board. This SoC runs 2 OpenRISC CPUs at 50Mhz with 32MB ram, UART for console and GPIOs for LEDs. This FPGA SoC is based on the simple-smp reference board and brings in devices from the de0 nano common DTSI file. A default config is added that brings together the device tree and driver setup. Link: https://github.com/stffrdhrn/de0_nano-multicore Signed-off-by: Stafford Horne --- arch/openrisc/boot/dts/de0-nano-multicore.dts | 25 +++++ .../configs/de0_nano_multicore_defconfig | 92 +++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 arch/openrisc/boot/dts/de0-nano-multicore.dts create mode 100644 arch/openrisc/configs/de0_nano_multicore_defconfig diff --git a/arch/openrisc/boot/dts/de0-nano-multicore.dts b/arch/openrisc/= boot/dts/de0-nano-multicore.dts new file mode 100644 index 000000000000..b6cf286afaa4 --- /dev/null +++ b/arch/openrisc/boot/dts/de0-nano-multicore.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include + +/dts-v1/; + +#include "simple-smp.dtsi" +#include "de0-nano-common.dtsi" + +/ { + model =3D "Terasic DE0 Nano - Multicore"; +}; + +&cpu0 { + clock-frequency =3D <50000000>; +}; + +&cpu1 { + clock-frequency =3D <50000000>; +}; + +&serial0 { + clock-frequency =3D <50000000>; +}; diff --git a/arch/openrisc/configs/de0_nano_multicore_defconfig b/arch/open= risc/configs/de0_nano_multicore_defconfig new file mode 100644 index 000000000000..d33b1226e09c --- /dev/null +++ b/arch/openrisc/configs/de0_nano_multicore_defconfig @@ -0,0 +1,92 @@ +CONFIG_LOCALVERSION=3D"-de0nano-smp" +CONFIG_SYSVIPC=3Dy +CONFIG_POSIX_MQUEUE=3Dy +CONFIG_NO_HZ=3Dy +CONFIG_LOG_BUF_SHIFT=3D14 +CONFIG_BLK_DEV_INITRD=3Dy +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_EXPERT=3Dy +# CONFIG_EPOLL is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +CONFIG_KALLSYMS_ALL=3Dy +CONFIG_DCACHE_WRITETHROUGH=3Dy +CONFIG_BUILTIN_DTB_NAME=3D"de0-nano-multicore" +CONFIG_OPENRISC_HAVE_INST_CMOV=3Dy +CONFIG_SMP=3Dy +CONFIG_HZ_100=3Dy +CONFIG_JUMP_LABEL=3Dy +# CONFIG_BLOCK is not set +CONFIG_SLUB_TINY=3Dy +# CONFIG_COMPAT_BRK is not set +# CONFIG_VM_EVENT_COUNTERS is not set +CONFIG_NET=3Dy +CONFIG_PACKET=3Dy +CONFIG_UNIX=3Dy +CONFIG_UNIX_DIAG=3Dy +CONFIG_INET=3Dy +CONFIG_IP_MULTICAST=3Dy +CONFIG_TCP_CONG_ADVANCED=3Dy +# CONFIG_TCP_CONG_BIC is not set +# CONFIG_TCP_CONG_CUBIC is not set +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=3Dy +CONFIG_DEVTMPFS_MOUNT=3Dy +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +CONFIG_NETDEVICES=3Dy +CONFIG_ETHOC=3Dy +CONFIG_MICREL_PHY=3Dy +# CONFIG_WLAN is not set +# CONFIG_INPUT is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=3Dy +CONFIG_SERIAL_8250_CONSOLE=3Dy +CONFIG_SERIAL_OF_PLATFORM=3Dy +# CONFIG_HW_RANDOM is not set +CONFIG_GPIO_SYSFS=3Dy +# CONFIG_GPIO_CDEV_V1 is not set +CONFIG_GPIO_GENERIC_PLATFORM=3Dy +# CONFIG_HWMON is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_NEW_LEDS=3Dy +CONFIG_LEDS_CLASS=3Dy +CONFIG_LEDS_GPIO=3Dy +CONFIG_LEDS_TRIGGERS=3Dy +CONFIG_LEDS_TRIGGER_TIMER=3Dy +CONFIG_LEDS_TRIGGER_ONESHOT=3Dy +CONFIG_LEDS_TRIGGER_HEARTBEAT=3Dy +CONFIG_LEDS_TRIGGER_CPU=3Dy +CONFIG_LEDS_TRIGGER_ACTIVITY=3Dy +CONFIG_LEDS_TRIGGER_GPIO=3Dy +CONFIG_LEDS_TRIGGER_DEFAULT_ON=3Dy +CONFIG_LEDS_TRIGGER_TRANSIENT=3Dy +CONFIG_LEDS_TRIGGER_PANIC=3Dy +CONFIG_LEDS_TRIGGER_NETDEV=3Dy +CONFIG_LEDS_TRIGGER_PATTERN=3Dy +CONFIG_LEDS_TRIGGER_TTY=3Dy +# CONFIG_DNOTIFY is not set +CONFIG_TMPFS=3Dy +CONFIG_NFS_FS=3Dy +CONFIG_XZ_DEC=3Dy +CONFIG_PRINTK_TIME=3Dy +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=3Dy +CONFIG_GDB_SCRIPTS=3Dy +CONFIG_VMLINUX_MAP=3Dy +CONFIG_HARDLOCKUP_DETECTOR=3Dy +CONFIG_WQ_WATCHDOG=3Dy +CONFIG_WQ_CPU_INTENSIVE_REPORT=3Dy +CONFIG_STACKTRACE=3Dy +CONFIG_RCU_CPU_STALL_CPUTIME=3Dy +# CONFIG_RCU_TRACE is not set --=20 2.51.0