From nobody Sat Feb 7 22:54:47 2026 Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.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 AB4DF28467C for ; Mon, 14 Apr 2025 19:17:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658245; cv=none; b=GGV/J2wJlC4hibKmEbQUZpiJJquI9cUwzNJKbmT/9rGd0NEftUTmuTEce4p0AZvJTxgwLTkzqkZ+Yvu6oYQ0ZejJf/8+dpy3C2im2JbnKc1uH6ZYn4UehbawtZT29ii15M27Us+R/dbWwEeidDH8Pepe1Ju3fD1TX6t/ys6NHTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658245; c=relaxed/simple; bh=JbvxIKNnm2l02MeokP48X8vc1GIBXzEECfh/a24p9gk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ln7cq5yadME3m/nP7teNWmVuhu7s00HZ1eTNzIag0WBE/AbGXKiPZSAujXllvSohsEiZm6oexVH087MzpNSBNPGvQFNndr+uolOqscokC1p6PtFyie7ROu69Rf/Z72zQoBtLr7GB7kpJikSlIOrnmtdlPJYEqHIfj1/NQo5MvI0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=ZfgU8f8Z; arc=none smtp.client-ip=209.85.166.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="ZfgU8f8Z" Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-85dac9728cdso89828439f.0 for ; Mon, 14 Apr 2025 12:17:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658243; x=1745263043; 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=81a1v+nMC7nJeIGTMZQ54emwTNg/YN8dMbbTK1LgyT8=; b=ZfgU8f8ZxIPJmtvnLoeAjPAT4lXeKHBB7zQJXwMYlLFmmc2E7VYaXQr8wMZ54f3BJA +rydWaVlsASLq3b5zVyYnJrjFVhjiZSpjL+Rei/+dQUNo2B2DumixrCaPwQquUP9SHzu Bs/v4wfmIOQx/y6TYzM/Y399a+o8DHulqL0mMe9gkzuazxuUn8cMlkSXT4swVz1OswTj jCvvGdQ01e2ReFV7Cd54LwSHQAeKDpi/ScWaZSaVG5Mi+Lt9NoZtGcEwf5Rr9ZYwIsGT aQO3MykGsOu2g/Zlt7+7b+BsSm1Aw4a2h1RZm+yu0tKEyu36hH8iaEQkuM9HXHfXdD+9 3lCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658243; x=1745263043; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=81a1v+nMC7nJeIGTMZQ54emwTNg/YN8dMbbTK1LgyT8=; b=PRVCk8KSxbgcVEzUMfm9EbLSrtqORflW1JUmsO+ejICjfQtyqQh8EBLBtKMLL7Jsov LMGkucMH/nS7hYlk7etNaVYQhvUtRvhqw3zcxcaFe4PW1OYQL0oEGx9aIt7+Nol6sAOt jX7lznEpgpVnrKibax2pChG7FvMHFPFEIn9QlghxxIG30vWemdSZmInJX1XlB7DzbQYG Tacj5rw/g7ukA+jyV3uA6uyoIdeulZyTXBOeNM8Npdy5o2FtRsFVVT5uOL8UCb0nZnYU S+FWjdpnCrGN1uj93NUXQMNj6QJlPYIHFLBwVqQlvXi8JYErISvAphAzo5FjA6xNzASO uE6Q== X-Forwarded-Encrypted: i=1; AJvYcCXS+mnPl5MpgvVdGQ5BEYOvqOHymS5t/RCwAHscbG8hEWuqsIpAOP9lXLO9kV6Zo3KTvI6YqFxx4GMJPTo=@vger.kernel.org X-Gm-Message-State: AOJu0YzuzT/cKZCEF7/zxQfIwP0SWxDDvhRhtiTOtGeJ1/5tpJ7/hJcJ XYCkfqAJXohoXVbHdpSiK++3zbunJ2jHhzIiKfZ3s0kghdx9Mb/TnhSOLbWBa5w= X-Gm-Gg: ASbGncvLeWK+wqqmn2gjzQ1ihi5xqBgoap6WYI2bKRDfU/vsFvy0FPQbyj0B84Zh2/h ePL78GGN6S3HcO8HH85Fojhog69a4z9jQ6YVVbe+qjwqO1kE3hCvfWazKK4n3vJPGChv/ZP44XE pxn1jBgyYLTCsgF0RfixCEnB3jfMbdIeL64P16JpsQiSuMhU+YunfS0njfAj8dfzjTV73YOVO+H LtB9UtcVU9fTt6aVWhFSavde0eMa06mL50mYgJWinlzWDOmNSi6RTjBBcxOP3W9fdPsQ7+b7gv+ mOkGEE2tjA7ZlReqwiSZkfxH5LiLI4d+YWinttWCwHdT1NTG+OZonWlzbn6BKzPEXkZMWzhzmAF LBaZ2rP8Ugd9EqA== X-Google-Smtp-Source: AGHT+IFC41H+rUXGljvFacylkoixn9ijJAG7JGZkHqVBE2W14S5/svtesd0WRdq7gX7ipBDb3kSCsw== X-Received: by 2002:a05:6602:c89:b0:85e:8c26:8e2d with SMTP id ca18e2360f4ac-8617cb728bcmr1850011039f.4.1744658242691; Mon, 14 Apr 2025 12:17:22 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:22 -0700 (PDT) From: Alex Elder To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, mturquette@baylibre.com, sboyd@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski Subject: [PATCH v4 1/7] dt-bindings: soc: spacemit: define spacemit,k1-ccu resets Date: Mon, 14 Apr 2025 14:17:08 -0500 Message-ID: <20250414191715.2264758-2-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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" There are additional SpacemiT syscon CCUs whose registers control both clocks and resets: RCPU, RCPU2, and APBC2. Unlike those defined previously, these will (initially) support only resets. They do not incorporate power domain functionality. Previously the clock properties were required for all compatible nodes. Make that requirement only apply to the three existing CCUs (APBC, APMU, and MPMU), so that the new reset-only CCUs can go without specifying them. Define the index values for resets associated with all SpacemiT K1 syscon nodes, including those with clocks already defined, as well as the new ones (without clocks). Signed-off-by: Alex Elder Reviewed-by: Krzysztof Kozlowski --- .../soc/spacemit/spacemit,k1-syscon.yaml | 29 +++- .../dt-bindings/clock/spacemit,k1-syscon.h | 128 ++++++++++++++++++ 2 files changed, 150 insertions(+), 7 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-sys= con.yaml b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-sysco= n.yaml index 30aaf49da03d3..133a391ee68cd 100644 --- a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml +++ b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml @@ -19,6 +19,9 @@ properties: - spacemit,k1-syscon-apbc - spacemit,k1-syscon-apmu - spacemit,k1-syscon-mpmu + - spacemit,k1-syscon-rcpu + - spacemit,k1-syscon-rcpu2 + - spacemit,k1-syscon-apbc2 =20 reg: maxItems: 1 @@ -47,9 +50,6 @@ properties: required: - compatible - reg - - clocks - - clock-names - - "#clock-cells" - "#reset-cells" =20 allOf: @@ -57,13 +57,28 @@ allOf: properties: compatible: contains: - const: spacemit,k1-syscon-apbc + enum: + - spacemit,k1-syscon-apmu + - spacemit,k1-syscon-mpmu then: - properties: - "#power-domain-cells": false - else: required: - "#power-domain-cells" + else: + properties: + "#power-domain-cells": false + - if: + properties: + compatible: + contains: + enum: + - spacemit,k1-syscon-apbc + - spacemit,k1-syscon-apmu + - spacemit,k1-syscon-mpmu + then: + required: + - clocks + - clock-names + - "#clock-cells" =20 additionalProperties: false =20 diff --git a/include/dt-bindings/clock/spacemit,k1-syscon.h b/include/dt-bi= ndings/clock/spacemit,k1-syscon.h index 35968ae982466..f5965dda3b905 100644 --- a/include/dt-bindings/clock/spacemit,k1-syscon.h +++ b/include/dt-bindings/clock/spacemit,k1-syscon.h @@ -78,6 +78,9 @@ #define CLK_APB 31 #define CLK_WDT_BUS 32 =20 +/* MPMU resets */ +#define RESET_WDT 0 + /* APBC clocks */ #define CLK_UART0 0 #define CLK_UART2 1 @@ -180,6 +183,59 @@ #define CLK_TSEN_BUS 98 #define CLK_IPC_AP2AUD_BUS 99 =20 +/* APBC resets */ +#define RESET_UART0 0 +#define RESET_UART2 1 +#define RESET_UART3 2 +#define RESET_UART4 3 +#define RESET_UART5 4 +#define RESET_UART6 5 +#define RESET_UART7 6 +#define RESET_UART8 7 +#define RESET_UART9 8 +#define RESET_GPIO 9 +#define RESET_PWM0 10 +#define RESET_PWM1 11 +#define RESET_PWM2 12 +#define RESET_PWM3 13 +#define RESET_PWM4 14 +#define RESET_PWM5 15 +#define RESET_PWM6 16 +#define RESET_PWM7 17 +#define RESET_PWM8 18 +#define RESET_PWM9 19 +#define RESET_PWM10 20 +#define RESET_PWM11 21 +#define RESET_PWM12 22 +#define RESET_PWM13 23 +#define RESET_PWM14 24 +#define RESET_PWM15 25 +#define RESET_PWM16 26 +#define RESET_PWM17 27 +#define RESET_PWM18 28 +#define RESET_PWM19 29 +#define RESET_SSP3 30 +#define RESET_RTC 31 +#define RESET_TWSI0 32 +#define RESET_TWSI1 33 +#define RESET_TWSI2 34 +#define RESET_TWSI4 35 +#define RESET_TWSI5 36 +#define RESET_TWSI6 37 +#define RESET_TWSI7 38 +#define RESET_TWSI8 39 +#define RESET_TIMERS1 40 +#define RESET_TIMERS2 41 +#define RESET_AIB 42 +#define RESET_ONEWIRE 43 +#define RESET_SSPA0 44 +#define RESET_SSPA1 45 +#define RESET_DRO 46 +#define RESET_IR 47 +#define RESET_TSEN 48 +#define RESET_IPC_AP2AUD 49 +#define RESET_CAN0 50 + /* APMU clocks */ #define CLK_CCI550 0 #define CLK_CPU_C0_HI 1 @@ -244,4 +300,76 @@ #define CLK_V2D 60 #define CLK_EMMC_BUS 61 =20 +/* APMU resets */ +#define RESET_CCIC_4X 0 +#define RESET_CCIC1_PHY 1 +#define RESET_SDH_AXI 2 +#define RESET_SDH0 3 +#define RESET_SDH1 4 +#define RESET_SDH2 5 +#define RESET_USBP1_AXI 6 +#define RESET_USB_AXI 7 +#define RESET_USB3_0 8 +#define RESET_QSPI 9 +#define RESET_QSPI_BUS 10 +#define RESET_DMA 11 +#define RESET_AES 12 +#define RESET_VPU 13 +#define RESET_GPU 14 +#define RESET_EMMC 15 +#define RESET_EMMC_X 16 +#define RESET_AUDIO 17 +#define RESET_HDMI 18 +#define RESET_PCIE0 19 +#define RESET_PCIE1 20 +#define RESET_PCIE2 21 +#define RESET_EMAC0 22 +#define RESET_EMAC1 23 +#define RESET_JPG 24 +#define RESET_CCIC2PHY 25 +#define RESET_CCIC3PHY 26 +#define RESET_CSI 27 +#define RESET_ISP_CPP 28 +#define RESET_ISP_BUS 29 +#define RESET_ISP 30 +#define RESET_ISP_CI 31 +#define RESET_DPU_MCLK 32 +#define RESET_DPU_ESC 33 +#define RESET_DPU_HCLK 34 +#define RESET_DPU_SPIBUS 35 +#define RESET_DPU_SPI_HBUS 36 +#define RESET_V2D 37 +#define RESET_MIPI 38 +#define RESET_MC 39 + +/* RCPU resets */ +#define RESET_RCPU_SSP0 0 +#define RESET_RCPU_I2C0 1 +#define RESET_RCPU_UART1 2 +#define RESET_RCPU_IR 3 +#define RESET_RCPU_CAN 4 +#define RESET_RCPU_UART0 5 +#define RESET_RCPU_HDMI_AUDIO 6 + +/* RCPU2 resets */ +#define RESET_RCPU2_PWM0 0 +#define RESET_RCPU2_PWM1 1 +#define RESET_RCPU2_PWM2 2 +#define RESET_RCPU2_PWM3 3 +#define RESET_RCPU2_PWM4 4 +#define RESET_RCPU2_PWM5 5 +#define RESET_RCPU2_PWM6 6 +#define RESET_RCPU2_PWM7 7 +#define RESET_RCPU2_PWM8 8 +#define RESET_RCPU2_PWM9 9 + +/* APBC2 resets */ +#define RESET_APBC2_UART1 0 +#define RESET_APBC2_SSP2 1 +#define RESET_APBC2_TWSI3 2 +#define RESET_APBC2_RTC 3 +#define RESET_APBC2_TIMERS0 4 +#define RESET_APBC2_KPC 5 +#define RESET_APBC2_GPIO 6 + #endif /* _DT_BINDINGS_SPACEMIT_CCU_H_ */ --=20 2.45.2 From nobody Sat Feb 7 22:54:47 2026 Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.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 D6C2B28BA96 for ; Mon, 14 Apr 2025 19:17:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658246; cv=none; b=VUnD24V7Zp23ggDCPp8n6tqvitJ3YpaxI7zeOSyTL+zc3sK5g28V4w8MWljvQ2fcx+fRqdJFU0os/85Nb+f4dEgSD/EX92J3wuXkQbdsOFZzINLpzw+jH9h0200eylzaoSqHWnetElA9rK5s6Y9hJeXY2amqIW2lKu3+HcvZPXA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658246; c=relaxed/simple; bh=EAW+HDTqn4JOg/LwTabgEKzUOriy6DOvjcW5MZPwhWk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TgFVBJ3wvjJw9KBP6WDLXwU3oy3o1c/Ud2286qx9U/Q03MoUprvdKvvzbVzxJwXvpiSuJd3/o2k4pN2M4AA+EdEzikJizLhxSvyqoApBgtLvwIMJ//5hCThOt4sM4dGSnAwonqptfAy3B1YsctyvxrU19d/egXdhQqSSh6PTXUo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=gJfqfxuw; arc=none smtp.client-ip=209.85.166.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="gJfqfxuw" Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-86135ae2a29so432498739f.2 for ; Mon, 14 Apr 2025 12:17:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658244; x=1745263044; 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=PQupJEb/nO7YYkb/BsP/LHrq8C6tspApeBZ7h7HnR4g=; b=gJfqfxuwowCWsuKqeuAdkMSHl9bb8j8JZm9q4bFVYmzeyjqsV1AC+lVzKfWTOZXgnx t/QV5zuJ65z5pBd+GJTh7kPD8dQvIabPvOBbOCKrD/xIPZFaZcSCOwdaUP6mcbW2Z9km FOD6ZGCLJPltcfBiSzBt7Thvk4MPQVU2VZcMCFC66fraPhW5h2QzqYl5yHxzUaSvk/Jy 0FKlCVh86zTXbkl9OV+Ene4wK9F66jp7wryNIWYl9affzYaa+sOuTobe1i8kXfjqINZU /QRnwkCec5BcYogPKHZVoIsy+2fJSiTXY5m2/ct6toJqp/IAithIxfwZnuh5p7QtGjOL jmAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658244; x=1745263044; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PQupJEb/nO7YYkb/BsP/LHrq8C6tspApeBZ7h7HnR4g=; b=Ort4963ddOY9sQBoxKshHz3fIAPFgt5XfBlcWEIWMzEe2S/N/GfhGIEpLtRwWjRrrg q7gazo2Um8GQdz3mTXfdcdZgfdO8TSJcLOBbHxeP308Nc2jpKXUK6ACnKK9xBa8gLJ0K dep9EY/x8GYApmxwrFo62r1pEJ8NedH+9kMR++XjRHCQrNcUzcGu6wIbSENbVDpc9ZOA he9E62d8/Xc6B6pOpARyil2D+hnvCFQKwa92GYDOSoR2sOYY34Q/7NXKQxtJg+z7yBRJ XdekzT4cS3QaJ+INLW+jdKTRh/Hl/FxxoWSwdJMl/uGdFqIY0HHaJ+TGr6QPtR+sP4Ar xcfw== X-Forwarded-Encrypted: i=1; AJvYcCVob/9FRp0M84YIWblywASZ6bpjcIqsVgCmBJ9O0p7Hs0MF7cM2p49q7BKVaFyvLAkJR+ruoOxLJ3Jdk1g=@vger.kernel.org X-Gm-Message-State: AOJu0Yyi6fOhtb+lZy1iFA+1yT//bd6mkV6n12aBz8CvqW8c0/FQrINQ JJbJT9IPVDxnTZL5spLjjtseSkOcDOoqWHr6ciFSKG/wtNpoD9k0aEtj3XxdKsY= X-Gm-Gg: ASbGncum8DM2iTtIRmJt5DAwDoZKaIj/x699ob1VG7I1S33UEzN/7FrRQEO2pjqfSzB rBVOuo4dNJbMcUZhzt/bfj8J1A4ZxAi7ss2ieMK0NbJHY8uTtAxzoaYpLWz38QDeOCUu+Ul7ZqZ L6PzmcE4tVF0zUo8ua4KWmeT0sK1NCtm5UDsC2heYlehZh4ifhrYsxRHM/G3OaIwRXyAz/YaZju vbMwqHt4yuGiRBQNqh0G6gQuN0Ts/ctYtzgJ0bU/vgNq4BYatJfKuuiiVhADO4ZHL+Ci1UJS+cj APg/t+/oFe6XsEdNEqbi0LwQCfriR/9ReE2HeS+R8tAhIXbB0/4K00dgkJqHQZ+PLAhVRfBFhYw eNYfPWgTFU4iHkZTdf8fd4n4A X-Google-Smtp-Source: AGHT+IHzgkKPo3rteT6o1FQjeZVctNmK9CtfxtQBm7TMKIVPM8zC+qltuaZQi09FYGKSfneN1EH7HA== X-Received: by 2002:a05:6602:4145:b0:85b:3885:1592 with SMTP id ca18e2360f4ac-8617cc32960mr1403266539f.10.1744658243876; Mon, 14 Apr 2025 12:17:23 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:23 -0700 (PDT) From: Alex Elder To: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/7] clk: spacemit: rename spacemit_ccu_data fields Date: Mon, 14 Apr 2025 14:17:09 -0500 Message-ID: <20250414191715.2264758-3-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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 "clk_" to the names of the fields in the spacemit_ccu_data structure type. This prepares it for the addition of two similar fields dedicated to resets. Signed-off-by: Alex Elder Reviewed-by: Haylen Chu --- drivers/clk/spacemit/ccu-k1.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c index a55957806db31..4db91c1b1d280 100644 --- a/drivers/clk/spacemit/ccu-k1.c +++ b/drivers/clk/spacemit/ccu-k1.c @@ -130,8 +130,8 @@ #define APMU_EMAC1_CLK_RES_CTRL 0x3ec =20 struct spacemit_ccu_data { - struct clk_hw **hws; - size_t num; + struct clk_hw **clk_hws; + size_t clk_num; }; =20 /* APBS clocks start, APBS region contains and only contains all PLL clock= s */ @@ -819,8 +819,8 @@ static struct clk_hw *k1_ccu_pll_hws[] =3D { }; =20 static const struct spacemit_ccu_data k1_ccu_pll_data =3D { - .hws =3D k1_ccu_pll_hws, - .num =3D ARRAY_SIZE(k1_ccu_pll_hws), + .clk_hws =3D k1_ccu_pll_hws, + .clk_num =3D ARRAY_SIZE(k1_ccu_pll_hws), }; =20 static struct clk_hw *k1_ccu_mpmu_hws[] =3D { @@ -860,8 +860,8 @@ static struct clk_hw *k1_ccu_mpmu_hws[] =3D { }; =20 static const struct spacemit_ccu_data k1_ccu_mpmu_data =3D { - .hws =3D k1_ccu_mpmu_hws, - .num =3D ARRAY_SIZE(k1_ccu_mpmu_hws), + .clk_hws =3D k1_ccu_mpmu_hws, + .clk_num =3D ARRAY_SIZE(k1_ccu_mpmu_hws), }; =20 static struct clk_hw *k1_ccu_apbc_hws[] =3D { @@ -968,8 +968,8 @@ static struct clk_hw *k1_ccu_apbc_hws[] =3D { }; =20 static const struct spacemit_ccu_data k1_ccu_apbc_data =3D { - .hws =3D k1_ccu_apbc_hws, - .num =3D ARRAY_SIZE(k1_ccu_apbc_hws), + .clk_hws =3D k1_ccu_apbc_hws, + .clk_num =3D ARRAY_SIZE(k1_ccu_apbc_hws), }; =20 static struct clk_hw *k1_ccu_apmu_hws[] =3D { @@ -1038,8 +1038,8 @@ static struct clk_hw *k1_ccu_apmu_hws[] =3D { }; =20 static const struct spacemit_ccu_data k1_ccu_apmu_data =3D { - .hws =3D k1_ccu_apmu_hws, - .num =3D ARRAY_SIZE(k1_ccu_apmu_hws), + .clk_hws =3D k1_ccu_apmu_hws, + .clk_num =3D ARRAY_SIZE(k1_ccu_apmu_hws), }; =20 static int spacemit_ccu_register(struct device *dev, @@ -1050,13 +1050,13 @@ static int spacemit_ccu_register(struct device *dev, struct clk_hw_onecell_data *clk_data; int i, ret; =20 - clk_data =3D devm_kzalloc(dev, struct_size(clk_data, hws, data->num), + clk_data =3D devm_kzalloc(dev, struct_size(clk_data, hws, data->clk_num), GFP_KERNEL); if (!clk_data) return -ENOMEM; =20 - for (i =3D 0; i < data->num; i++) { - struct clk_hw *hw =3D data->hws[i]; + for (i =3D 0; i < data->clk_num; i++) { + struct clk_hw *hw =3D data->clk_hws[i]; struct ccu_common *common; const char *name; =20 @@ -1081,7 +1081,7 @@ static int spacemit_ccu_register(struct device *dev, clk_data->hws[i] =3D hw; } =20 - clk_data->num =3D data->num; + clk_data->num =3D data->clk_num; =20 ret =3D devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, clk_data); if (ret) --=20 2.45.2 From nobody Sat Feb 7 22:54:47 2026 Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) (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 042D928DF0D for ; Mon, 14 Apr 2025 19:17:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658247; cv=none; b=Y9wQ2HpC5OH2P4CCA+OsBeeVsDodj+RL5mfkXHHp09N5Fw1bpov5JmaDu6ABfUHEwhGAk/OHmQL9aOeWBdL4vgePmJlI+9OoSSexgX5QG1ZUqobEekrqBW+wqbNFha2oBAZlQkGiHxkcaqgXaWrL79ud1zRC4UTwbafS0gwH++A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658247; c=relaxed/simple; bh=0tMSZnnN0uUhaUUyllJnXkn0kZUelbYWyQyl83JEU20=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RrZ69VRsK12AVk2yNUGUJOCZ8aQuM+F/YWP18y2Oa03o/ZeXYYXuBBtnKrbo3kdLoxp+o0ByfbinB52Rhu2YTAHntcYMsi7Y7+SW/rCYGK0Ud5q3KN435/QQ+LKcKkW2XeQR8V/5PLyOgRFNRfa3DMwTuSz/VW5gRE2xzEpnzEE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=EUASO+IP; arc=none smtp.client-ip=209.85.166.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="EUASO+IP" Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-3cf82bd380bso38703465ab.0 for ; Mon, 14 Apr 2025 12:17:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658245; x=1745263045; 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=5Gm/aZH/kO5vouQmivfvsOxccJ1q8Se/O3GQobXDRsw=; b=EUASO+IP2WuRXoZYsqkB8FAQ0z+OGf/NV9MHkbIS8Y11pdC54OF/6kOxIprJISyxFO +SQ4MhTokoXq8eJ+zd/kgBwVNL6HzRQnKURwJ95tZEl3XyFUxdoCTY4Is9maBWnM00J4 M4k9lm9mEFruNUJrP2QidzJw5AiY3vIDP037j3g1DgZvkYg0Yq601S3nubJPM5/oD+NI XYFhEOWh+l4rA6aReUPZUFL/iAXblgk79dNiysD/MgqBWRQQs0VGm8xZUjTQiFsCb+RV RW1XEZdlrz9Gf80o6Kk9BNUgNFO4CwPfAcYjZgWgg8U+g7y7K1/GOL8YYJTc+WstYkab CxvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658245; x=1745263045; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5Gm/aZH/kO5vouQmivfvsOxccJ1q8Se/O3GQobXDRsw=; b=ApNnSLmz47k2Cb+hYiyfbGfpg5uLb9L5IlYwHhHfBYBjOUP0wCJmiGb4313d/DRZ2F m+zC7K5/0toi2CeqczK+4VB9P7DPFLZLe3hq2HOW3tQ0UKQEf9wmTerJuH9L7tOXBcob VgEDTFxFBY4+ChnhkiI13R/TG6L2NQpb4VsRTZ9re5MZ/4uvL/ccjgFywxx12KPhU0sz ZqwLgyn1id279MVqGgKcK1xR3PBJY6ohlrpMUVWS3ui/5Inj/MLX+SUQlRfnygWW7QbE WeOzNuy7RH2Rcs8uttNSxqVLLQF9O2/UcUMlPOaoTXkUvk1ehMFYLh5CvKQtPr2G9jSB LRRA== X-Forwarded-Encrypted: i=1; AJvYcCWiUXTaXXaAGr6gx7J6ZSVol+xwEHp4sLkPwzGO3+9MPDv9tLEHe9mbFFZ7N1P65tjzU210VVvtIPWykqM=@vger.kernel.org X-Gm-Message-State: AOJu0YyFKdLKFeu1UTvMag1IOqfZObSOYb2Ns4/aaQe9WQB/bZiG5Zzt K4FEfJnqG0w7vSRwA1o8TbDhsNfP8r8G6iX6xuqPrtzF3s2jmhEmIIIqi+ThhTk= X-Gm-Gg: ASbGncsmE2LY7tD/SWZYa6HjLyyNW4Ehg3dRUo/+EOZDRs9GkkxOAm4bGhixHliUPCd qFtlDIraHT2K03QeA0L6bk4tpD+ihxwzPF09ndeg5csGax/M2KQ2hQNDr9xXiWO7Ivm9DqOfbP2 v/nwOKi3um0bsUvdAsTIst66owXCGFPQL0Wys16pTTfCXL6LZFLLQ6hKNjd2XJ+0ooK6wjPq8Do D6Y6RpDR9NVQ9Io/MBvmuaKI0vGdf6nb3cmN6KSbVE/7ZiGAOwr59hrcD2D13SGpBrD4esG77WU mWYVwprPxHuYVmcDnfYOSUaY+J334tbaGvJKtRmhav45dResvBv2hdb5gAuun5NLPsTtyPe/Hgy GzRFDeechZW+3nQ== X-Google-Smtp-Source: AGHT+IGOxfDnhHNiznYS8q5dIns7Gd3Y5nX+rCfx2C7pXyEaBqFpX/9ByXKN0AFavSlx3js9Rz+fyA== X-Received: by 2002:a05:6e02:1888:b0:3d5:d71f:75b3 with SMTP id e9e14a558f8ab-3d7ec265c2emr131876555ab.15.1744658245022; Mon, 14 Apr 2025 12:17:25 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:24 -0700 (PDT) From: Alex Elder To: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 3/7] clk: spacemit: add reset controller support Date: Mon, 14 Apr 2025 14:17:10 -0500 Message-ID: <20250414191715.2264758-4-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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" Define ccu_reset_data as a structure that contains the constant register offset and bitmasks used to assert and deassert a reset control on a SpacemiT K1 CCU. Add a pointer to an array of those structures to the spacemit_ccu_data structure, along with a field indicating how many elements are in that array. Resets will be optional, and if none are defined the reset array pointer will be null. Define a new ccu_reset_controller structure, which (for a CCU with resets) contains a pointer to the constant reset data, the regmap to be used for the controller, and an embedded a reset controller structure. Each reset control is asserted or deasserted by updating bits in a register. The bits used are defined by an assert mask and a deassert mask. In some cases, one (non-zero) mask asserts reset and a different (non-zero) mask deasserts it. Otherwise one mask is nonzero, and the other is zero. Either way, the bits in both masks are cleared, then either the assert mask or the deassert mask is set in a register to affect the state of a reset control. Signed-off-by: Alex Elder Reviewed-by: Philipp Zabel --- drivers/clk/spacemit/ccu-k1.c | 86 +++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c index 4db91c1b1d280..020e751a9f305 100644 --- a/drivers/clk/spacemit/ccu-k1.c +++ b/drivers/clk/spacemit/ccu-k1.c @@ -11,6 +11,7 @@ #include #include #include +#include =20 #include "ccu_common.h" #include "ccu_pll.h" @@ -129,9 +130,23 @@ #define APMU_EMAC0_CLK_RES_CTRL 0x3e4 #define APMU_EMAC1_CLK_RES_CTRL 0x3ec =20 +struct ccu_reset_data { + u32 offset; + u32 assert_mask; + u32 deassert_mask; +}; + struct spacemit_ccu_data { - struct clk_hw **clk_hws; + struct clk_hw **clk_hws; /* array */ size_t clk_num; + const struct ccu_reset_data *reset_data; /* array */ + size_t reset_num; +}; + +struct ccu_reset_controller { + struct regmap *regmap; + const struct spacemit_ccu_data *data; + struct reset_controller_dev rcdev; }; =20 /* APBS clocks start, APBS region contains and only contains all PLL clock= s */ @@ -1042,6 +1057,39 @@ static const struct spacemit_ccu_data k1_ccu_apmu_da= ta =3D { .clk_num =3D ARRAY_SIZE(k1_ccu_apmu_hws), }; =20 +static int spacemit_reset_update(struct reset_controller_dev *rcdev, + unsigned long id, bool assert) +{ + struct ccu_reset_controller *controller; + const struct ccu_reset_data *data; + u32 mask; + u32 val; + + controller =3D container_of(rcdev, struct ccu_reset_controller, rcdev); + data =3D &controller->data->reset_data[id]; + mask =3D data->assert_mask | data->deassert_mask; + val =3D assert ? data->assert_mask : data->deassert_mask; + + return regmap_update_bits(controller->regmap, data->offset, mask, val); +} + +static int spacemit_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + return spacemit_reset_update(rcdev, id, true); +} + +static int spacemit_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + return spacemit_reset_update(rcdev, id, false); +} + +static const struct reset_control_ops spacemit_reset_control_ops =3D { + .assert =3D spacemit_reset_assert, + .deassert =3D spacemit_reset_deassert, +}; + static int spacemit_ccu_register(struct device *dev, struct regmap *regmap, struct regmap *lock_regmap, @@ -1090,9 +1138,37 @@ static int spacemit_ccu_register(struct device *dev, return ret; } =20 +static int spacemit_reset_controller_register(struct device *dev, + struct regmap *regmap, + const struct spacemit_ccu_data *data) +{ + struct ccu_reset_controller *controller; + struct reset_controller_dev *rcdev; + + /* Resets are optional */ + if (!data->reset_data) + return 0; + + controller =3D devm_kzalloc(dev, sizeof(*controller), GFP_KERNEL); + if (!controller) + return -ENOMEM; + + controller->regmap =3D regmap; + controller->data =3D data; + + rcdev =3D &controller->rcdev; + rcdev->ops =3D &spacemit_reset_control_ops; + rcdev->owner =3D THIS_MODULE; + rcdev->of_node =3D dev->of_node; + rcdev->nr_resets =3D data->reset_num; + + return devm_reset_controller_register(dev, rcdev); +} + static int k1_ccu_probe(struct platform_device *pdev) { struct regmap *base_regmap, *lock_regmap =3D NULL; + const struct spacemit_ccu_data *data; struct device *dev =3D &pdev->dev; int ret; =20 @@ -1121,11 +1197,15 @@ static int k1_ccu_probe(struct platform_device *pde= v) "failed to get lock regmap\n"); } =20 - ret =3D spacemit_ccu_register(dev, base_regmap, lock_regmap, - of_device_get_match_data(dev)); + data =3D of_device_get_match_data(dev); + ret =3D spacemit_ccu_register(dev, base_regmap, lock_regmap, data); if (ret) return dev_err_probe(dev, ret, "failed to register clocks\n"); =20 + ret =3D spacemit_reset_controller_register(dev, base_regmap, data); + if (ret) + return dev_err_probe(dev, ret, "failed to register reset controller\n"); + return 0; } =20 --=20 2.45.2 From nobody Sat Feb 7 22:54:47 2026 Received: from mail-il1-f175.google.com (mail-il1-f175.google.com [209.85.166.175]) (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 4B9BE28B504 for ; Mon, 14 Apr 2025 19:17:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658250; cv=none; b=b/Z5bxl8kRiV4aNESDyam3+boBqfNBIuNUkNPUEdFnQYqD7Zv5P2Wa4C7PQMg2foSeRwYBa2SkuliXotjBeYZ9ui34UdKPiKursxdGtPlmyMUtrhkurd+2mrgOsLGU7F7TucmKQvO6nOc87kafZ5zOMKZreVJLMQhlj4ugrpnwQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658250; c=relaxed/simple; bh=rRLr7JYSf9deczswyxADmnoR3CeLqynEvK58JnXyxzs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BVlfXdlgEguNGRXyUm0AABY00xTtazldFJ+CwAfRrDDoAmXJBcgvrLNurb8hKAsoALvXj2MCnahiz2A4CsQxgBir+4CIGVIQIX1/Hi8gDPqrZ41nw2HjvJ6Y29Dm1l8YjdGNIpm8I+w0ogTGZrUlhgLyeit9xcwxwZA36IvZj64= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=pjsDYUFV; arc=none smtp.client-ip=209.85.166.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="pjsDYUFV" Received: by mail-il1-f175.google.com with SMTP id e9e14a558f8ab-3d7f4cb75f3so11344555ab.2 for ; Mon, 14 Apr 2025 12:17:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658246; x=1745263046; 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=UX2QVIvzLzZ1cDQOJh0nCMfQXozWLmsDE0zJA0sjkm8=; b=pjsDYUFV/LNd+ITOJqoD8bzbrMc/err2jEDTKmvxwluVoIFNA28h5srIB6YKNwAE/p JPqpk8W5GjPQhJA2ranmW9ghNrebQK9t08kUrwMIg6LqqRGpooRJe1Gi25La3m49yHjx S74zdsNQpLxF7a1YElTX3BiLdJYanPnGM+0OTEcYM1WqPjwvhhLM9VfTq5WrgqmDx8D1 t9gvu8+AjYAizz/gftj6jRmYd2SnoqU6X5HrNsEl8i3UYyRlYOkthjp9dn6xcC/m/ukJ NMbC6SCOS6F28BQQpyeVNFSSWq6w6yTptQ+crhHhAvv7wNf96e/onh/tT9FbxRdUgJhK d7JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658246; x=1745263046; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UX2QVIvzLzZ1cDQOJh0nCMfQXozWLmsDE0zJA0sjkm8=; b=INU/psmCSCBDz+PUwEFScyOv6D1MNsawZTrB5gKZPabeQL4o4vhPNN18adTd8UdUAP hMlzWUbYXous0y0F38h0DNzYHbx52huixWER3KyuJhr6ZzBPC9QHu2OKoIggQ7pxwBNP qVpdHAAUZTaBrlw2SfQ90jkET3tDmzQEKIe8mezzZPQoqAvjXWRLy4WFy27bpmrNuYl4 xjypDav53GspydX1XqrhPo8nVknTHeWjsSEd9SaAvXl5CDOOa3mT+NqXx52V+5I/EY/b nPNITdyGvWbsHVxNNsv6fgN0KgOECwDxnQEFH404L219sxB+fiyrfN+Ksz1f5pQ+Tdh3 c1pw== X-Forwarded-Encrypted: i=1; AJvYcCW0eyzbaGdh6e3xpJbCC3v8LefD9/VY+wG+OEXr6cw4GYZ0rkdLHxXf1ECYXhO6c+h/Bsy2WagMVwfIr6s=@vger.kernel.org X-Gm-Message-State: AOJu0YyKvhGQ/qV8wUooLAyCxemmA9u0SQnNooX7XDwFiieXq+hMNjp7 bT4GFNM7S+hI2f0Drc/ehofLygQtiBIa+MAJQ+VeAbAVOG2jwN6boIeyrR0HHGY= X-Gm-Gg: ASbGncsvtNCfrFqo2hwA5jZOWineszCZ9nZPMWPtziQ7B1LzGSzl8D53sg3JoAW2uAE u9zO3DYmxj2Z0OGsuhtrXEYuwr8ZALC0SqgTaPnHuWI/zUMnBsy0517EUpJibtOagNCfhyQkMCE OMr450A1dRWa/y17BLMLJNvBgDW5BmDoFGTkOJHYNJMvJnqM1QcD6ObLsf9A4xg2MGcScgcMF5O /bU0K52hao6+IOjhT7XzEWW0Vq6UkRIuKkwrZm6hKpzUB7cf8on2E7EKEQJmalF4825vED5+EuF Iza+BjpeC+7KJ1wkAYDshrt7n7PtGEYM6Kzgv2Q4OtNs6YOASbpk1IEq7yV18XsokGVY+8S1MP/ UbiRsMEPwJ2BjPpnEnpPYaza6 X-Google-Smtp-Source: AGHT+IFNij6rQhB9DWaUqyJLHVfsY9QSNEri6b52VVjX3HeYVpOJVWEhukCWQfM+JjBmH7W+xfaQJg== X-Received: by 2002:a05:6e02:3f05:b0:3a7:820c:180a with SMTP id e9e14a558f8ab-3d7ec27ceebmr133931055ab.19.1744658246322; Mon, 14 Apr 2025 12:17:26 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:25 -0700 (PDT) From: Alex Elder To: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 4/7] clk: spacemit: define existing syscon resets Date: Mon, 14 Apr 2025 14:17:11 -0500 Message-ID: <20250414191715.2264758-5-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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" Define reset controls associated with the MPMU, APBC, and APMU SpacemiT K1 CCUs. These already have clocks associated with them. Signed-off-by: Alex Elder --- drivers/clk/spacemit/ccu-k1.c | 120 ++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c index 020e751a9f305..09f101a52b1af 100644 --- a/drivers/clk/spacemit/ccu-k1.c +++ b/drivers/clk/spacemit/ccu-k1.c @@ -136,6 +136,13 @@ struct ccu_reset_data { u32 deassert_mask; }; =20 +#define RESET_DATA(_offset, _assert_mask, _deassert_mask) \ + { \ + .offset =3D (_offset), \ + .assert_mask =3D (_assert_mask), \ + .deassert_mask =3D (_deassert_mask), \ + } + struct spacemit_ccu_data { struct clk_hw **clk_hws; /* array */ size_t clk_num; @@ -836,6 +843,7 @@ static struct clk_hw *k1_ccu_pll_hws[] =3D { static const struct spacemit_ccu_data k1_ccu_pll_data =3D { .clk_hws =3D k1_ccu_pll_hws, .clk_num =3D ARRAY_SIZE(k1_ccu_pll_hws), + /* No resets in the PLL CCU */ }; =20 static struct clk_hw *k1_ccu_mpmu_hws[] =3D { @@ -874,9 +882,15 @@ static struct clk_hw *k1_ccu_mpmu_hws[] =3D { [CLK_WDT_BUS] =3D &wdt_bus_clk.common.hw, }; =20 +static const struct ccu_reset_data mpmu_reset_data[] =3D { + [RESET_WDT] =3D RESET_DATA(MPMU_WDTPCR, BIT(2), 0), +}; + static const struct spacemit_ccu_data k1_ccu_mpmu_data =3D { .clk_hws =3D k1_ccu_mpmu_hws, .clk_num =3D ARRAY_SIZE(k1_ccu_mpmu_hws), + .reset_data =3D mpmu_reset_data, + .reset_num =3D ARRAY_SIZE(mpmu_reset_data), }; =20 static struct clk_hw *k1_ccu_apbc_hws[] =3D { @@ -982,9 +996,65 @@ static struct clk_hw *k1_ccu_apbc_hws[] =3D { [CLK_IPC_AP2AUD_BUS] =3D &ipc_ap2aud_bus_clk.common.hw, }; =20 +static const struct ccu_reset_data apbc_reset_data[] =3D { + [RESET_UART0] =3D RESET_DATA(APBC_UART1_CLK_RST, BIT(2), 0), + [RESET_UART2] =3D RESET_DATA(APBC_UART2_CLK_RST, BIT(2), 0), + [RESET_GPIO] =3D RESET_DATA(APBC_GPIO_CLK_RST, BIT(2), 0), + [RESET_PWM0] =3D RESET_DATA(APBC_PWM0_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM1] =3D RESET_DATA(APBC_PWM1_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM2] =3D RESET_DATA(APBC_PWM2_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM3] =3D RESET_DATA(APBC_PWM3_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM4] =3D RESET_DATA(APBC_PWM4_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM5] =3D RESET_DATA(APBC_PWM5_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM6] =3D RESET_DATA(APBC_PWM6_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM7] =3D RESET_DATA(APBC_PWM7_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM8] =3D RESET_DATA(APBC_PWM8_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM9] =3D RESET_DATA(APBC_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM10] =3D RESET_DATA(APBC_PWM10_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM11] =3D RESET_DATA(APBC_PWM11_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM12] =3D RESET_DATA(APBC_PWM12_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM13] =3D RESET_DATA(APBC_PWM13_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM14] =3D RESET_DATA(APBC_PWM14_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM15] =3D RESET_DATA(APBC_PWM15_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM16] =3D RESET_DATA(APBC_PWM16_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM17] =3D RESET_DATA(APBC_PWM17_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM18] =3D RESET_DATA(APBC_PWM18_CLK_RST, BIT(2), BIT(0)), + [RESET_PWM19] =3D RESET_DATA(APBC_PWM19_CLK_RST, BIT(2), BIT(0)), + [RESET_SSP3] =3D RESET_DATA(APBC_SSP3_CLK_RST, BIT(2), 0), + [RESET_UART3] =3D RESET_DATA(APBC_UART3_CLK_RST, BIT(2), 0), + [RESET_RTC] =3D RESET_DATA(APBC_RTC_CLK_RST, BIT(2), 0), + [RESET_TWSI0] =3D RESET_DATA(APBC_TWSI0_CLK_RST, BIT(2), 0), + [RESET_TIMERS1] =3D RESET_DATA(APBC_TIMERS1_CLK_RST, BIT(2), 0), + [RESET_AIB] =3D RESET_DATA(APBC_AIB_CLK_RST, BIT(2), 0), + [RESET_TIMERS2] =3D RESET_DATA(APBC_TIMERS2_CLK_RST, BIT(2), 0), + [RESET_ONEWIRE] =3D RESET_DATA(APBC_ONEWIRE_CLK_RST, BIT(2), 0), + [RESET_SSPA0] =3D RESET_DATA(APBC_SSPA0_CLK_RST, BIT(2), 0), + [RESET_SSPA1] =3D RESET_DATA(APBC_SSPA1_CLK_RST, BIT(2), 0), + [RESET_DRO] =3D RESET_DATA(APBC_DRO_CLK_RST, BIT(2), 0), + [RESET_IR] =3D RESET_DATA(APBC_IR_CLK_RST, BIT(2), 0), + [RESET_TWSI1] =3D RESET_DATA(APBC_TWSI1_CLK_RST, BIT(2), 0), + [RESET_TSEN] =3D RESET_DATA(APBC_TSEN_CLK_RST, BIT(2), 0), + [RESET_TWSI2] =3D RESET_DATA(APBC_TWSI2_CLK_RST, BIT(2), 0), + [RESET_TWSI4] =3D RESET_DATA(APBC_TWSI4_CLK_RST, BIT(2), 0), + [RESET_TWSI5] =3D RESET_DATA(APBC_TWSI5_CLK_RST, BIT(2), 0), + [RESET_TWSI6] =3D RESET_DATA(APBC_TWSI6_CLK_RST, BIT(2), 0), + [RESET_TWSI7] =3D RESET_DATA(APBC_TWSI7_CLK_RST, BIT(2), 0), + [RESET_TWSI8] =3D RESET_DATA(APBC_TWSI8_CLK_RST, BIT(2), 0), + [RESET_IPC_AP2AUD] =3D RESET_DATA(APBC_IPC_AP2AUD_CLK_RST, BIT(2), 0), + [RESET_UART4] =3D RESET_DATA(APBC_UART4_CLK_RST, BIT(2), 0), + [RESET_UART5] =3D RESET_DATA(APBC_UART5_CLK_RST, BIT(2), 0), + [RESET_UART6] =3D RESET_DATA(APBC_UART6_CLK_RST, BIT(2), 0), + [RESET_UART7] =3D RESET_DATA(APBC_UART7_CLK_RST, BIT(2), 0), + [RESET_UART8] =3D RESET_DATA(APBC_UART8_CLK_RST, BIT(2), 0), + [RESET_UART9] =3D RESET_DATA(APBC_UART9_CLK_RST, BIT(2), 0), + [RESET_CAN0] =3D RESET_DATA(APBC_CAN0_CLK_RST, BIT(2), 0), +}; + static const struct spacemit_ccu_data k1_ccu_apbc_data =3D { .clk_hws =3D k1_ccu_apbc_hws, .clk_num =3D ARRAY_SIZE(k1_ccu_apbc_hws), + .reset_data =3D apbc_reset_data, + .reset_num =3D ARRAY_SIZE(apbc_reset_data), }; =20 static struct clk_hw *k1_ccu_apmu_hws[] =3D { @@ -1052,9 +1122,59 @@ static struct clk_hw *k1_ccu_apmu_hws[] =3D { [CLK_EMMC_BUS] =3D &emmc_bus_clk.common.hw, }; =20 +static const struct ccu_reset_data apmu_reset_data[] =3D { + [RESET_CCIC_4X] =3D RESET_DATA(APMU_CCIC_CLK_RES_CTRL, 0, BIT(1)), + [RESET_CCIC1_PHY] =3D RESET_DATA(APMU_CCIC_CLK_RES_CTRL, 0, BIT(2)), + [RESET_SDH_AXI] =3D RESET_DATA(APMU_SDH0_CLK_RES_CTRL, 0, BIT(0)), + [RESET_SDH0] =3D RESET_DATA(APMU_SDH0_CLK_RES_CTRL, 0, BIT(1)), + [RESET_SDH1] =3D RESET_DATA(APMU_SDH1_CLK_RES_CTRL, 0, BIT(1)), + [RESET_SDH2] =3D RESET_DATA(APMU_SDH2_CLK_RES_CTRL, 0, BIT(1)), + [RESET_USBP1_AXI] =3D RESET_DATA(APMU_USB_CLK_RES_CTRL, 0, BIT(4)), + [RESET_USB_AXI] =3D RESET_DATA(APMU_USB_CLK_RES_CTRL, 0, BIT(0)), + [RESET_USB3_0] =3D RESET_DATA(APMU_USB_CLK_RES_CTRL, 0, + BIT(11) | BIT(10) | BIT(9)), + [RESET_QSPI] =3D RESET_DATA(APMU_QSPI_CLK_RES_CTRL, 0, BIT(1)), + [RESET_QSPI_BUS] =3D RESET_DATA(APMU_QSPI_CLK_RES_CTRL, 0, BIT(0)), + [RESET_DMA] =3D RESET_DATA(APMU_DMA_CLK_RES_CTRL, 0, BIT(0)), + [RESET_AES] =3D RESET_DATA(APMU_AES_CLK_RES_CTRL, 0, BIT(4)), + [RESET_VPU] =3D RESET_DATA(APMU_VPU_CLK_RES_CTRL, 0, BIT(0)), + [RESET_GPU] =3D RESET_DATA(APMU_GPU_CLK_RES_CTRL, 0, BIT(1)), + [RESET_EMMC] =3D RESET_DATA(APMU_PMUA_EM_CLK_RES_CTRL, 0, BIT(1)), + [RESET_EMMC_X] =3D RESET_DATA(APMU_PMUA_EM_CLK_RES_CTRL, 0, BIT(0)), + [RESET_AUDIO] =3D RESET_DATA(APMU_AUDIO_CLK_RES_CTRL, 0, + BIT(3) | BIT(2) | BIT(0)), + [RESET_HDMI] =3D RESET_DATA(APMU_HDMI_CLK_RES_CTRL, 0, BIT(9)), + [RESET_PCIE0] =3D RESET_DATA(APMU_PCIE_CLK_RES_CTRL_0, BIT(8), + BIT(5) | BIT(4) | BIT(3)), + [RESET_PCIE1] =3D RESET_DATA(APMU_PCIE_CLK_RES_CTRL_1, BIT(8), + BIT(5) | BIT(4) | BIT(3)), + [RESET_PCIE2] =3D RESET_DATA(APMU_PCIE_CLK_RES_CTRL_2, BIT(8), + BIT(5) | BIT(4) | BIT(3)), + [RESET_EMAC0] =3D RESET_DATA(APMU_EMAC0_CLK_RES_CTRL, 0, BIT(1)), + [RESET_EMAC1] =3D RESET_DATA(APMU_EMAC1_CLK_RES_CTRL, 0, BIT(1)), + [RESET_JPG] =3D RESET_DATA(APMU_JPG_CLK_RES_CTRL, 0, BIT(0)), + [RESET_CCIC2PHY] =3D RESET_DATA(APMU_CSI_CCIC2_CLK_RES_CTRL, 0, BIT(2)), + [RESET_CCIC3PHY] =3D RESET_DATA(APMU_CSI_CCIC2_CLK_RES_CTRL, 0, BIT(29)), + [RESET_CSI] =3D RESET_DATA(APMU_CSI_CCIC2_CLK_RES_CTRL, 0, BIT(1)), + [RESET_ISP] =3D RESET_DATA(APMU_ISP_CLK_RES_CTRL, 0, BIT(0)), + [RESET_ISP_CPP] =3D RESET_DATA(APMU_ISP_CLK_RES_CTRL, 0, BIT(27)), + [RESET_ISP_BUS] =3D RESET_DATA(APMU_ISP_CLK_RES_CTRL, 0, BIT(3)), + [RESET_ISP_CI] =3D RESET_DATA(APMU_ISP_CLK_RES_CTRL, 0, BIT(16)), + [RESET_DPU_MCLK] =3D RESET_DATA(APMU_LCD_CLK_RES_CTRL2, 0, BIT(9)), + [RESET_DPU_ESC] =3D RESET_DATA(APMU_LCD_CLK_RES_CTRL1, 0, BIT(3)), + [RESET_DPU_HCLK] =3D RESET_DATA(APMU_LCD_CLK_RES_CTRL1, 0, BIT(4)), + [RESET_DPU_SPIBUS] =3D RESET_DATA(APMU_LCD_SPI_CLK_RES_CTRL, 0, BIT(4)), + [RESET_DPU_SPI_HBUS] =3D RESET_DATA(APMU_LCD_SPI_CLK_RES_CTRL, 0, BIT(2)), + [RESET_V2D] =3D RESET_DATA(APMU_LCD_CLK_RES_CTRL1, 0, BIT(27)), + [RESET_MIPI] =3D RESET_DATA(APMU_LCD_CLK_RES_CTRL1, 0, BIT(15)), + [RESET_MC] =3D RESET_DATA(APMU_PMUA_MC_CTRL, 0, BIT(0)), +}; + static const struct spacemit_ccu_data k1_ccu_apmu_data =3D { .clk_hws =3D k1_ccu_apmu_hws, .clk_num =3D ARRAY_SIZE(k1_ccu_apmu_hws), + .reset_data =3D apmu_reset_data, + .reset_num =3D ARRAY_SIZE(apmu_reset_data), }; =20 static int spacemit_reset_update(struct reset_controller_dev *rcdev, --=20 2.45.2 From nobody Sat Feb 7 22:54:47 2026 Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) (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 7953128F51D for ; Mon, 14 Apr 2025 19:17:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658251; cv=none; b=Zv5TxZouMAVcImUOUgVbZILxyogTL9a0siCcwckWbb8yQ9KWU5AgTaN7P7UiQfFkhrIzgEp8J0f5nqdBkCx2xF9AdUk3rTGefgbPKO4X4wT3AXDcdX3clrT94/uDwP2vnuPY7Nd32LLkHbwsCMIo7DRaJqv3rHffX8Otu8IGd4g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658251; c=relaxed/simple; bh=VngyX6/mQNFodLjeygVOszXh7E8fNJcmhtKdA0Y9TqY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hE1aYXtliQ1tGfXRceJ1B4c5kZvHqaYcx2y7ovyiYPGZh0qywWnGNm4016n0JvvfSqQ6n21MmsBcfzLGxpNZzwa44TN7Ah735UXvU3s9lA3o1ohl0WUe90cRUGbFofsJ5/dnRpUwB7vQ6XvkthTC0N9YA+OiPy2kcVQQcv3Ra5w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=xdLh4OXv; arc=none smtp.client-ip=209.85.166.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="xdLh4OXv" Received: by mail-il1-f182.google.com with SMTP id e9e14a558f8ab-3d46ef71b6cso39949355ab.3 for ; Mon, 14 Apr 2025 12:17:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658247; x=1745263047; 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=gDT0XH54WFDdqavzCUnk8zHnVq9DAgWjCd2zBxfaNdY=; b=xdLh4OXv6IuZq8hx0LyYkwRWPToblne6uMxQtC6HHsQb2tzuTfoJvEi+nPWfURVfPU AD4fMCE58ioyuCqUYwt5BvQllruqYlAUasJykcIj715u4GdzhXZqvPtUfdxUfyzYOZvC nTxKwUc4De+d/NiKB40wJhS87ZImv4qVMQ+JK6qFBC38DjPJow1lDOtP8WB5uWwlEQEM seZRqJtSD9zPULK9q8Ac0bqEz8hf5+w+kSjc8S/S7hrs7YC8SIXu//i87qXgCla64R5i J2YCTcB3P1K7J2n2/HQmgGrXvjGivJ+g1f8+hXgmyjp4RO9KczECxv/Kk55sqzCJJkdR WyOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658247; x=1745263047; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gDT0XH54WFDdqavzCUnk8zHnVq9DAgWjCd2zBxfaNdY=; b=tFPIM86efact0DgH8okBZw16zOMghog/6rrL29GmelMOwpFnhpWqC8X59ryX7Mosqo tW8fnfb8Ae8GKcBC3DP3/9hx0JvqNdeiAg9KyM5JL95Bq5Vcac8B43F9LuVrUqpDyanE I/+3r5MAoeyvNXCoKgWb2ytmech8IKpK1etRmFiPlOSB8dQQwrX/xap97NfpaHQA2MuR B3UkIC065KHyc1fcJ100damCxI0X0zZnA04bOiZBhMjJTe33boyXNxFkQQlLsPvNKZrD qwB+If3zt/uINASOJgzs5ZtMRtt/eyQ9ghq+XypAbdrDU2DnTBd+QsXqaYqBeMuJGfCv gRhQ== X-Forwarded-Encrypted: i=1; AJvYcCVFno/U6T1WF7ugiHo1YCDiNmHbh9OaxixNrFVS1nerfQU0VKvciyDbWsrx18JYuRQLXMOtUh8gh2l3XKQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxduASpfoJGr2PiTUIDkDMZc7QImCkgURm1eAnqL2nuhtrFP7ZM pw1gthg/eubXXrkyTjjqhCpuYuiGhdFbDbMiTs9PAkiQnWium/1GbKB2ImC1sC4= X-Gm-Gg: ASbGncuxOOGFXBU7jwuPQfdURRMS2LzPpgAWrVTfCnUdaIhaxybvYunWRFc/ND4u5oh w+dCFsvoqSeE7oIClP7nrsPQo0dcuvEAR92fXYrlw42aUtdQLZoQOOOu+GhU+06rtwqDFl+6sdn D8A6CYA+BRz5530tkmNfVg/vCr2A84Gd4/iUPiZzR4YNdWiZpw/siE2OD5MVkypyTzyaHSzdICX sV57xKVdKfTXf6xGoev83P0UEoeUovegVSW/GKtS/CfZP/cVimgATzi0vbdeBEe7Mc6UdtFGHCT rPJ0lPGWeEMoMmBYbJcAch3k8ekVmPvFcG9ei8kp4j9FT5qXYT12S8DobQMyoFx+0SV5gMZEA11 BQcMp6JEmPWlbmQ== X-Google-Smtp-Source: AGHT+IHJnhTbYGz+3fsC47NWjJwKIj8trSko9MC7l40QBwUPgSKgLh4fWO2GzddHNuwBXhAUnso6EQ== X-Received: by 2002:a05:6e02:1945:b0:3d4:2306:6d6 with SMTP id e9e14a558f8ab-3d7ec27bd0cmr159074725ab.21.1744658247528; Mon, 14 Apr 2025 12:17:27 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:27 -0700 (PDT) From: Alex Elder To: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 5/7] clk: spacemit: make clocks optional Date: Mon, 14 Apr 2025 14:17:12 -0500 Message-ID: <20250414191715.2264758-6-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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" There are some syscon devices that support both clocks and resets, but for now only their reset functionality is required. Make defining clocks optional for a SpacemiT CCU, though at least one clock or at least one reset controller must be defined. Signed-off-by: Alex Elder --- drivers/clk/spacemit/ccu-k1.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c index 09f101a52b1af..7494c97c3c7ec 100644 --- a/drivers/clk/spacemit/ccu-k1.c +++ b/drivers/clk/spacemit/ccu-k1.c @@ -1218,6 +1218,10 @@ static int spacemit_ccu_register(struct device *dev, struct clk_hw_onecell_data *clk_data; int i, ret; =20 + /* Clocks are optional */ + if (!data->clk_hws) + return 0; + clk_data =3D devm_kzalloc(dev, struct_size(clk_data, hws, data->clk_num), GFP_KERNEL); if (!clk_data) @@ -1329,6 +1333,7 @@ static int k1_ccu_probe(struct platform_device *pdev) return 0; } =20 +/* Match data is required; its clk_hws or reset_data field must be non-nul= l */ static const struct of_device_id of_k1_ccu_match[] =3D { { .compatible =3D "spacemit,k1-pll", --=20 2.45.2 From nobody Sat Feb 7 22:54:47 2026 Received: from mail-il1-f179.google.com (mail-il1-f179.google.com [209.85.166.179]) (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 ABBCB1D6193 for ; Mon, 14 Apr 2025 19:17:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658251; cv=none; b=krGUYySaFGupERFq1FudvFynl2QkzmpOQYpsaAOsczpJCRczVudQBp+LC9eb8q9F1Tjq7b1DVIXLqfF4l1Mis6N2UaWZQ6qhdI/nq3i6bF/DyeG8LH2UYY785bnKh5JOpsATkyuA7cFWJZvvni0ifyoW7Uo+0nswyvZIbxiGtqI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658251; c=relaxed/simple; bh=Ton9zULQiLlzQm1bS0I8+M483y6C5NEkcC2ETII9FFg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F32Lg9XjsC+n7Vl6nOcYeHufisp3bvDGWD8D61zg6OJijYgMZ8ZRcjORajjWpREnIwB9DdMjOlWK2szkp7LxRq3ondtoqYAwZsh8zepk8LpjbaDsinKTBD8CLzFzSfcs5EogNZTBfxKoYe2Pg0bRYkCy+DM13/Shyli11q3OQoM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=fb1MCaYg; arc=none smtp.client-ip=209.85.166.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="fb1MCaYg" Received: by mail-il1-f179.google.com with SMTP id e9e14a558f8ab-3d7f111e9e1so29189455ab.1 for ; Mon, 14 Apr 2025 12:17:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658249; x=1745263049; 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=rwdVaBETwxDWpM+5yDsk4U+9VwHFz4zWoTYQSSEXcvE=; b=fb1MCaYgXbuIOE2f6P5I65h+8MzCw6eQ3ELcZhHB42vd6+KVQBKKtgf+vPr4TskjH4 iJ0C8pt4+53PekCEq5EiWmivpY81ZeNI4vRjnD1RkkP1GXiGidGYNm2IBax+g36amK6+ IqPAgAI9HxKYK4M3FuHcsJI4KRd7ted0kiO+jNQxzJt+p9/ejl7uuHgIUFSawtARgiuT xXjtXw9Y4tcwAZZIbxst8pH0oYVuPQgwv7rUHzin1URTogbqA1DO5CP21sWjh7N9C095 1IPnZhD7Y5s5zxcUFwj+h9F7SmL2NFNF71xXHBazJx5RvcSd+xwhoj6rS8Nb5Og8EsgJ ly0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658249; x=1745263049; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rwdVaBETwxDWpM+5yDsk4U+9VwHFz4zWoTYQSSEXcvE=; b=JkwMF9l9fm9POfE2vMHrGrMO+6inSRqOY0mWvP/shs84iWfgn33yNLJM4Bs7IPQcqQ BgxSIJie0g/j3WySSIIWfhve1gFXpZG7GS1fWTTKeyjCL8E6KPSiSp4ouRiLPocbdlyX awH21fRgU0Mod7tsCC4Mkr7WEVVBtCmuc++q1bnavfP+jYRfcsM49nmTkEZqmCejtnE3 qUJiCfD4REyRWGYo7JxEyYYqN2RQuh9MfnSvDS5f7+Yq09qmRMRsnq3VQg6d1cfeU/Qo ODF4Ca+2T684fxiWtfpbYNiGHVUuKxVtdeQKuKE2v6A1ywOfDU/JdoFCXaRFg5J73Fhf 4Dag== X-Forwarded-Encrypted: i=1; AJvYcCXi3one2Ao9g+8mXQhC8l0LH0ZNa/MDAUHSK93+sa/rBzcKi90PE95pnTnQYyxHdqziV+3rjOd5pFqGTXs=@vger.kernel.org X-Gm-Message-State: AOJu0YwR4Gqh5Mhz8ohbeME+uzw+keDUSHl4i72gQwwcT5S/SDWVeQDe uBynbCID8hdO53B6PpdT8vaw0efBEgAlmhOZy3ql0xSvBsM048yOF4yGRH/i2SQ= X-Gm-Gg: ASbGnctg94iUY+iTt8Zf3GqsKTkeZcdcPA4RWnS0MfV2UYUdsk+PhjhyaKvjWCpP4x5 MJf78JCsSnMFPdGOxRY74YKYzQYVF228CxyIweqfSSSgxQNVdckrjq5dcPFfDRnaH4+KEWwDydE fo9PwDvaz3Hi/rUjhdX5SJnPWvmG4s5JTY0ePfC9r+Z6jUK7stCEr6CcjpylD4gxl6nm5YIcx8r is6I87UzMxWZjnDHmvBss9IcXsf/TxVq2E2rTkcwqQovuznFypXJUHUJ7VWcLD7JQHh7vEXclGn XqzJo6EaCsebVKQqGqepzFLHgyKRrMAFHqbiOilQICzprAWIcDaBmILpECl93VFXZuIeocuhhgt xrn4c6iaP2j3dzynI6w7mzUpH X-Google-Smtp-Source: AGHT+IGALOK7ig51+oL4dJYMMU7C6xF63EBGCVneXzwZOXrq7mBo4YaHe/qyW+GSY33q0r700Y9bnQ== X-Received: by 2002:a05:6e02:2191:b0:3d4:38a4:388e with SMTP id e9e14a558f8ab-3d7ec1ec47dmr151224735ab.1.1744658248748; Mon, 14 Apr 2025 12:17:28 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:28 -0700 (PDT) From: Alex Elder To: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 6/7] clk: spacemit: define new syscons with only resets Date: Mon, 14 Apr 2025 14:17:13 -0500 Message-ID: <20250414191715.2264758-7-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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" Enable support for three additional syscon CCUs which support reset controls but no clocks: ARCPU, RCPU2, and APBC2. Signed-off-by: Alex Elder --- drivers/clk/spacemit/ccu-k1.c | 93 +++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c index 7494c97c3c7ec..cd1a0668bd203 100644 --- a/drivers/clk/spacemit/ccu-k1.c +++ b/drivers/clk/spacemit/ccu-k1.c @@ -130,6 +130,36 @@ #define APMU_EMAC0_CLK_RES_CTRL 0x3e4 #define APMU_EMAC1_CLK_RES_CTRL 0x3ec =20 +/* RCPU register offsets */ +#define RCPU_SSP0_CLK_RST 0x0028 +#define RCPU_I2C0_CLK_RST 0x0030 +#define RCPU_UART1_CLK_RST 0x003c +#define RCPU_CAN_CLK_RST 0x0048 +#define RCPU_IR_CLK_RST 0x004c +#define RCPU_UART0_CLK_RST 0x00d8 +#define AUDIO_HDMI_CLK_CTRL 0x2044 + +/* RCPU2 register offsets */ +#define RCPU2_PWM0_CLK_RST 0x0000 +#define RCPU2_PWM1_CLK_RST 0x0004 +#define RCPU2_PWM2_CLK_RST 0x0008 +#define RCPU2_PWM3_CLK_RST 0x000c +#define RCPU2_PWM4_CLK_RST 0x0010 +#define RCPU2_PWM5_CLK_RST 0x0014 +#define RCPU2_PWM6_CLK_RST 0x0018 +#define RCPU2_PWM7_CLK_RST 0x001c +#define RCPU2_PWM8_CLK_RST 0x0020 +#define RCPU2_PWM9_CLK_RST 0x0024 + +/* APBC2 register offsets */ +#define APBC2_UART1_CLK_RST 0x0000 +#define APBC2_SSP2_CLK_RST 0x0004 +#define APBC2_TWSI3_CLK_RST 0x0008 +#define APBC2_RTC_CLK_RST 0x000c +#define APBC2_TIMERS0_CLK_RST 0x0010 +#define APBC2_KPC_CLK_RST 0x0014 +#define APBC2_GPIO_CLK_RST 0x001c + struct ccu_reset_data { u32 offset; u32 assert_mask; @@ -1177,6 +1207,57 @@ static const struct spacemit_ccu_data k1_ccu_apmu_da= ta =3D { .reset_num =3D ARRAY_SIZE(apmu_reset_data), }; =20 +static const struct ccu_reset_data rcpu_reset_data[] =3D { + [RESET_RCPU_SSP0] =3D RESET_DATA(RCPU_SSP0_CLK_RST, 0, BIT(0)), + [RESET_RCPU_I2C0] =3D RESET_DATA(RCPU_I2C0_CLK_RST, 0, BIT(0)), + [RESET_RCPU_UART1] =3D RESET_DATA(RCPU_UART1_CLK_RST, 0, BIT(0)), + [RESET_RCPU_IR] =3D RESET_DATA(RCPU_CAN_CLK_RST, 0, BIT(0)), + [RESET_RCPU_CAN] =3D RESET_DATA(RCPU_IR_CLK_RST, 0, BIT(0)), + [RESET_RCPU_UART0] =3D RESET_DATA(RCPU_UART0_CLK_RST, 0, BIT(0)), + [RESET_RCPU_HDMI_AUDIO] =3D RESET_DATA(AUDIO_HDMI_CLK_CTRL, 0, BIT(0)), +}; + +static struct spacemit_ccu_data k1_ccu_rcpu_data =3D { + /* No clocks in the RCPU CCU */ + .reset_data =3D rcpu_reset_data, + .reset_num =3D ARRAY_SIZE(rcpu_reset_data), +}; + +static const struct ccu_reset_data rcpu2_reset_data[] =3D { + [RESET_RCPU2_PWM0] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM1] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM2] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM3] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM4] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM5] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM6] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM7] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM8] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), + [RESET_RCPU2_PWM9] =3D RESET_DATA(RCPU2_PWM9_CLK_RST, BIT(2), BIT(0)), +}; + +static struct spacemit_ccu_data k1_ccu_rcpu2_data =3D { + /* No clocks in the RCPU2 CCU */ + .reset_data =3D rcpu2_reset_data, + .reset_num =3D ARRAY_SIZE(rcpu2_reset_data), +}; + +static const struct ccu_reset_data apbc2_reset_data[] =3D { + [RESET_APBC2_UART1] =3D RESET_DATA(APBC2_UART1_CLK_RST, BIT(2), (0)), + [RESET_APBC2_SSP2] =3D RESET_DATA(APBC2_SSP2_CLK_RST, BIT(2), (0)), + [RESET_APBC2_TWSI3] =3D RESET_DATA(APBC2_TWSI3_CLK_RST, BIT(2), (0)), + [RESET_APBC2_RTC] =3D RESET_DATA(APBC2_RTC_CLK_RST, BIT(2), (0)), + [RESET_APBC2_TIMERS0] =3D RESET_DATA(APBC2_TIMERS0_CLK_RST, BIT(2), (0)), + [RESET_APBC2_KPC] =3D RESET_DATA(APBC2_KPC_CLK_RST, BIT(2), (0)), + [RESET_APBC2_GPIO] =3D RESET_DATA(APBC2_GPIO_CLK_RST, BIT(2), (0)), +}; + +static struct spacemit_ccu_data k1_ccu_apbc2_data =3D { + /* No clocks in the APBC2 CCU */ + .reset_data =3D apbc2_reset_data, + .reset_num =3D ARRAY_SIZE(apbc2_reset_data), +}; + static int spacemit_reset_update(struct reset_controller_dev *rcdev, unsigned long id, bool assert) { @@ -1351,6 +1432,18 @@ static const struct of_device_id of_k1_ccu_match[] = =3D { .compatible =3D "spacemit,k1-syscon-apmu", .data =3D &k1_ccu_apmu_data, }, + { + .compatible =3D "spacemit,k1-syscon-rcpu", + .data =3D &k1_ccu_rcpu_data, + }, + { + .compatible =3D "spacemit,k1-syscon-rcpu2", + .data =3D &k1_ccu_rcpu2_data, + }, + { + .compatible =3D "spacemit,k1-syscon-apbc2", + .data =3D &k1_ccu_apbc2_data, + }, { } }; MODULE_DEVICE_TABLE(of, of_k1_ccu_match); --=20 2.45.2 From nobody Sat Feb 7 22:54:47 2026 Received: from mail-il1-f174.google.com (mail-il1-f174.google.com [209.85.166.174]) (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 C1638291168 for ; Mon, 14 Apr 2025 19:17:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658252; cv=none; b=PfMJNxzEllwlIs+vU56/uH9h/+J0/dcbW+1belJhWj8taBpv4rioZxGN8ocbgUTzxQTUAB58v+NaxSsz10akWd4Tplw72JA4uXNgrqmr+STQR+8iVfmCrv/RTwdWABWHF1tfNSy8iQUPp943YaKTAccmRjXUwVSdz4hzm8+kC1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744658252; c=relaxed/simple; bh=2wkF3pIspsBICKC2HLHsuT/AUDwllqmRkvg4pojS36g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qLrXD3dpRw2W3yGdpF7wUeKUcLJ2VbKOFPVQvKcLH2EDKsLJ2YwPweIa4yEKWhrTVpoGtRQ3A9SRgXJJ7wOUY9UF/Q2tJ2ntaHbCMX/U/x/nS3Jn7vA9IVhsewkjhP8DxuU6M2g2QX66nAhAAgKq1WKZPob6ncQHLnlt074Nm0w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=XGvpJDGl; arc=none smtp.client-ip=209.85.166.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="XGvpJDGl" Received: by mail-il1-f174.google.com with SMTP id e9e14a558f8ab-3d46ef71b6cso39949665ab.3 for ; Mon, 14 Apr 2025 12:17:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1744658250; x=1745263050; 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=eoPF+bCrpMBavT+34w02cPZ0ktfHw7A1w/wlErW18/c=; b=XGvpJDGlUOuOcwFU6L0ajuTRJz3pbX13JRfyZgt5xQiPGERRE2dO2mldeUGmP1h8H/ HEP/fSUu562TBf/gqJN21KMBKREzeVDozKgJNGbAd+rEaiVd02/Qg93HpcH8T7pP9dQs fq3jkEwAh7p93NPkyhTp58fxk+lm7XYp3uKZB25f8AYltN55X4qY76hhrm2xgXmDU6gE VuxapUg86L+VDodfqz+YLEw+3oUTci5dK7wM/CCFf/LCxSfeq7pFu+lmgXbRiDjBE5++ xOreBNP1YHQ05Gao8wBt6ga1LcZoHq9hh8MMyvnAGZjYZC4eQn5OUFjqUFxZl3AmIVXA 16/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744658250; x=1745263050; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eoPF+bCrpMBavT+34w02cPZ0ktfHw7A1w/wlErW18/c=; b=lz/r9w1V8p4FWdkYPpIFiAm4CfCt/+SvHNL5tPsxQWtEPHwPMxZC3tKWIP0FjnyzEk hoj0ee6hqnVHKI/rV9VjgUr7KHPhE7ucehqxb7S+rd9moQ0pTeoJKA5zv1LnABY/mUKX AIpmpGsORm/s6DSetNCZnDm7capIrzD+aL9etJ4Kh2OwLcUd5EBYjxkRQsr2RstV/VKH WvscNAurfaIMTrXXpDgc1/6Je3SGj5+ckj4cPiSyBDo/zC+v5JBDNLbhGgXhT8Pv6hYS njJc/GqpafwSWYJqDZNCn92CMyMP9suZyE469cvw0o8k0yeSL2OQDmazGpkWWphE6Ph1 GX/Q== X-Forwarded-Encrypted: i=1; AJvYcCUVe4qz0q4AwEQV6qGLktVNHSbPdDZ7cEImT5Lj3tLIO09XnNEI6no9em0xoocsoft1YVAB5HFB/KZ4w6s=@vger.kernel.org X-Gm-Message-State: AOJu0YyQNOXIsKc6/MzXjSEq4/4MdhoGQbvRBzdZCSALNpCXu14AWqgU 7a3f8QNyMIlf4F3Rrvi4+fwSpikjlGfUCxU2DAQQsC3alnB4c9omSp0QeKO6DeY= X-Gm-Gg: ASbGncv0LUEaHSc1bHhvp1LvFjTh4g7cwKGSGZlKA31bICDbNqcFpIukBC/Ut+6Xf56 v3S/EM8YuiQiKOXiyDKCu66CDUWpT2MvITA1y6rWjb029/a1yKwbmvEuTHR3PKe69jUQmkosB1U eEKXcMgJMXSqoG4FtCHrZWqofXCspn1H06xnL4OJTw+jL7M6wsGwhu6tCnnLzjCcGiyV4wZy9Ib 0U7uD5n1JH9FVJNeHplWYXypTbs0mLOPwT9aNDxTDlfiqg7nsF7LkZcZnmHLOXTkDD41vfsoDrh e5rfmPFmDv55zrNf2Si9ZS1NfPMPmAqxYu61N2ncyXQyTRyWb91+hozLcF+OQipoN324uuW+jQI V/Z8SlDnQY2MQ2Q== X-Google-Smtp-Source: AGHT+IEU6Rd4B2MJE8zIB8lmAeawMSoY6sk0rn3tiUuI43W7gRnclnskoSuyT6dVIrc85c9v5hVyDg== X-Received: by 2002:a05:6e02:304a:b0:3d4:70ab:f96f with SMTP id e9e14a558f8ab-3d7ec20237fmr158153915ab.8.1744658249848; Mon, 14 Apr 2025 12:17:29 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f505e026d1sm2715662173.94.2025.04.14.12.17.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 12:17:29 -0700 (PDT) From: Alex Elder To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, mturquette@baylibre.com, sboyd@kernel.org Cc: p.zabel@pengutronix.de, dlan@gentoo.org, heylenay@4d2.org, guodong@riscstar.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, spacemit@lists.linux.dev, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 7/7] riscv: dts: spacemit: add reset support for the K1 SoC Date: Mon, 14 Apr 2025 14:17:14 -0500 Message-ID: <20250414191715.2264758-8-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250414191715.2264758-1-elder@riscstar.com> References: <20250414191715.2264758-1-elder@riscstar.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" Define syscon nodes for the RCPU, RCPU2, and APBC2 SpacemiT CCUS, which currently support resets but not clocks in the SpacemiT K1. Signed-off-by: Alex Elder --- arch/riscv/boot/dts/spacemit/k1.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spa= cemit/k1.dtsi index 584f0dbc60f5b..491ab891788b8 100644 --- a/arch/riscv/boot/dts/spacemit/k1.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1.dtsi @@ -346,6 +346,18 @@ soc { dma-noncoherent; ranges; =20 + syscon_rcpu: system-controller@c0880000 { + compatible =3D "spacemit,k1-syscon-rcpu"; + reg =3D <0x0 0xc0880000 0x0 0x2048>; + #reset-cells =3D <1>; + }; + + syscon_rcpu2: system-controller@c0888000 { + compatible =3D "spacemit,k1-syscon-rcpu2"; + reg =3D <0x0 0xc0888000 0x0 0x28>; + #reset-cells =3D <1>; + }; + syscon_apbc: system-control@d4015000 { compatible =3D "spacemit,k1-syscon-apbc"; reg =3D <0x0 0xd4015000 0x0 0x1000>; @@ -514,6 +526,12 @@ clint: timer@e4000000 { <&cpu7_intc 3>, <&cpu7_intc 7>; }; =20 + syscon_apbc2: system-controller@f0610000 { + compatible =3D "spacemit,k1-syscon-apbc2"; + reg =3D <0x0 0xf0610000 0x0 0x20>; + #reset-cells =3D <1>; + }; + sec_uart1: serial@f0612000 { compatible =3D "spacemit,k1-uart", "intel,xscale-uart"; reg =3D <0x0 0xf0612000 0x0 0x100>; --=20 2.45.2