Received: by 2002:a89:b8d:0:b0:1ff:3fb7:5d92 with SMTP id br13csp11942lqb; Sun, 16 Jun 2024 06:21:16 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUjolcB92cy+Cas42Tgc0jpbDIp+3xxER8jbuEbzO3qjTO7dOMIZzqFDhnaE6rTB2/gLzrSUckVXcLUdkmoP+ajI79Zp4oVyDhVcyn9Rg== X-Google-Smtp-Source: AGHT+IG+ZlzHiYa1APNoQM+l9oHhTwix+IcS8ln+DUJCQHVaq17twxFs6l5yCQbR9fWSYzkp5Od2 X-Received: by 2002:a05:6358:248f:b0:19e:e48f:939c with SMTP id e5c5f4694b2df-19fa9de3ee1mr987901555d.10.1718544075956; Sun, 16 Jun 2024 06:21:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718544075; cv=pass; d=google.com; s=arc-20160816; b=rjYxomH8RYtemSw4WPl02+yvJLZu5zb1NU0+xwvR0/WLjs07NTa6QNxCwCRhy4sr7m xOz0eCru4UPK0NXY3eMWjGJ8JQo5p5sWGKdS3piPkH7NTBpmXAEWnHUgKhPdk2BZfpgj ZkfqXVJCYAE9vF/KWwPXZBG/pCFaxnPPK/1RX7k97BGlW/mKecDtEPHVt1crSojhrY5h BphxDnFijdsGO5+V2js4m3bYaXNWP1h10BwmQJn33Cb4fHieJGLTXTi1gs6iDbtCGCFm +FQQyBVxTuSTV73vZg3mNqw/a9t7tXFmj1H47ru7uFLQubgghGrvtrJrfAkVnf7hPH3K zNAg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=0M61LGtWhyUTrb3vUNPAQHawnYsrd2hx98XgU4CmPU8=; fh=6F8Zlk7eqOCj+V/zzL1WLCgpep4J7FeqlcjvFCpxOfQ=; b=czbmkJ/ZiOQihf5rE6Euf8+pwmlYEyVa3L57qRO34GyTDo8yOcieBaGNsXhO4pKFfy Hvqopq2jHdaVa8gbnV+t5RHbYd4PmLaYRiLLEF6Lkx+oc7NEdEY5dsq8u90DHrQElbJ3 m9FVAyyZ4ZO1isrxZkEXusp8Z7xxSBqCHklv2t6KTc8qpMmj7MUWwLCCtPRE+3W267Lk 1OLCLqcNR8moQ+W66wy5XW7qejrX4AKWOvKj5bH4G6X8V13foykvz0a5jUvxZqQtLPEt arHdZmUTeM3QBZsw1YULxmVDm0BhYG3tedCM/Wg64c+Jpe9yqne6HqxOJBwuRDQIiGoO djpw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t4z0UtEy; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-216302-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-216302-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id 41be03b00d2f7-6fee3108bd1si7751674a12.287.2024.06.16.06.21.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Jun 2024 06:21:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-216302-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t4z0UtEy; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-216302-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-216302-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 85CCE283898 for ; Sun, 16 Jun 2024 13:21:15 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C6BC118FDCB; Sun, 16 Jun 2024 13:19:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="t4z0UtEy" Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (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 1F01618FC79 for ; Sun, 16 Jun 2024 13:19:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718543988; cv=none; b=rCXRLmqI8XjVTeY/nKbmjAcUzD0Rg2IQJ1DkFonhXVMTUM1+4tvjJB73WJlia/ElSIKEUTD7OqjgtHr7KPk1uCEQ8tBWnDoer36fLShANY0yoHGEHCDsqLDbf/9/uccRLtU6SaNHLwaV6MKSz0tyEBEjSduV6uYFJPvZu2qvAVU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718543988; c=relaxed/simple; bh=84MlsfX+AFW4Vacb5hsSsZfAMJ7fXjRby83bxC0Vksg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QmPrf54IOUEKrG3mTFymPgclGAmPDDtJyEJCfsnyNFqwGfZ/lWsQdZmhixFIl12zTVNLRkUSL/tZ0+ef7gIx42qp8VEtUG68Fy8Gl9Fxk+w2dIyTTNO56lI/hQcVnsHsuvY49OJRBD6ozDCUs8QwROhk6DmmuUllT+PgjHozf5I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=t4z0UtEy; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-57c7681ccf3so4089754a12.2 for ; Sun, 16 Jun 2024 06:19:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718543984; x=1719148784; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0M61LGtWhyUTrb3vUNPAQHawnYsrd2hx98XgU4CmPU8=; b=t4z0UtEyIn2kJ3smMBYIpO83f5IPE9lAKyeeeQeCu5YfQwjPdxvoIBLugLvi7bRyAZ EujFk45hPi/n81msB+VwpLTWIlTnKiht4G3SA0G5KV2E9SuGD7IuToXVrSrE0prXHuGJ hJ80WiNphwWjWAAKwNTXfaI1A83s9VfVIZK7jVtGJkpdq3G2xK2yTLp76L4ThD1PRBim /HKVkHo4hUVmQ0gUNzCr4sUF0g/tVnXK5ykxNHAKLSZ6PUzYvlaVnuFQDLSlmBHRFkMP m1yBnAV98qw9B4SNYqidCx4P2hiMHhuHQnSVIYJQ0h0UrCN7ISbG76KWn3YWSThGu4dX RTBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718543984; x=1719148784; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0M61LGtWhyUTrb3vUNPAQHawnYsrd2hx98XgU4CmPU8=; b=s9Sd3h57z3sNZ/W+8ANY79RYD2VVGyyAW4jdP14UxbaSy2J0X71RkJ2O8Ee3xPDVO6 kR86JhN6IBQB5pec37LTRY4a0NymP81NFw3PXRtEKg+g1yza+ImGHUYeeP6kzSnYBX+U UPljLKx36yBdfq+KVJ5JY5Higb+mnWb39CxPzYdYOmM/t57YTPCNlgpcN2KJsqPfRKM+ XkxPv+auGumGPiwa/sRr3Cg50ZicncN3SCVKP9We/wy0JppW/hzBSBWupVTHorG4EdNW QBt2uHA9CqwM0wLMU53q0lbphOBieicvxMO4nANyjnBfTNUhnSlEuepsdYNL28FOg0xm pv8A== X-Forwarded-Encrypted: i=1; AJvYcCWbAL/KHyreF3ubxI+uXtu6QVP+PvWyp840f33lJNQ1m6YDKbnFRpHZZ4r4D8Z3Qn7wRQ/u1rX/j+yeVlebf0aqitqS8Zudwef/V110 X-Gm-Message-State: AOJu0YzB5iRx7hrWNZMDlkTezDNUBrrhykVk7BVaqzrBMiBQWn+/t4k4 E/Y0r6HuTPbJwELyETSD0ln60ol1jWpnQOEJve8NZepDahj+xQW8XlbYYHcXiv0= X-Received: by 2002:a05:6402:1247:b0:57c:d3d4:bad2 with SMTP id 4fb4d7f45d1cf-57cd3d4bafbmr1353703a12.4.1718543984467; Sun, 16 Jun 2024 06:19:44 -0700 (PDT) Received: from [127.0.1.1] ([78.10.207.147]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-57cb7438815sm5099603a12.80.2024.06.16.06.19.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Jun 2024 06:19:43 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 16 Jun 2024 15:19:26 +0200 Subject: [PATCH v2 6/7] dt-bindings: mfd: syscon: Split and enforce documenting MFD children Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20240616-dt-bindings-mfd-syscon-split-v2-6-571b5850174a@linaro.org> References: <20240616-dt-bindings-mfd-syscon-split-v2-0-571b5850174a@linaro.org> In-Reply-To: <20240616-dt-bindings-mfd-syscon-split-v2-0-571b5850174a@linaro.org> To: Orson Zhai , Baolin Wang , Chunyan Zhang , Vadivel Murugan , Jacky Huang , Shan-Chun Hung , Khuong Dinh , Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lars Povlsen , Steen Hegelund , Daniel Machon , UNGLinuxDriver@microchip.com, Nishanth Menon , Matthias Brugger , AngeloGioacchino Del Regno Cc: Jiaxun Yang , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Krzysztof Kozlowski X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=14827; i=krzysztof.kozlowski@linaro.org; h=from:subject:message-id; bh=84MlsfX+AFW4Vacb5hsSsZfAMJ7fXjRby83bxC0Vksg=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBmbuZinYmJMuqRPC5LyC1NX0SHrUaXdOX2c03rh x3TmdX11qKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCZm7mYgAKCRDBN2bmhouD 19KWD/4vx5k2xRn56kmxzcG0OG/o6iAMdHHZ1xG+XDu1ht1ZS9eV7K27CY2xy6B7te8lUPN6n+I 60aSfBZpUjLREp1m9/GjMES6vYeDCVkC4tlONXo70vJ4bw6aDL85LZqVvaHZ11eAwLWGBDDef/J 3hAUXfDIQDNy1JOLqZgUiFrcm14p3+wtQYM7jN6/qWT5lC18iOJ9ZH1cYHk8B7B3ebB3FJj5i69 3t4M/E2fe1Y5X0j3hsDBiZsi8zVdR91wZd9v60YQ39Sjw5TamTuC2pNqdSR0kfg+sEX6rpmfoWk f8x0yjb+fSDK9zH3vkJGIF301dwrWdtHPyR/h1QUUnecD/VUXf6TITMf+mJKWO+bwj0xcZ10F+f N2oyULVtGR/U50gB1nSVDhIDuBIhWlaf+UTugkIqeMthG/xaFeQzFNJXDP1kv/0mpFedcFc0ru5 Hcy73EW4QAQNmmVNvxeE1Sc+59qKZRKNK7rt7zDDxYpfH9fyGVdQhdjSkeNqGY4sV3ZuuC3B3RW Pj11OaxYsdXYRF+6L1les4JGDEjhZLK6/HeUQyE+DQ0cyXMKKCqXWfJ4p71nLrYYmyGtOtT+8Yl DbXDAdKkxVfxNUFpGf+20Dm/meK0LmXt/+giM9FJ2PjX8Kc/1A6ORK2IaR6xZPrd6FcKqjtccnT i+cVzq0weR7PnDg== X-Developer-Key: i=krzysztof.kozlowski@linaro.org; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B Simple syscon nodes can be documented in common syscon.yaml, however devices with simple-mfd compatible, thus with some children, should have their own schema listing these children. Such listing makes the binding specific, allows better validation (so the incorrect child would not appear in the simple-mfd node) and actually enforces repeated rule for simple-mfd devices: "simple-mfd" is only for simple devices, where the children do not depend on the parent. Currently the syscon+simple-mfd binding is quite broad and allows any child or property, thus above rule cannot be enforced. Split the syscon.yaml binding into: 1. Common syscon properties, used potentially by many bindings. 2. Simple syscon devices (NO simple-mfd!). Signed-off-by: Krzysztof Kozlowski --- Depends on: 1. Patch in MFD: https://lore.kernel.org/all/171828959006.2643902.8308227314531523435.b4-ty@kernel.org/ 2. Previous patches in the series. --- .../devicetree/bindings/mfd/syscon-common.yaml | 72 +++++ Documentation/devicetree/bindings/mfd/syscon.yaml | 294 +++++++++++++-------- 2 files changed, 251 insertions(+), 115 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/syscon-common.yaml b/Documentation/devicetree/bindings/mfd/syscon-common.yaml new file mode 100644 index 000000000000..c3ff3a7afce3 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/syscon-common.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/syscon-common.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: System Controller Registers R/W Common Properties + +description: | + System controller node represents a register region containing a set + of miscellaneous registers. The registers are not cohesive enough to + represent as any specific type of device. The typical use-case is + for some other node's driver, or platform-specific code, to acquire + a reference to the syscon node (e.g. by phandle, node path, or + search using a specific compatible value), interrogate the node (or + associated OS driver) to determine the location of the registers, + and access the registers directly. + +maintainers: + - Lee Jones + +select: + properties: + compatible: + contains: + enum: + - syscon + + required: + - compatible + +properties: + compatible: + contains: + const: syscon + minItems: 2 + maxItems: 5 # Should be enough + + reg: + maxItems: 1 + + reg-io-width: + description: | + The size (in bytes) of the IO accesses that should be performed + on the device. + enum: [1, 2, 4, 8] + +required: + - compatible + - reg + +allOf: + - if: + properties: + compatible: + contains: + const: simple-mfd + then: + properties: + compatible: + minItems: 3 + maxItems: 5 + +additionalProperties: true + +examples: + - | + syscon: syscon@1c00000 { + compatible = "allwinner,sun8i-h3-system-controller", "syscon"; + reg = <0x01c00000 0x1000>; + }; +... diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml index d6fa58c9e4de..d4e9533cf3fe 100644 --- a/Documentation/devicetree/bindings/mfd/syscon.yaml +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/mfd/syscon.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: System Controller Registers R/W +title: System Controller Devices description: | System controller node represents a register region containing a set @@ -19,123 +19,196 @@ description: | maintainers: - Lee Jones +# Need a select with all compatibles listed for compatibility with older +# dtschema (<2024.02), so this will not be selected for other schemas having +# syscon fallback. select: properties: compatible: contains: enum: - - syscon - + - al,alpine-sysfabric-servic + - allwinner,sun8i-a83t-system-controller + - allwinner,sun8i-h3-system-controller + - allwinner,sun8i-v3s-system-controller + - allwinner,sun50i-a64-system-controller + - altr,l3regs + - altr,sdr-ctl + - amd,pensando-elba-syscon + - amlogic,meson-mx-assist + - amlogic,meson-mx-bootrom + - amlogic,meson8-analog-top + - amlogic,meson8b-analog-top + - amlogic,meson8-pmu + - amlogic,meson8b-pmu + - apm,xgene-csw + - apm,xgene-efuse + - apm,xgene-mcb + - apm,xgene-rb + - apm,xgene-scu + - atmel,sama5d2-sfrbu + - atmel,sama5d3-nfc-io + - atmel,sama5d3-sfrbu + - atmel,sama5d4-sfrbu + - axis,artpec6-syscon + - brcm,cru-clkset + - brcm,sr-cdru + - brcm,sr-mhb + - cirrus,ep7209-syscon1 + - cirrus,ep7209-syscon2 + - cirrus,ep7209-syscon3 + - cnxt,cx92755-uc + - freecom,fsg-cs2-system-controller + - fsl,imx93-aonmix-ns-syscfg + - fsl,imx93-wakeupmix-syscfg + - fsl,ls1088a-reset + - fsl,vf610-anatop + - fsl,vf610-mscm-cpucfg + - hisilicon,dsa-subctrl + - hisilicon,hi6220-sramctrl + - hisilicon,hip04-ppe + - hisilicon,pcie-sas-subctrl + - hisilicon,peri-subctrl + - hpe,gxp-sysreg + - loongson,ls1b-syscon + - loongson,ls1c-syscon + - lsi,axxia-syscon + - marvell,armada-3700-cpu-misc + - marvell,armada-3700-nb-pm + - marvell,armada-3700-avs + - marvell,armada-3700-usb2-host-misc + - marvell,dove-global-config + - mediatek,mt2701-pctl-a-syscfg + - mediatek,mt2712-pctl-a-syscfg + - mediatek,mt6397-pctl-pmic-syscfg + - mediatek,mt8135-pctl-a-syscfg + - mediatek,mt8135-pctl-b-syscfg + - mediatek,mt8173-pctl-a-syscfg + - mediatek,mt8365-syscfg + - microchip,lan966x-cpu-syscon + - microchip,sam9x60-sfr + - microchip,sama7g5-ddr3phy + - mscc,ocelot-cpu-syscon + - mstar,msc313-pmsleep + - nuvoton,ma35d1-sys + - nuvoton,wpcm450-shm + - rockchip,px30-qos + - rockchip,rk3036-qos + - rockchip,rk3066-qos + - rockchip,rk3128-qos + - rockchip,rk3228-qos + - rockchip,rk3288-qos + - rockchip,rk3368-qos + - rockchip,rk3399-qos + - rockchip,rk3568-qos + - rockchip,rk3588-qos + - rockchip,rv1126-qos + - st,spear1340-misc + - stericsson,nomadik-pmu + - starfive,jh7100-sysmain + - ti,am62-usb-phy-ctrl + - ti,am625-dss-oldi-io-ctrl + - ti,am62p-cpsw-mac-efuse + - ti,am654-dss-oldi-io-ctrl + - ti,j784s4-pcie-ctrl + - ti,keystone-pllctrl required: - compatible properties: compatible: - anyOf: - - items: - - enum: - - al,alpine-sysfabric-service - - allwinner,sun8i-a83t-system-controller - - allwinner,sun8i-h3-system-controller - - allwinner,sun8i-v3s-system-controller - - allwinner,sun50i-a64-system-controller - - altr,l3regs - - altr,sdr-ctl - - amd,pensando-elba-syscon - - amlogic,meson-mx-assist - - amlogic,meson-mx-bootrom - - amlogic,meson8-analog-top - - amlogic,meson8b-analog-top - - amlogic,meson8-pmu - - amlogic,meson8b-pmu - - apm,xgene-csw - - apm,xgene-efuse - - apm,xgene-mcb - - apm,xgene-rb - - apm,xgene-scu - - atmel,sama5d2-sfrbu - - atmel,sama5d3-nfc-io - - atmel,sama5d3-sfrbu - - atmel,sama5d4-sfrbu - - axis,artpec6-syscon - - brcm,cru-clkset - - brcm,sr-cdru - - brcm,sr-mhb - - cirrus,ep7209-syscon1 - - cirrus,ep7209-syscon2 - - cirrus,ep7209-syscon3 - - cnxt,cx92755-uc - - freecom,fsg-cs2-system-controller - - fsl,imx93-aonmix-ns-syscfg - - fsl,imx93-wakeupmix-syscfg - - fsl,ls1088a-reset - - fsl,vf610-anatop - - fsl,vf610-mscm-cpucfg - - hisilicon,dsa-subctrl - - hisilicon,hi6220-sramctrl - - hisilicon,hip04-ppe - - hisilicon,pcie-sas-subctrl - - hisilicon,peri-subctrl - - hpe,gxp-sysreg - - loongson,ls1b-syscon - - loongson,ls1c-syscon - - lsi,axxia-syscon - - marvell,armada-3700-cpu-misc - - marvell,armada-3700-nb-pm - - marvell,armada-3700-avs - - marvell,armada-3700-usb2-host-misc - - marvell,dove-global-config - - mediatek,mt2701-pctl-a-syscfg - - mediatek,mt2712-pctl-a-syscfg - - mediatek,mt6397-pctl-pmic-syscfg - - mediatek,mt8135-pctl-a-syscfg - - mediatek,mt8135-pctl-b-syscfg - - mediatek,mt8173-pctl-a-syscfg - - mediatek,mt8365-syscfg - - microchip,lan966x-cpu-syscon - - microchip,sam9x60-sfr - - microchip,sama7g5-ddr3phy - - mscc,ocelot-cpu-syscon - - mstar,msc313-pmsleep - - nuvoton,ma35d1-sys - - nuvoton,wpcm450-shm - - rockchip,px30-qos - - rockchip,rk3036-qos - - rockchip,rk3066-qos - - rockchip,rk3128-qos - - rockchip,rk3228-qos - - rockchip,rk3288-qos - - rockchip,rk3368-qos - - rockchip,rk3399-qos - - rockchip,rk3568-qos - - rockchip,rk3588-qos - - rockchip,rv1126-qos - - st,spear1340-misc - - stericsson,nomadik-pmu - - starfive,jh7100-sysmain - - ti,am62-usb-phy-ctrl - - ti,am625-dss-oldi-io-ctrl - - ti,am62p-cpsw-mac-efuse - - ti,am654-dss-oldi-io-ctrl - - ti,j784s4-pcie-ctrl - - ti,keystone-pllctrl - - - const: syscon - - - contains: - const: syscon - minItems: 2 - maxItems: 5 # Should be enough + items: + - enum: + - al,alpine-sysfabric-service + - allwinner,sun8i-a83t-system-controller + - allwinner,sun8i-h3-system-controller + - allwinner,sun8i-v3s-system-controller + - allwinner,sun50i-a64-system-controller + - altr,l3regs + - altr,sdr-ctl + - amd,pensando-elba-syscon + - amlogic,meson-mx-assist + - amlogic,meson-mx-bootrom + - amlogic,meson8-analog-top + - amlogic,meson8b-analog-top + - amlogic,meson8-pmu + - amlogic,meson8b-pmu + - apm,xgene-csw + - apm,xgene-efuse + - apm,xgene-mcb + - apm,xgene-rb + - apm,xgene-scu + - atmel,sama5d2-sfrbu + - atmel,sama5d3-nfc-io + - atmel,sama5d3-sfrbu + - atmel,sama5d4-sfrbu + - axis,artpec6-syscon + - brcm,cru-clkset + - brcm,sr-cdru + - brcm,sr-mhb + - cirrus,ep7209-syscon1 + - cirrus,ep7209-syscon2 + - cirrus,ep7209-syscon3 + - cnxt,cx92755-uc + - freecom,fsg-cs2-system-controller + - fsl,imx93-aonmix-ns-syscfg + - fsl,imx93-wakeupmix-syscfg + - fsl,ls1088a-reset + - fsl,vf610-anatop + - fsl,vf610-mscm-cpucfg + - hisilicon,dsa-subctrl + - hisilicon,hi6220-sramctrl + - hisilicon,hip04-ppe + - hisilicon,pcie-sas-subctrl + - hisilicon,peri-subctrl + - hpe,gxp-sysreg + - loongson,ls1b-syscon + - loongson,ls1c-syscon + - lsi,axxia-syscon + - marvell,armada-3700-cpu-misc + - marvell,armada-3700-nb-pm + - marvell,armada-3700-avs + - marvell,armada-3700-usb2-host-misc + - marvell,dove-global-config + - mediatek,mt2701-pctl-a-syscfg + - mediatek,mt2712-pctl-a-syscfg + - mediatek,mt6397-pctl-pmic-syscfg + - mediatek,mt8135-pctl-a-syscfg + - mediatek,mt8135-pctl-b-syscfg + - mediatek,mt8173-pctl-a-syscfg + - mediatek,mt8365-syscfg + - microchip,lan966x-cpu-syscon + - microchip,sam9x60-sfr + - microchip,sama7g5-ddr3phy + - mscc,ocelot-cpu-syscon + - mstar,msc313-pmsleep + - nuvoton,ma35d1-sys + - nuvoton,wpcm450-shm + - rockchip,px30-qos + - rockchip,rk3036-qos + - rockchip,rk3066-qos + - rockchip,rk3128-qos + - rockchip,rk3228-qos + - rockchip,rk3288-qos + - rockchip,rk3368-qos + - rockchip,rk3399-qos + - rockchip,rk3568-qos + - rockchip,rk3588-qos + - rockchip,rv1126-qos + - st,spear1340-misc + - stericsson,nomadik-pmu + - starfive,jh7100-sysmain + - ti,am62-usb-phy-ctrl + - ti,am625-dss-oldi-io-ctrl + - ti,am62p-cpsw-mac-efuse + - ti,am654-dss-oldi-io-ctrl + - ti,j784s4-pcie-ctrl + - ti,keystone-pllctrl + - const: syscon reg: maxItems: 1 - reg-io-width: - description: | - The size (in bytes) of the IO accesses that should be performed - on the device. - enum: [1, 2, 4, 8] - resets: maxItems: 1 @@ -144,18 +217,9 @@ required: - reg allOf: - - if: - properties: - compatible: - contains: - const: simple-mfd - then: - properties: - compatible: - minItems: 3 - maxItems: 5 + - $ref: syscon-common.yaml# -additionalProperties: true +unevaluatedProperties: false examples: - | -- 2.43.0