From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (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 211A83D524E for ; Sat, 17 Oct 2026 18:01:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792260119; cv=none; b=IIrpI40nZcSjXUGg75BhsHwOR4RehqVEeZfAtg4nxNFudiTCSwAqChy3Aza/Oebrq1/iB6aqgw2amby1kSR4PZuwFPhK8mfklWl6523oFVwJh3/gpAK2URMnBfIK9NRGse5H3s1V956PyvPbLOjTl03TREatLNaiH2jqu9TAWnI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792260119; c=relaxed/simple; bh=+rJ38hYTReBLGM0i0BEGwwNq1xjdWSYTDMxpDbwZz3w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WuqUtGtRgLdOXgbjAfMGmVUthOc3FmFdZgLlt8V/t+yFNg0WWun30MLIDJDMqkJQ+XrJxTYvtyi5xkIYeS2Te5For7d8uNKFz2o76MPkEBrVvc/zF0EizYrh8Mm7Ufz5Q0Ju0IMXo2bnYlyPnV/TIHCmn6AFmVAn86DVALPqeqI= 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=M1L7H/wI; arc=none smtp.client-ip=209.85.214.172 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="M1L7H/wI" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2e8da6ef7ddso3995735ad.3 for ; Sat, 17 Oct 2026 11:01:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792260115; x=1792864915; 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:content-type; bh=bhMU5YQDF+h0QOZnuRQ0eb4Qi9wFPzDrVlWZL7Jj0pM=; b=M1L7H/wIrYjGpiPZTzkdIP7PsB6lXhhzoQYeizBmExAqNrqf33Pcdv+3/vFzmSQmV4 1vC3/kYFxzxSdCSpWyZcMYD4+lBiHsd+LDw1dJCcU2NuLmEHSgOAZ1ej8nIbcL+/WJGu 8R041Ad4Eq4Ijs8PJbYqwDygfAn55xQzXIrVqobVmmhZoHnZcHHAkT2xhaT3TPh6JeQL ZM8/Fe1bXb/h6wyGKccwlG7/xCwZ/ZhdMYjRCkIIuXDht3/l+P0yYXFA/hmkzCdU46Jw tD2ongjZWxDp+bBqqsmZWS8IHHiXYSeXkuScAsslHdO0t99FHGYTJdc+fMrr7pE+vbxR UIrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792260115; x=1792864915; 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:content-type; bh=bhMU5YQDF+h0QOZnuRQ0eb4Qi9wFPzDrVlWZL7Jj0pM=; b=QQijuywK3Uujs6d6nQmf4jscTL+rvFXAe6g/yzsVQ4ifcricIaiJKVqS277w/eEDI1 bqT/g1TAYfjQdSZhRJslHhNkp/T5JNlNJRIlJYWaTHQs5wsIiTMypCb+KBR+iAQrwZjj osf7nYGTPTuTMQC7Rd/5Gg7+iwikDNtW6c0zvaKIDGcA6+sR+u7+2tsTwy2cHP7O05MW P9shcmobLkksuORqmeMMD/rGx6yr2PJrNYmAUtTHrtWw5P98TUrIJh7l2N9Hig0yxLkY SS2vZcHiMJ96bXilj3pfhJiqfbEWC4bnaixzZilJ6LXrL2aZs6ELDQTrl/WSGOWhHK19 WfUA== X-Forwarded-Encrypted: i=1; AKwUvBy7f71T3vLzwTrXgQ9tWLMBnkbc6/DodCB2i0YkFlB/JXDLz3o98iah3WdRkyNref/dZ55px3hlANodbag=@vger.kernel.org X-Gm-Message-State: AFq9FYKWx1pbyncCFWmv6ivoCPws6LmQM2B4bH11Wuai9v2k2sUZBUos ZmoCKsmv2fuuhN+EjiynapOWZj/ynAI90eFQn4BizU1Z9Hq+9x/fGc37 X-Gm-Gg: AYBFou3KNUWxl9BSDUkKk+iQgXw9JfVwFUh7/U1iH162168EAjlUzaVo16AFAGweeIE I1rC0hMXIfpwd62qdPWnUVRP15JJk2M7dUHE8yFvelJACejI9qrhkP8wjyZBa9bHJsVC26sJ6JC y7tKgVFgLJbRlpA9owZad2Lb1psOhDd3i57/E8haokJUCUiHA//PMMb2tBuG4zsWr1iofeArVsU kGG9BR40E3jRCuPwNQTKzf/Usw3nY0xupS8qylFBkz8sRISbiamPQ92xdgpKqjjNCoBucfG6rGO UM2n0WF5kWv02kIm5g5204ULIG4VFfnOnpc/fVmTQ6cAUbsITOhdNmdxFSwue6T/Hpm9R4nvjIe vCMP8lYh9Jfr5keWqQgzRdMTxJyEuQpV2DblyGuxwlBbjNvin4cI2rUeXq7XmdI5Kmo6h4Njd8S j2zAiVKdZfOxCHcEsW5/i9o+tJ6R8aBEFdhWktAPGlopSzMyu163nHI/58Ev+pjYIE5nMfmatbM +Ke+71goSISOvFt89ghmVePPTeGcCCwzyWFN+VAHhGO3SzuOH4QkXMAg+dpl1N9A6K9UNjh+UCV OpEBGvACebDalseWc6LFrTuy1WMVCef27Zw0FgllUIr+sb5HcVL1kTM= X-Received: by 2002:a17:903:948:b0:2dd:ad74:ac32 with SMTP id d9443c01a7336-2e9a6d25aeemr29917805ad.27.1792260115229; Sat, 17 Oct 2026 11:01:55 -0700 (PDT) Received: from alanhc-14700.tailb22ec2.ts.net (180-177-138-120.dynamic.kbronet.com.tw. [180.177.138.120]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2e97e5d98d9sm23030035ad.2.2026.10.17.11.01.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Oct 2026 11:01:54 -0700 (PDT) From: Hung-Chun Tseng To: Yixun Lan , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , E Shattow , devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] riscv: dts: spacemit: mark K1 board boot devices bootph-pre-ram Date: Sun, 18 Oct 2026 02:01:41 +0800 Message-ID: <20261017180141.3477743-3-alan.tseng.cs@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20261017180141.3477743-1-alan.tseng.cs@gmail.com> References: <20261017180141.3477743-1-alan.tseng.cs@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: 8bit On K1 boards an SPL reads the board EEPROM (0x50 on i2c2) to identify the board, and before DRAM training it programs the P1 PMIC (0x41 on i2c8) rails buck1, buck3 and aldo1. Boards that boot from SPI NOR also need the flash on QSPI. Mark these board peripherals bootph-pre-ram on the boards that have them, together with i2c2 where the EEPROM sits. i2c8 is tagged in k1.dtsi, as every K1 board connects the PMIC there. Assisted-by: claude-opus-5-5 dtbs_check Signed-off-by: Hung-Chun Tseng --- arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 6 ++++++ arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 6 ++++++ arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 7 +++++++ arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 7 +++++++ arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts | 4 ++++ arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts | 5 +++++ 6 files changed, 35 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi index 81c40df2a..acb8fa2e6 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi @@ -64,6 +64,7 @@ &pdma { }; &i2c2 { + bootph-pre-ram; pinctrl-names = "default"; pinctrl-0 = <&i2c2_0_cfg>; status = "okay"; @@ -71,6 +72,7 @@ &i2c2 { eeprom@50 { compatible = "atmel,24c02"; reg = <0x50>; + bootph-pre-ram; vcc-supply = <&buck3_1v8>; pagesize = <16>; read-only; @@ -100,6 +102,7 @@ &i2c8 { pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; + bootph-pre-ram; interrupts = <64>; vin1-supply = <®_vcc_4v>; vin2-supply = <®_vcc_4v>; @@ -113,6 +116,7 @@ pmic@41 { regulators { buck1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; @@ -127,6 +131,7 @@ buck2 { }; buck3_1v8: buck3 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; @@ -155,6 +160,7 @@ buck6 { }; aldo1: aldo1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts index 58035d886..b91db3204 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts @@ -187,6 +187,7 @@ &qspi { }; &i2c2 { + bootph-pre-ram; pinctrl-0 = <&i2c2_0_cfg>; pinctrl-names = "default"; status = "okay"; @@ -194,6 +195,7 @@ &i2c2 { eeprom@50 { compatible = "atmel,24c02"; reg = <0x50>; + bootph-pre-ram; vcc-supply = <&buck3_1v8>; /* EEPROM_VCC1V8 */ pagesize = <16>; read-only; @@ -223,6 +225,7 @@ &i2c8 { pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; + bootph-pre-ram; interrupts = <64>; vin1-supply = <®_vcc_4v>; vin2-supply = <®_vcc_4v>; @@ -236,6 +239,7 @@ pmic@41 { regulators { buck1_0v9: buck1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; @@ -250,6 +254,7 @@ buck2 { }; buck3_1v8: buck3 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; @@ -278,6 +283,7 @@ buck6 { }; aldo1: aldo1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts index 635e95aad..d2a39cf55 100644 --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts @@ -201,6 +201,7 @@ &pdma { }; &i2c2 { + bootph-pre-ram; pinctrl-0 = <&i2c2_0_cfg>; pinctrl-names = "default"; status = "okay"; @@ -208,6 +209,7 @@ &i2c2 { eeprom@50 { compatible = "atmel,24c04"; reg = <0x50>; + bootph-pre-ram; vcc-supply = <&buck3_1v8>; /* EEPROM_VCC18 */ pagesize = <16>; read-only; @@ -230,6 +232,7 @@ &i2c8 { pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; + bootph-pre-ram; interrupts = <64>; vin1-supply = <®_vcc_4v>; vin2-supply = <®_vcc_4v>; @@ -243,6 +246,7 @@ pmic@41 { regulators { buck1_0v9: buck1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; @@ -257,6 +261,7 @@ buck2 { }; buck3_1v8: buck3 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; @@ -285,6 +290,7 @@ buck6 { }; aldo1: aldo1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; @@ -386,6 +392,7 @@ &qspi { flash@0 { compatible = "jedec,spi-nor"; reg = <0>; + bootph-pre-ram; spi-max-frequency = <26500000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts index 23f32a8a3..a3d0e38ac 100644 --- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts @@ -160,6 +160,7 @@ &pdma { }; &i2c2 { + bootph-pre-ram; pinctrl-0 = <&i2c2_0_cfg>; pinctrl-names = "default"; status = "okay"; @@ -167,6 +168,7 @@ &i2c2 { eeprom@50 { compatible = "atmel,24c02"; reg = <0x50>; + bootph-pre-ram; vcc-supply = <&buck3_1v8>; /* EEPROM_VCC1V8 */ pagesize = <8>; read-only; @@ -199,6 +201,7 @@ &i2c8 { pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; + bootph-pre-ram; interrupts = <64>; vin1-supply = <®_vcc_4v>; vin2-supply = <®_vcc_4v>; @@ -212,6 +215,7 @@ pmic@41 { regulators { buck1_0v9: buck1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; @@ -226,6 +230,7 @@ buck2 { }; buck3_1v8: buck3 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; @@ -254,6 +259,7 @@ buck6 { }; aldo1: aldo1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; @@ -353,6 +359,7 @@ &qspi { flash@0 { compatible = "jedec,spi-nor"; reg = <0>; + bootph-pre-ram; spi-max-frequency = <26500000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts index eb77aae9d..5e2fde8be 100644 --- a/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts +++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts @@ -187,6 +187,7 @@ &i2c8 { pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; + bootph-pre-ram; interrupts = <64>; vin1-supply = <&vcc4v0>; vin2-supply = <&vcc4v0>; @@ -200,6 +201,7 @@ pmic@41 { regulators { buck1_0v9: buck1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; @@ -214,6 +216,7 @@ buck2 { }; buck3_1v8: buck3 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; @@ -242,6 +245,7 @@ buck6 { }; aldo1_3v3: aldo1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts index 790234f35..d4adfc5b7 100644 --- a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts +++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts @@ -214,6 +214,7 @@ &i2c8 { pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; + bootph-pre-ram; interrupts = <64>; vin1-supply = <&vcc4v0>; vin2-supply = <&vcc4v0>; @@ -227,6 +228,7 @@ pmic@41 { regulators { buck1_0v9: buck1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; @@ -241,6 +243,7 @@ buck2 { }; buck3_1v8: buck3 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; @@ -269,6 +272,7 @@ buck6 { }; aldo1: aldo1 { + bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; @@ -366,6 +370,7 @@ &qspi { flash@0 { compatible = "jedec,spi-nor"; reg = <0>; + bootph-pre-ram; spi-max-frequency = <26500000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; -- 2.43.0