From nobody Sun Jun 21 14:00:43 2026 Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (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 84EB63E5EC2 for ; Mon, 15 Jun 2026 12:04:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781525043; cv=none; b=qftIiRHDLG+1Pl73Umq/rbR/yMDQmr6DBI33H/Z2/NZ3B2V+4QneozO++JR+934ZV4RiiWZggfzwX1/M8+QOlrLv3r8n1a1avygUt/jJAUe1FGFMjwkDqQKsaAbAJnfenk4fsFEPWRs8LhDpCrB20IokbU27S+8UM/M0+4NdK/8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781525043; c=relaxed/simple; bh=Ft08IgUXh4oNU8ppJ65OFIwc+1F6KgXGqX4eecDpO14=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QS5BttIQY0liXr2YcwwdpTuatSW4lxZEZ8Q3c2FH1BZAAc6+UUyoM6GGCJPMnjPTL6ylACrosllSMPgGlA53kKTvAvtCe24YyXb+1S+oDUPKFVW/uJd7gXmbjaIpVODBf/JGtTSkL381UzLb5pC57Ml+eAo9PkFCVIoDsraxJ/E= 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=HWQljYI4; arc=none smtp.client-ip=209.85.222.180 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="HWQljYI4" Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-915d64fead9so434546885a.0 for ; Mon, 15 Jun 2026 05:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781525040; x=1782129840; 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=rLsSPyO0xdRuHjYZ1xItpqNCAh/cCNAbIOIeLrTOYo8=; b=HWQljYI4UXTcSfYtO9ue1CKQA59oOIODvrYFJpH3afRL6V4nFcgE4ROetvveLfNc2r W8DbUQ13nRna114yaZ14nCwBNxRZcos4/u0CyQOEbJo20iADQ9LeDUeeJuWGolQaOIdD LMHitugxpFuE3esNyKeIGVTjYcl5+qW0+5YqgZ9wfLvDo5bndhRPcsnc1gM8qoHZl+bP sARfwk6obsfJ48/LzeQQxlE1/8xNZkPuG6Dg5ITdnfw7fF5HTY0bkv4WGDzflrlC4RL3 2moDsCv9tOfDjqThz2TC2+hVFkUE68Qlk4hW1Un48hu26d6LbIpdY/lZIL+cv+LIAyEj P+XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781525040; x=1782129840; 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=rLsSPyO0xdRuHjYZ1xItpqNCAh/cCNAbIOIeLrTOYo8=; b=MVdHjCJMvrZxrkPnXikptP03GHpGSjUJUv7Fk2BA4K5tLeds/xWFw+iCUqr2AjrYe1 46IzTZ3vGdvGC4SRoz8qotcgVFRjmO3qcDPzEpU1sN6wCDYhSAs+JbNwKRvOZllZ91CL bfvH0kGrkyai1hdmYfzENCXUmLK/0IqxLEFQY3yd3mgsKjmq/bX0fiDj5we6XMBDk/SP r/E99d5/VsLBwMgWDojDKwfT9l9WwSYhvMDanOx8QemE7IoRZqfUdVimX6HZr6fmzp5E Oaoivh39UR07pA12LyD7cAfhi6QXzZoB+cfe7GgJPiH79zy/6jIKMbABJyoba7146pgP T7Mw== X-Forwarded-Encrypted: i=1; AFNElJ9znyAentRjNr7GFKV971gunYMXN1+VtrYnNuxMvZTmhVHy/Oc2xK1gASteYIZcxybBQ4YjEnZieU46nig=@vger.kernel.org X-Gm-Message-State: AOJu0YwLvwoIft2R9STIkPUXXQqG7VxKdSotLA+FI7ue7ObtHFtXZn8Y asTksH5O6UHX94k/7dJnNZ3T0U1YNkNQsc2DNPunsElo80NmyZ5RDEgR X-Gm-Gg: Acq92OE0FwW6LyjGRPyV2TusNS8xgDbXXKZyjvZsoW5rKedvmBdkXLfSIX9TuE/i5gx 7fNqD8xGAcNReAMHJmwRx9nY2/Zvm9B0Lkf/+fZchc8SIzwqboJZ7ayItuYlkWLoNssChTq5DjL yGB+DSAc9VunbAiZS/o40IapIEu91JFZAmMNB29c/RSE+mzuFIbQrFRfOCDggmQMuXVtgOj05Tu ZfsoUT5zFsaq9q62EcE4wwKfRIP0oM9YDmdTWr74lovOUhSOnnJqot2oGAoi9g4iRpEh1RjhWsO Plg4TgrS215V1Txl40Afm/RH4UYOIE00+AMkz6qTypzYjZW04J2jiwBPFw/NILKp7Mz7FVFwitM 9sGC7wk8V1Nm1PMpbFuyqUvCemPa7O/E/EkbLEG7z7fQIN77K1k1i8RsyHxcjHnmHGfSXZb2Qh0 MJ9B3mMjVeHpYeaza9ZSWpGTcdgGmqMtXc0Sl4qQFbWyXBMR3X/FFX04AH X-Received: by 2002:a05:622a:1e92:b0:513:e686:b361 with SMTP id d75a77b69052e-517fed37c66mr172462931cf.2.1781525040526; Mon, 15 Jun 2026 05:04:00 -0700 (PDT) Received: from sleek (d-23-244-200-70.nh.cpe.atlanticbb.net. [23.244.200.70]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-51975955956sm25184311cf.17.2026.06.15.05.03.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jun 2026 05:04:00 -0700 (PDT) From: Joshua Milas To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, pjw@kernel.org, chen.wang@linux.dev, inochiama@gmail.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, liujingqi@lanxincomputing.com, alexander.sverdlin@gmail.com, rabenda.cn@gmail.com, hanguidong02@gmail.com Cc: josh.milas@gmail.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, sophgo@lists.linux.dev, michael.opdenacker@rootcommit.com Subject: [PATCH v6 1/3] arm64: dts: sophgo: add initial Milk-V Duo S board support Date: Mon, 15 Jun 2026 08:03:22 -0400 Message-ID: <20260615120324.1527881-2-josh.milas@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260615120324.1527881-1-josh.milas@gmail.com> References: <20260615120324.1527881-1-josh.milas@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" Adds initial arm64 support for the Milk-V Duo S board [1] making it possible to boot Linux to the command line. Link: https://milkv.io/duo-s [1] Signed-off-by: Joshua Milas --- arch/arm64/boot/dts/sophgo/Makefile | 1 + .../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 245 ++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts diff --git a/arch/arm64/boot/dts/sophgo/Makefile b/arch/arm64/boot/dts/soph= go/Makefile index 94f52cd7d994..68aace728223 100644 --- a/arch/arm64/boot/dts/sophgo/Makefile +++ b/arch/arm64/boot/dts/sophgo/Makefile @@ -1,2 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_SOPHGO) +=3D sg2000-milkv-duo-module-01-evb.dtb +dtb-$(CONFIG_ARCH_SOPHGO) +=3D sg2000-milkv-duo-s.dtb diff --git a/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts b/arch/arm64= /boot/dts/sophgo/sg2000-milkv-duo-s.dts new file mode 100644 index 000000000000..f56bfddeacc4 --- /dev/null +++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts @@ -0,0 +1,245 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) + +/dts-v1/; + +#include +#include "sg2000.dtsi" + +/ { + model =3D "Milk-V Duo S"; + compatible =3D "milkv,duo-s", "sophgo,sg2000"; + + aliases { + i2c4 =3D &i2c4; + mmc0 =3D &sdhci0; + mmc1 =3D &emmc; + mmc2 =3D &sdhci1; + serial0 =3D &uart0; + serial4 =3D &uart4; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&porta 15 GPIO_ACTIVE_LOW>; + power-off-delay-us =3D <50000>; + post-power-on-delay-ms =3D <200>; + }; +}; + +&osc { + clock-frequency =3D <25000000>; +}; + +&pinctrl { + emmc_cfg: emmc-cfg { + emmc-rstn-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + emmc-clk-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + emmc-cmd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + emmc-data-pins { + pinmux =3D , + , + , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + }; + + i2c4_cfg: i2c4-cfg { + i2c4-pins { + pinmux =3D , + ; + bias-pull-up; + drive-strength-microamp =3D <4000>; + power-source =3D <1800>; + }; + }; + + sdhci0_cfg: sdhci0-cfg { + sdhci0-cd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + + sdhci0-clk-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <16100>; + power-source =3D <3300>; + }; + + sdhci0-cmd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + + sdhci0-data-pins { + pinmux =3D , + , + , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + }; + + sdhci1_cfg: sdhci1-cfg { + sdhci1-clk-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + sdhci1-cmd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + sdhci1-data-pins { + pinmux =3D , + , + , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + }; + + uart0_cfg: uart0-cfg { + uart0-pins { + pinmux =3D , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + }; + + uart4_cfg: uart4-cfg { + uart4-data-pins { + pinmux =3D , + ; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + + uart4-control-pins { + pinmux =3D , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + }; +}; + +&dmac { + status =3D "okay"; +}; + +&emmc { + bus-width =3D <4>; + no-1-8-v; + cap-mmc-hw-reset; + no-sd; + no-sdio; + non-removable; + pinctrl-0 =3D <&emmc_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&gmac0 { + status =3D "okay"; +}; + +&i2c4 { + pinctrl-0 =3D <&i2c4_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&mdio { + status =3D "okay"; +}; + +&saradc { + status =3D "okay"; +}; + +&sdhci0 { + bus-width =3D <4>; + disable-wp; + no-1-8-v; + pinctrl-0 =3D <&sdhci0_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&sdhci1 { + bus-width =3D <4>; + cap-sdio-irq; + cap-sd-highspeed; + keep-power-in-suspend; + no-mmc; + no-sd; + non-removable; + max-frequency =3D <150000000>; + mmc-pwrseq =3D <&wifi_pwrseq>; + pinctrl-0 =3D <&sdhci1_cfg>; + pinctrl-names =3D "default"; + sd-uhs-sdr50; + sd-uhs-sdr104; + status =3D "okay"; +}; + +&uart0 { + pinctrl-0 =3D <&uart0_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&uart4 { + pinctrl-0 =3D <&uart4_cfg>; + pinctrl-names =3D "default"; + uart-has-rtscts; + status =3D "okay"; +}; + +&usb { + dr_mode =3D "host"; + status =3D "okay"; +}; + --=20 2.54.0 From nobody Sun Jun 21 14:00:43 2026 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) (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 9A2FF3E5A3A for ; Mon, 15 Jun 2026 12:04:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781525052; cv=none; b=HK2bMgeVKoRJMZWvnaSQqlGPW5KmW5zQq6nEn/SLhchUROH87g7zRRvBzuS+nCMrSA9FlJ/02LKjHdiTEjOO3OOM/Y/Zs25HBRj7yBOV0GSu2uYFzwxnh8ZzbIcLKSgX818sRfIyYPIBdFW60pXe//Bbz1zz579/PiA0fftPfQ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781525052; c=relaxed/simple; bh=iRWUrA+FeoABsmVJudqAy1L3BhEakdG0HfrnY40ToaU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kAFdd/RnYsaOK8UvT1QlnN8UD9lHCgU1LxxiWMQ6oSqYEQ7BuiwfjI0TnjjRvBSUMp/DKzhe8EbuWXw28lGEbw54KsTM9siU75qwQi+mdwdGY7VeX1YPy5y1Ihj++ANbE1o9XwS8EldmRhlvYrNOx4srJ7/USWo2HrpwPTJXVtk= 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=CQ0ONlkA; arc=none smtp.client-ip=209.85.160.178 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="CQ0ONlkA" Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-51788280e71so37662421cf.0 for ; Mon, 15 Jun 2026 05:04:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781525051; x=1782129851; 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=gRwZTT2w4p8NYfNQ0Ipiacgsycn8UzShxm+qaAwvLsw=; b=CQ0ONlkA5rHj/7ruaw5LxPZKfM4PWSQxZF74yAZu8qJT+UAAyoWtqkHISqzLKcsmPS VQQo32V0w1WYQft7QhFFEXTdTvpGyBNOYG7OdQHD2ailKqNzzcgve52g5/S4z+uxZuBk jAVnkYKoGuUKI2XwZXV8iM7rc5zij/wMCqZJoxbtaPhmVdcDIBQ/P+nfXmIg/gl4uaXw 1UsjU+vuzGisD2AWjx2aWh37ieQNpEdiV6mpBxMcYbiSy3vIQYkmvR2lpfutJx77i2dZ Zuy2QZ7tqyYwPV12n0+oUoiCbUwpRYM9F339F445UQSmxNaz3cnc/4jtsLiZ/OZreaX1 RPpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781525051; x=1782129851; 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=gRwZTT2w4p8NYfNQ0Ipiacgsycn8UzShxm+qaAwvLsw=; b=BELb74V8oyeiqfHMazbwsQDR6AG5kfITi6QqbceKdKjpG+DXZIpKWBZ9ehNW2EQKFr 4nlsp3z8Z8Oj8miZD5eCKju6NzPqCbAxLBPPZ1VWewAlRbzQv9HZs311R+5pTmrtzfWc /vw1oDmG+eprw/fTZlmArVntje10n7Qm1NXU4O+kT29fz8FdJB1NoM6Zyqk2LT5fktap UxDwhiVo3H/0cydwBlqOa+G4T6ze99vJ62uQGAePm3bHFljXKDkKd+Mciii+sU3jVWoC Ym2oFb8egHlOdniAgut3h077Mkk8u3T2PvT03FH2METoTEZAJxWMT0ymNnpznJKELCh1 ydHg== X-Forwarded-Encrypted: i=1; AFNElJ/pazrhwt9fLIV9gmQhFwKSAvGFdXZqpVEiwxJeh16AY5Up2ilSufSqx3YGKFHmu9nHmyGgp5glDZQ9+hI=@vger.kernel.org X-Gm-Message-State: AOJu0YzsyhIplfUgmWbWFCExmke1BbAIyeOwBU/BTmeIIbSk/KcYnZIX 7qifJFwUwdSxupAcHuk0gfCY6qrKP7VKSAoZ6iN6yPhsvw5VpsoVFFrz X-Gm-Gg: Acq92OFfBJVfcxPT/fh/yoJ3Uh4duNqK1U6Pk/LGCLl7WOUfANJ+U//EUX7kidc0AhL O4/R6Z5r99SWBRTFYGffYX4/KSmUEzjByRexLaJQFzpnEuwpvADZJrWvSD2wfdFEZcPXtTUB+zj 9TV/6wZsqiq3bF1ZpznsI4bprhu+wGc6Mrpox1VKT847VH/8xqvvuCO1hP/vkfXn6CALvJy2RfK erHRqdvJScPzmw1oDqHUiLCXINR/IiWcKjNsnFSOlThjqSvK/WMzdjT+ojG99OskqwqDJLgNFLl qUYp8RHbx0QL43aJCh10FFsZLR1oGqkYBjSRp9nSA1Gn4WzjRXxoWiDeNDEtqbtOtfvYnoCbrAe xXg2St1bX3uR/4lHI5ZfGhppi2WtdnWdKE9MltYV8TOSoclRI95YQoGo49ymDCboeBmpTFvyIoH yqD7XbKGFdxINtTEUvR/0PxXqd0/VdhJy8bi1PENOd9H7QCclNrXGLovXR X-Received: by 2002:a05:622a:1191:b0:517:5b2c:6aae with SMTP id d75a77b69052e-517fe1de684mr198345971cf.13.1781525050315; Mon, 15 Jun 2026 05:04:10 -0700 (PDT) Received: from sleek (d-23-244-200-70.nh.cpe.atlanticbb.net. [23.244.200.70]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-51975955956sm25184311cf.17.2026.06.15.05.04.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jun 2026 05:04:10 -0700 (PDT) From: Joshua Milas To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, pjw@kernel.org, chen.wang@linux.dev, inochiama@gmail.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, liujingqi@lanxincomputing.com, alexander.sverdlin@gmail.com, rabenda.cn@gmail.com, hanguidong02@gmail.com Cc: josh.milas@gmail.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, sophgo@lists.linux.dev, michael.opdenacker@rootcommit.com Subject: [PATCH v6 2/3] riscv64: dts: sophgo: add SG2000 dtsi Date: Mon, 15 Jun 2026 08:03:23 -0400 Message-ID: <20260615120324.1527881-3-josh.milas@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260615120324.1527881-1-josh.milas@gmail.com> References: <20260615120324.1527881-1-josh.milas@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" Adds sg2000.dtsi on the RISCV side. Signed-off-by: Joshua Milas Tested-by: Gui-Dong Han Reviewed-by: Gui-Dong Han --- arch/riscv/boot/dts/sophgo/sg2000.dtsi | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 arch/riscv/boot/dts/sophgo/sg2000.dtsi diff --git a/arch/riscv/boot/dts/sophgo/sg2000.dtsi b/arch/riscv/boot/dts/s= ophgo/sg2000.dtsi new file mode 100644 index 000000000000..38462769574f --- /dev/null +++ b/arch/riscv/boot/dts/sophgo/sg2000.dtsi @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) + +#define SOC_PERIPHERAL_IRQ(nr) ((nr) + 16) + +#include +#include +#include "cv180x-cpus.dtsi" +#include "cv180x.dtsi" +#include "cv181x.dtsi" + +/ { + compatible =3D "sophgo,sg2000"; + + memory@80000000 { + device_type =3D "memory"; + reg =3D <0x80000000 0x20000000>; + }; + + soc { + interrupt-parent =3D <&plic>; + dma-noncoherent; + + pinctrl: pinctrl@3001000 { + compatible =3D "sophgo,sg2000-pinctrl"; + reg =3D <0x03001000 0x1000>, + <0x05027000 0x1000>; + reg-names =3D "sys", "rtc"; + }; + + clk: clock-controller@3002000 { + compatible =3D "sophgo,sg2000-clk"; + reg =3D <0x03002000 0x1000>; + clocks =3D <&osc>; + #clock-cells =3D <1>; + }; + + plic: interrupt-controller@70000000 { + compatible =3D "sophgo,sg2000-plic", "thead,c900-plic"; + reg =3D <0x70000000 0x4000000>; + interrupts-extended =3D <&cpu0_intc 11>, <&cpu0_intc 9>; + interrupt-controller; + #address-cells =3D <0>; + #interrupt-cells =3D <2>; + riscv,ndev =3D <101>; + }; + + clint: timer@74000000 { + compatible =3D "sophgo,sg2000-clint", "thead,c900-clint"; + reg =3D <0x74000000 0x10000>; + interrupts-extended =3D <&cpu0_intc 3>, <&cpu0_intc 7>; + }; + }; +}; --=20 2.54.0 From nobody Sun Jun 21 14:00:43 2026 Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) (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 DF4C03E5EDA for ; Mon, 15 Jun 2026 12:04:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781525059; cv=none; b=bZWg5FZO6GyvSOxZDMhdXceD3Kk8T28Cufb7ps0AFbNZio0qtY0Mwkve9i54tL+O3RsWBC7eKAQdCnNcseV9kQSsEUd+OsYdDTVfAZIOMDXpwo3zv5/o17eLRqdsfwh4l2mCw1BRJ4VSsZOmEWvRGlFngTAa+QZ6yQnLoTXIZnc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781525059; c=relaxed/simple; bh=44TbCxTVIe/FzBA8wmIEoz6YwN5izDWzxpNkbmfbrho=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D5QZf1LPGxHYF0A8K/AVUc5O+B/ilAn4k9mRyJdyFkPSrCm3AHCeB83tGk+DLNLArRYWCsFiOtpa11FFoWzf5eRmOd4ILeakWgZ963Ly/wpqNLcDq/6oFSid+tqKkIFXju2h7JJUHAEBLu8mk3pkl9XWUesBj2FH85myl7tLfC8= 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=rqZJDb1G; arc=none smtp.client-ip=209.85.160.176 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="rqZJDb1G" Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-517b1f2c668so36625671cf.2 for ; Mon, 15 Jun 2026 05:04:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781525056; x=1782129856; 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=VaaLk3EgsloTd17mTIl3bCyAeJenYIahR3avArgMblQ=; b=rqZJDb1G2/Or0d9vCbl7JFcQu0+hml+QF/+T/kzWAk4QHplnfN1kibspWeF+gfe7W1 hH/khRyZf8dKuXHPa0uDJNkWukXfHDBVko8eL1ErtEBYnUNALeIc1VAXtKrm9uTZJNkF GBcMHP8mXK2jyvSJJHOq6uJdPHk8W1ltj4zf3YMzW6pxf8YdmxQ+ZdBmt0FhmE7UsdNV A8kytG7babWQcI8KnLPNJXp4IfAutS566wPQTFlWRR/BkKz9sun0QxdG4yIDAmjkA/4i sTbMm08A/46fKaHMdJH5Eg/Gsum3gd2bD7D9DCvRoidn2RCgnrQt5jrloasVjw0QKQUy Du6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781525056; x=1782129856; 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=VaaLk3EgsloTd17mTIl3bCyAeJenYIahR3avArgMblQ=; b=c+j69HQXia2CKCS5I9K0I625RJtP4GALZCYWpULajOboJT6vqs6ksP7BKoYHE/zQIN TIFNdN0nWXbxCMCRc5f3N19PLQCARcsEUVqVAZxhN8qrVhBJSKYIdCdi7nwyWTn7pBRo o5E9MB+yuhl2cQ9BLJ8jYK+fgE2J/+xTi5wJVH0KT1FiO+j9KIZtu8TSeyhLi/L8/4Ho uMJkhjBaqKR0/n/UW/fdD66fuROk0CTKVGmV5JFRjOJ7IbbpjQAoWB5esFix0wNxGMur zad/TiCqGD1ioRTrELr4g0KCsdfsmq8vqqINjAifBKedio0DvKCGijh8g6kBYx6U8Bft 4Z0g== X-Forwarded-Encrypted: i=1; AFNElJ8heTmNfu/Ftc1toJp0KKeYnXsta3N95Wx204dX2bIfJnbraeiJmh1wCbXVDxDbzt+G4SroBvCn2OYXedw=@vger.kernel.org X-Gm-Message-State: AOJu0Yxr9r59QfdtD2oUBIDXnoyXnlA3F99TezQb5rMayEWH1qg1qXBq 9QlS1FSYMWL0IlOwtCeGoSTZsBeb+z1LnR+FPdtxR551E9wcNXJC0JSscoG27yzPZ4YSFw== X-Gm-Gg: Acq92OGIJ20+kevBNZ4mp4CuaIw0gfbqHm3pN9Mn3Zt/K+DrxD/hF5QRhDKSj+ZqVqJ U6xIok1SpYJ6g5uaMuO/udsFAtSMrXONkxKImG2XcoBTJy2Ybpy5T95QEEIT+C/OGHRSkAbK7+G UdgrhOhLyTEOF18+f/IFqbQyyjxE8Gg/oUndMX54BI9iYLvLdkRZG8Fc4Zo22wXxD/x4GlDr1Rs wEZ/pDODPNgx7KsYkiUmrQwd9HEmW+1kz6Mw7rm9ZUFO0FdP8162a6/VHM4X0n2dGnspkXm+mJV FFzNOwxoTnJxx6ZxLJFXPzS65erwmkAy8PN8x93I4yYf1s/am6l+9rPagMkKX/5MAZV1MbQCXg0 TVo0KPGk13A2ZPuNd54OoYAWvVFNgd5gBwFGQ7I1Tzeai5JMOGTGFSNZh/pZCCwcQ2pcr1tbho/ R4B51BsmUNnXvc797dOQlIR8iyn2K348lD5onnYJXIjN/a+or+S1XcfUFu X-Received: by 2002:a05:622a:229f:b0:517:8242:5bc1 with SMTP id d75a77b69052e-517fe200008mr205748761cf.15.1781525055524; Mon, 15 Jun 2026 05:04:15 -0700 (PDT) Received: from sleek (d-23-244-200-70.nh.cpe.atlanticbb.net. [23.244.200.70]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-51975955956sm25184311cf.17.2026.06.15.05.04.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jun 2026 05:04:15 -0700 (PDT) From: Joshua Milas To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, pjw@kernel.org, chen.wang@linux.dev, inochiama@gmail.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, liujingqi@lanxincomputing.com, alexander.sverdlin@gmail.com, rabenda.cn@gmail.com, hanguidong02@gmail.com Cc: josh.milas@gmail.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, sophgo@lists.linux.dev, michael.opdenacker@rootcommit.com Subject: [PATCH v6 3/3] riscv64: dts: sophgo: add initial Milk-V Duo S board support Date: Mon, 15 Jun 2026 08:03:24 -0400 Message-ID: <20260615120324.1527881-4-josh.milas@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260615120324.1527881-1-josh.milas@gmail.com> References: <20260615120324.1527881-1-josh.milas@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" This adds initial riscv support for the Milk-V Duo S board [1] making it possible to boot Linux to the command line. Link: https://milkv.io/duo-s [1] Signed-off-by: Joshua Milas --- arch/riscv/boot/dts/sophgo/Makefile | 1 + .../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 245 ++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts diff --git a/arch/riscv/boot/dts/sophgo/Makefile b/arch/riscv/boot/dts/soph= go/Makefile index 6f65526d4193..58cc6b70d8de 100644 --- a/arch/riscv/boot/dts/sophgo/Makefile +++ b/arch/riscv/boot/dts/sophgo/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_SOPHGO) +=3D cv1800b-milkv-duo.dtb dtb-$(CONFIG_ARCH_SOPHGO) +=3D cv1812h-huashan-pi.dtb +dtb-$(CONFIG_ARCH_SOPHGO) +=3D sg2000-milkv-duo-s.dtb dtb-$(CONFIG_ARCH_SOPHGO) +=3D sg2002-licheerv-nano-b.dtb dtb-$(CONFIG_ARCH_SOPHGO) +=3D sg2042-milkv-pioneer.dtb dtb-$(CONFIG_ARCH_SOPHGO) +=3D sg2042-evb-v1.dtb diff --git a/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts b/arch/riscv= /boot/dts/sophgo/sg2000-milkv-duo-s.dts new file mode 100644 index 000000000000..f56bfddeacc4 --- /dev/null +++ b/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts @@ -0,0 +1,245 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) + +/dts-v1/; + +#include +#include "sg2000.dtsi" + +/ { + model =3D "Milk-V Duo S"; + compatible =3D "milkv,duo-s", "sophgo,sg2000"; + + aliases { + i2c4 =3D &i2c4; + mmc0 =3D &sdhci0; + mmc1 =3D &emmc; + mmc2 =3D &sdhci1; + serial0 =3D &uart0; + serial4 =3D &uart4; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&porta 15 GPIO_ACTIVE_LOW>; + power-off-delay-us =3D <50000>; + post-power-on-delay-ms =3D <200>; + }; +}; + +&osc { + clock-frequency =3D <25000000>; +}; + +&pinctrl { + emmc_cfg: emmc-cfg { + emmc-rstn-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + emmc-clk-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + emmc-cmd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + emmc-data-pins { + pinmux =3D , + , + , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + }; + + i2c4_cfg: i2c4-cfg { + i2c4-pins { + pinmux =3D , + ; + bias-pull-up; + drive-strength-microamp =3D <4000>; + power-source =3D <1800>; + }; + }; + + sdhci0_cfg: sdhci0-cfg { + sdhci0-cd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + + sdhci0-clk-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <16100>; + power-source =3D <3300>; + }; + + sdhci0-cmd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + + sdhci0-data-pins { + pinmux =3D , + , + , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + }; + + sdhci1_cfg: sdhci1-cfg { + sdhci1-clk-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + sdhci1-cmd-pins { + pinmux =3D ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + + sdhci1-data-pins { + pinmux =3D , + , + , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <1800>; + }; + }; + + uart0_cfg: uart0-cfg { + uart0-pins { + pinmux =3D , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + }; + + uart4_cfg: uart4-cfg { + uart4-data-pins { + pinmux =3D , + ; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + + uart4-control-pins { + pinmux =3D , + ; + bias-pull-up; + drive-strength-microamp =3D <10800>; + power-source =3D <3300>; + }; + }; +}; + +&dmac { + status =3D "okay"; +}; + +&emmc { + bus-width =3D <4>; + no-1-8-v; + cap-mmc-hw-reset; + no-sd; + no-sdio; + non-removable; + pinctrl-0 =3D <&emmc_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&gmac0 { + status =3D "okay"; +}; + +&i2c4 { + pinctrl-0 =3D <&i2c4_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&mdio { + status =3D "okay"; +}; + +&saradc { + status =3D "okay"; +}; + +&sdhci0 { + bus-width =3D <4>; + disable-wp; + no-1-8-v; + pinctrl-0 =3D <&sdhci0_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&sdhci1 { + bus-width =3D <4>; + cap-sdio-irq; + cap-sd-highspeed; + keep-power-in-suspend; + no-mmc; + no-sd; + non-removable; + max-frequency =3D <150000000>; + mmc-pwrseq =3D <&wifi_pwrseq>; + pinctrl-0 =3D <&sdhci1_cfg>; + pinctrl-names =3D "default"; + sd-uhs-sdr50; + sd-uhs-sdr104; + status =3D "okay"; +}; + +&uart0 { + pinctrl-0 =3D <&uart0_cfg>; + pinctrl-names =3D "default"; + status =3D "okay"; +}; + +&uart4 { + pinctrl-0 =3D <&uart4_cfg>; + pinctrl-names =3D "default"; + uart-has-rtscts; + status =3D "okay"; +}; + +&usb { + dr_mode =3D "host"; + status =3D "okay"; +}; + --=20 2.54.0