From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (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 C09C22ECE84 for ; Tue, 4 Nov 2025 12:03:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257841; cv=none; b=cDLVzKDLJ+a5nwY93vKFvcnSHpGLkYRsEyPkeHA2InIafVgYfcP+Ax49QtQrzRlohiULup9j1sx28emwlBL8buEhv4TZQVtfhDB1LuFS5WIRVVxAHAZ3YWYd9wcxDqw82k81E0ZB/H4Ok/f+e+M0YAaCFMS7u/mAfT6I8svw1fA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257841; c=relaxed/simple; bh=j0EXgrYnvVA59AWsBuPviuInGMrdX8MUdYFnXuN3nj8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YOek2eMyf3RxkAwqKXHfprTRi2ahnsGmhtjCssiPh8AhGLzZNm0oyln9gg86DrTUr17kPH1gae+9jTAxb2q9eEOaAllufuquC4/nB6dkW0PhAUw2Cr89Zg22RadeSaQvP+y2kVS1UxyTrxLOEwm/7egMcGgZVaS1s0W4FRFJZK4= 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=RLVBLjuT; arc=none smtp.client-ip=209.85.218.52 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="RLVBLjuT" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-b3b27b50090so841958966b.0 for ; Tue, 04 Nov 2025 04:03:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257837; x=1762862637; 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=hQ5uBVedfr9KMSyQo0sT0JGcllMUFdDYdUnW2PHKUXc=; b=RLVBLjuTdkrv3mYRUgR7W8IF9vBK9wu+UToFWAx6wOYG4zZrlHU2/SmFnjrP5SOgMH g+lGWXMR0+nSQb9m75KuVNt0cWxKue4/493Zt/mzWwzIrIsYF53qlCNQQaQg6HljN28c VDA0cwsJbTiK5Iu+7aeF57yAV60CIWd/pQv0dAXVQiXasysKDyO1ihJ5aDvZIF58MFuy w1YoNTFXrdu8PhLi4Ge9nWhMlgQM+LgiDHFmsSgCvSc+qS5RRSJaMeY3sXbmNbs3iSJD m7miRS2QrUFlnXFa8gi2QkLlJfE27QUNShjLXzzlChBRslBTogSM5d6NZT7Lav95eMOi jjow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257837; x=1762862637; 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=hQ5uBVedfr9KMSyQo0sT0JGcllMUFdDYdUnW2PHKUXc=; b=sWdPgjVsqZXl5D8530EpoLjYMlgmG/sJ/08HzQPy7BpFMNZBYQ2SHltQgPJQycB/xE 93Tzihqb7IzotoLT1CzjXTh4grkoZPCnbbQq44kNnvV1vCuUzgNKOouNLVmUEfi4CHrV CowxeATymsfv1yVYSvAmcQ5G9bWE98mloRqIK6QqQA4shPGF3hkEPboe72fucYZrN38C sUaG9dpR3qUXTdFjWU4RJi4flpx8JZbil2i/YV5ULQPCKPwJnOaveRaKkvL+8lzqOuhx 1k4lUDndFsDNWKvB4jbgU5B1Hgww9MCAAYlBGkZNHpC9hRiJAODFMQglbny8Xw6ICisp 0sxg== X-Forwarded-Encrypted: i=1; AJvYcCXYaPfgVFrtEpcLxMND2CbCMcjB8gSkMrh7A07k+WgzSs3MYAmd2ZFWFYi1M9iimswDGbetFxUt3F985Bg=@vger.kernel.org X-Gm-Message-State: AOJu0Yz07a3dp8RPMtUWGyOJe1ifKSfisah1HQVD7BlpfKWPkPvO1Cbr 6nC3Nx40VxjoA60G8u9UqyL8aqecwrabEwwXN5GwZJwgfVD2m6VFtc3e X-Gm-Gg: ASbGncs5d7Ryf29UKav8tAaWR7ftcYWgKg9c5cTQ/velClEHkdlf99GJxdPeQng84QF RSfkiNnmcWJZjbsRzMg0kZrfaZgUXquBJyK7q150PM/p9FcWMsvM1U7DfZTgXz+CozLJRKYzb+S ehOeVqiM1UA+r4mDVmAX+2dNniNWF8CfZE0rcW72YrZe2hIHx3cyTeG48wlhRGnAWkCcI+LYisM UztUNpAM52VdF5tBvGFpGPqUm4pOOWsCpuTIPRIrvQD7HdoGz0t8I5NhBS444k1IZ8P3LRPkmbg 1ht6hNN5DUBE0JKHEhBdtsRdHnsli93yE5Xp7AmlrlY1gwvZZGRt3I6GPkwf4xoza9wl1WsxGrN QiHPzNvUU4qyV0fNbHo341cTF3PsXPqGjQ4VsMPEgodwAR5XZM+E4/RROZ+C9n7TQra+WcHaL17 h7ceaIVQz8g0fVDfy8nX1W3HR4Eg== X-Google-Smtp-Source: AGHT+IHt2fE/H6FCE9dPp9U8nFD+BbuQEZr0YcTeeDYKJn0Q0W8ZsDGbQTHbvxjqtH0OMOcDf7SSqw== X-Received: by 2002:a17:907:9484:b0:b40:da21:bf38 with SMTP id a640c23a62f3a-b70704b654cmr1611290866b.36.1762257837013; Tue, 04 Nov 2025 04:03:57 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.03.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:03:56 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 1/8] reset: imx8mp-audiomix: Fix bad mask values Date: Tue, 4 Nov 2025 04:02:54 -0800 Message-ID: <20251104120301.913-2-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea As per the i.MX8MP TRM, section 14.2 "AUDIO_BLK_CTRL", table 14.2.3.1.1 "memory map", the definition of the EARC control register shows that the EARC controller software reset is controlled via bit 0, while the EARC PHY software reset is controlled via bit 1. This means that the current definitions of IMX8MP_AUDIOMIX_EARC_RESET_MASK and IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK are wrong since their values would imply that the EARC controller software reset is controlled via bit 1 and the EARC PHY software reset is controlled via bit 2. Fix them. Fixes: a83bc87cd30a ("reset: imx8mp-audiomix: Prepare the code for more res= et bits") Cc: stable@vger.kernel.org Reviewed-by: Shengjiu Wang Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Laurentiu Mihalcea --- drivers/reset/reset-imx8mp-audiomix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-im= x8mp-audiomix.c index 6b357adfe646..eceb37ff5dc5 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -14,8 +14,8 @@ #include =20 #define IMX8MP_AUDIOMIX_EARC_RESET_OFFSET 0x200 -#define IMX8MP_AUDIOMIX_EARC_RESET_MASK BIT(1) -#define IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK BIT(2) +#define IMX8MP_AUDIOMIX_EARC_RESET_MASK BIT(0) +#define IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK BIT(1) =20 #define IMX8MP_AUDIOMIX_DSP_RUNSTALL_OFFSET 0x108 #define IMX8MP_AUDIOMIX_DSP_RUNSTALL_MASK BIT(5) --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (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 E124A2EDD50 for ; Tue, 4 Nov 2025 12:04:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257842; cv=none; b=M438rq4Mgbz7SQ9wCs7tOis4+PgPu+3TPR8MC9czhOub3cw49mRut2ZmkMstsc4J0GwoZwMr3MoyrHMFVdhs9XcPRBHgLdg4/OW9x0nOgPTviP8ODMME6G/517MawJjewcydzCK6sMsDWtPNdt+Oo9bieTD6Q8KbfXLTIBtnql8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257842; c=relaxed/simple; bh=NlDVT84FRw/2mXN8rUhepff7GU8/kbx+go4sEcGg10w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XqkVm4Q8+ks/LMFMmR90/LJ9toeqm1/HvWHvhaXa/M8wDxL2BMgf8lhV6glQHOsdGgYUkQ/w5ObDyy5rW2B2Z70LWpMdZ4SP5i03o6zZJAEzaZO71S8xR7C4Bx3VgzDBjHkhm9pVPaSTC+/m2O6pxIPUuTQGfPncbNpduP0GdCg= 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=j4tym+YM; arc=none smtp.client-ip=209.85.218.48 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="j4tym+YM" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-b50206773adso1117274566b.0 for ; Tue, 04 Nov 2025 04:04:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257839; x=1762862639; 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=63ONXHD7xxtFJR0GpIWYvdgt2ZZqq/c+9blnPN26amc=; b=j4tym+YMaMVI0fvKjlzUx7nGZO4a8F0DoJiFo2AYKMNICwV2ASjOtbStnFEu9bdw7I LuO0/k5R3c7PK8zwNjzu+gW4RoPvdSi8zo2zGSHkcTWrNVu2v4PyvmkIPIyH6tXpGOXC NqmbozvL/vpLq9aSJZZa7nvc9Rywwf+ZgV4QqVpfWQb/P85af0CwiIbzWCxJpUEpdrRL DcX8xEUiN7oe7JDxXFXsKZ2t6cQzM3oi31rSjL61ve9KBycGcwchOI9tptxqp1NHfqGl UE5FRf+/8q5f0sbt7cC1SRVEhqphAZT4RAAWpBT5F2ZoxWR0C5CR+miSv17mPxFYvBnf SPOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257839; x=1762862639; 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=63ONXHD7xxtFJR0GpIWYvdgt2ZZqq/c+9blnPN26amc=; b=DZ+tOCLKoy7fICyD8S73VRpmFPowPX32rcxelKg5xT9PMJewyfmKx3ndMgQqrko3u1 rh0sTyo9fF5wwsr4A5XCKxnjXRKs2esyNtVpMTL5Ne8BPVoYs4ACGJiaHy5fOOVn2TNb r+VdAASuW8NG3kRRdxHEMqEPEpEv3HBs3+mI9iEjMKK5r+VQ8ykvahOT0Fpxqa2dW7Q0 2yod62aX5HiqzByX8+A93FuuJ2HkL3fQ1xMS9kMWcZ1jhdE0RMUf6LmLjvGWL3T1xrJI II1S+1PoRJbKEsk2dB/LbGHZ9Gb90zw+3Xr1IK+rTnhhK6nnH0KIul4n4D4LvtcqepiZ lziw== X-Forwarded-Encrypted: i=1; AJvYcCVOWjaxSCW7lsht5S7ZdAdSTdZjbpjvQfC4PZ124jLqJ+tkWBeY1zEi+xXwuKFgITw8yUQ5xREP0n0CmKA=@vger.kernel.org X-Gm-Message-State: AOJu0YxCwsQcmz9XnyHjxzBK3dWsDvROXr4JQLolqCMwYbWyvGIFlhcJ qpNpoGVlYHvBwJHVCQOzBLEM12R72yTsHsfNvKcCfWpNTKhFGsrmupfY X-Gm-Gg: ASbGncv2gmyLut+5up80hGpuwU3IkUzbbypJYZANGGWcdFS+7uZxqjq9CReTnziXltT Ot6d+KkjCJ2vWo83FP0diJBKRoEIlYtU0nwXnc1Wq9sQ/yJj4s+VRKosDNx67WeAGAf5m6OTFqc /6FKO9wXoGOXOFI5+/Yx9eiBFRVzFquR4+Y/fVwg2ICk5KXl9ZxnPi0FFK3gfztGllM3DaLGe76 aJr/8Ld+HFkGbEYHpU3IJu5yo+sSRPGw83FjZmEvYAx6s9BLWFmgcYM8OqzhaB2Q3sNopID9dNX fd05XOfDcFRqSsRJOrF7WzfSIYC/0NTp0VIbE4cJXLB1S9KSbRVuG4jGxEAh4rgSpYWBUH7TVps 1PeP8bvHCWOikMoE4NRPnA/W/2lXYBi6BkFpQFxjUOcOhoyKVJGZbtP29j2Spe9ba5Sjruh5NTv BrOhp2/v25HvLLs2Ty2m/efHLsHg== X-Google-Smtp-Source: AGHT+IG3QLmyCjtX5/Ko9tQsUxnNB5wR4XCiP6erukrj/bGwetEYdDQuHsOKUbEeVB4dKQgbNrFB5Q== X-Received: by 2002:a17:907:72ce:b0:b6d:263c:22e1 with SMTP id a640c23a62f3a-b7217d7eb1dmr363856066b.31.1762257839139; Tue, 04 Nov 2025 04:03:59 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.03.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:03:58 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 2/8] dt-bindings: clock: document 8ULP's SIM LPAV Date: Tue, 4 Nov 2025 04:02:55 -0800 Message-ID: <20251104120301.913-3-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea Add documentation for i.MX8ULP's SIM LPAV module. Reviewed-by: Krzysztof Kozlowski Reviewed-by: Daniel Baluta Signed-off-by: Laurentiu Mihalcea --- .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++ include/dt-bindings/clock/imx8ulp-clock.h | 5 ++ .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++ 3 files changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim= -lpav.yaml create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.y= aml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml new file mode 100644 index 000000000000..662e07528d76 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX8ULP LPAV System Integration Module (SIM) + +maintainers: + - Laurentiu Mihalcea + +description: + The i.MX8ULP LPAV subsystem contains a block control module known as + SIM LPAV, which offers functionalities such as clock gating or reset + line assertion/de-assertion. + +properties: + compatible: + const: fsl,imx8ulp-sim-lpav + + reg: + maxItems: 1 + + clocks: + maxItems: 3 + + clock-names: + items: + - const: bus + - const: core + - const: plat + + '#clock-cells': + const: 1 + + '#reset-cells': + const: 1 + + mux-controller: + $ref: /schemas/mux/reg-mux.yaml# + +required: + - compatible + - reg + - clocks + - clock-names + - '#clock-cells' + - '#reset-cells' + - mux-controller + +additionalProperties: false + +examples: + - | + #include + + clock-controller@2da50000 { + compatible =3D "fsl,imx8ulp-sim-lpav"; + reg =3D <0x2da50000 0x10000>; + clocks =3D <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>, + <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>, + <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>; + clock-names =3D "bus", "core", "plat"; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + + mux-controller { + compatible =3D "reg-mux"; + #mux-control-cells =3D <1>; + mux-reg-masks =3D <0x8 0x00000200>; + }; + }; diff --git a/include/dt-bindings/clock/imx8ulp-clock.h b/include/dt-binding= s/clock/imx8ulp-clock.h index 827404fadf5c..c62d84d093a9 100644 --- a/include/dt-bindings/clock/imx8ulp-clock.h +++ b/include/dt-bindings/clock/imx8ulp-clock.h @@ -255,4 +255,9 @@ =20 #define IMX8ULP_CLK_PCC5_END 56 =20 +/* LPAV SIM */ +#define IMX8ULP_CLK_SIM_LPAV_HIFI_CORE 0 +#define IMX8ULP_CLK_SIM_LPAV_HIFI_PBCLK 1 +#define IMX8ULP_CLK_SIM_LPAV_HIFI_PLAT 2 + #endif diff --git a/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h b/include/dt-= bindings/reset/fsl,imx8ulp-sim-lpav.h new file mode 100644 index 000000000000..adf95bb26d21 --- /dev/null +++ b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright 2025 NXP + */ + +#ifndef DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H +#define DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H + +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_DBG_RST 0 +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_RST 1 +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_STALL 2 +#define IMX8ULP_SIM_LPAV_DSI_RST_BYTE_N 3 +#define IMX8ULP_SIM_LPAV_DSI_RST_ESC_N 4 +#define IMX8ULP_SIM_LPAV_DSI_RST_DPI_N 5 + +#endif /* DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H */ --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.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 4A6B52EDD60 for ; Tue, 4 Nov 2025 12:04:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257845; cv=none; b=fCb0VLyGuAfGmU+yClqHf3X5ssjXSX1zoxDmNJ7bcjxXKIPn68KgR6RhE7oj0oOee/k4Cw2/485sGFhq0KK+hZobnK7i7qzZbWLf5jdVRwknPzYCSXYg2wPG9nVvEsL7h3m5EVrV6+qMcISkVlh8YxFwnA+y5ug0m5iILJOQiro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257845; c=relaxed/simple; bh=D4SadG5nYvl7nyBB87cKRikM6SJkXeonJxlw+/bopKI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dKuU/ml4tpWqcXmit4hROMo5Xduz5ZcdvUfiGfXphQmrHSsTsrCc7nKcAGIpk4NgRK0lqHVrMp/RR6AC/Xrqn/6vVoWmG92fA61rUyMTm/LIU29iRDJSwgAKK7mdriiVs2ZhK7jB//KVVDnElbqFvSarOOvODExMnsNrIz20o0A= 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=W24ts3uQ; arc=none smtp.client-ip=209.85.218.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="W24ts3uQ" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-b7042e50899so951105566b.0 for ; Tue, 04 Nov 2025 04:04:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257842; x=1762862642; 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=T/BYF33DXlVlPj+AeWQJ/lLnj1HAK6WNR64lw8fuXu8=; b=W24ts3uQYaZSv3GFwmHRY8qRhRuLAPK+au6okfrXrlu+zB85ZHkYfOnvBTaw2UrgDb 6GzwQ0BT9K350rGrVf7L54hg62VZBddbHOCqHUO8TYhxbRw4msz5hUs2OioysoAK05Za 0bX6Rj7ZZsbH503Vp0JT8oe1+6DXw6HJX+l3dmfihUf3Z3nhIx7NaGfOgupgcTmyfw3x xhleMz0ffuLtS81NWfhlHOWAkRX8YjvsWYI2Q1trjDRtNs3kivf7WYGW+TbCfxtqRJw3 qrfeuI+1mucm9X7qjDMQHgKSdeUmFG5KLymQRbfrGvJufeyobFf8qWPIyLsghCHjbZM3 TWEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257842; x=1762862642; 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=T/BYF33DXlVlPj+AeWQJ/lLnj1HAK6WNR64lw8fuXu8=; b=UgaaIMK7yhuMWg/BBnPwbWeivwDF6uXVpKDj7zco9Jy9yppKhRfyeFjmlzR+ZTs6uS mixGS4yhJHX5m5rfoa1vaIqfFU/Daw+ET5t5XYuTVYFqizLVWIbZvuIExsbDiIHY0nqh g7q3EB9GQ77O4f+rZP9lhSyBTgLFM4+bqEkbXsO+bS0ekypBcPnJ6SBjwNoXYTglh+zk jJL44nPPg82EU/CK5c3fbHTPbeMNu0nxuGsx2Kt5kb6bm27BY2eyDCNwzWi4zN3qJfPJ S3+B5rKNKfOZLcUzIfce+8SNlttSphapf6rS9AxOl+FrloBoOJyYbQPRBYnnK+SrGYAb D7wA== X-Forwarded-Encrypted: i=1; AJvYcCWA2uV9WhoMqx17O/MtOzrDPwkk5+05gVIxG91x+K2WvpYJxkXCgaTIIIDHldjGQr6/ci9+/B7GV9JVOTs=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/m3CRKuhDzyNGFQeQuJvVIpMSRpvBp1+N48G/j7mluAta9QD0 TYybKe6AEU1D1r4S5lAh/P+cBMSg7x5IB71jcNwDvX4IyjomZgVM+01v X-Gm-Gg: ASbGncsXfjnil0psS0syk/LArjQBEb8Z0yyHTCbnmYLtc83ZfbsmUJAiXcf4ScQLXN0 tRgs/fUAyK+I5YHTd5SM8z5w288yhihc7m/xjBQrpKRmj3DpFNUSqfEoPiKCB/UBfPs9GgmNkr7 5KQokxpQzLJRgyVm7ycSRQTgQSj809ItEXUd389nHxLbaAsppz48l+ICJKxR0QoSytX6BOQ8r6M MpY3jYB3cgdLtO3MR5+X2QmOngrav8N+6Z6ulAPYki0mHd0MEBXYlUNuCpDP3bmK+g9XbTtD5g8 qyidOWj4CuG5d2nX9+amFfNxv9BsQ2NCTdRf4Q+K/Et/UpEkUlYNhQ2o/0Ht12VYici4HTvVxG7 enDq/CkosdOmnTMafELZYhVrpquh+CRimop5GwNn11gZcVWvbDml74x/ALJQjKg0/ucTqp+6cLK orEATI6WhgMHtsAcvzO479RX2orbq2tlABeYBs X-Google-Smtp-Source: AGHT+IENrgHXUckIu1P8DzjyOH/pQJ15zIuOl+8iK5w7p2OYmzxyymXxjra+BK5po5WGmx8SH+hcTg== X-Received: by 2002:a17:906:fe4e:b0:b65:abf2:417a with SMTP id a640c23a62f3a-b7070891072mr1736993766b.64.1762257841281; Tue, 04 Nov 2025 04:04:01 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.03.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:04:00 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 3/8] clk: imx: add driver for imx8ulp's sim lpav Date: Tue, 4 Nov 2025 04:02:56 -0800 Message-ID: <20251104120301.913-4-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea The i.MX8ULP System Integration Module (SIM) LPAV module is a block control module found inside the LPAV subsystem, which offers some clock gating options and reset line assertion/de-assertion capabilities. Therefore, the clock gate management is supported by registering the module's driver as a clock provider, while the reset capabilities are managed via the auxiliary device API to allow the DT node to act as a reset and clock provider. Signed-off-by: Laurentiu Mihalcea Reviewed-by: Daniel Baluta --- drivers/clk/imx/Kconfig | 1 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-imx8ulp-sim-lpav.c | 156 +++++++++++++++++++++++++ 3 files changed, 158 insertions(+) create mode 100644 drivers/clk/imx/clk-imx8ulp-sim-lpav.c diff --git a/drivers/clk/imx/Kconfig b/drivers/clk/imx/Kconfig index 6ff6d934848a..b292e7ca5c24 100644 --- a/drivers/clk/imx/Kconfig +++ b/drivers/clk/imx/Kconfig @@ -105,6 +105,7 @@ config CLK_IMX8ULP tristate "IMX8ULP CCM Clock Driver" depends on ARCH_MXC || COMPILE_TEST select MXC_CLK + select AUXILIARY_BUS help Build the driver for i.MX8ULP CCM Clock Driver =20 diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile index 03f2b2a1ab63..208b46873a18 100644 --- a/drivers/clk/imx/Makefile +++ b/drivers/clk/imx/Makefile @@ -41,6 +41,7 @@ clk-imx-lpcg-scu-$(CONFIG_CLK_IMX8QXP) +=3D clk-lpcg-scu.= o clk-imx8qxp-lpcg.o clk-imx-acm-$(CONFIG_CLK_IMX8QXP) =3D clk-imx8-acm.o =20 obj-$(CONFIG_CLK_IMX8ULP) +=3D clk-imx8ulp.o +obj-$(CONFIG_CLK_IMX8ULP) +=3D clk-imx8ulp-sim-lpav.o =20 obj-$(CONFIG_CLK_IMX1) +=3D clk-imx1.o obj-$(CONFIG_CLK_IMX25) +=3D clk-imx25.o diff --git a/drivers/clk/imx/clk-imx8ulp-sim-lpav.c b/drivers/clk/imx/clk-i= mx8ulp-sim-lpav.c new file mode 100644 index 000000000000..990c95b89b75 --- /dev/null +++ b/drivers/clk/imx/clk-imx8ulp-sim-lpav.c @@ -0,0 +1,156 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2025 NXP + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#define SYSCTRL0 0x8 + +#define IMX8ULP_HIFI_CLK_GATE(gname, cname, pname, bidx) \ + { \ + .name =3D gname "_cg", \ + .id =3D IMX8ULP_CLK_SIM_LPAV_HIFI_##cname, \ + .parent =3D { .fw_name =3D pname }, \ + .bit =3D bidx, \ + } + +struct clk_imx8ulp_sim_lpav_data { + spinlock_t lock; /* shared by MUX, clock gate and reset */ + unsigned long flags; /* for spinlock usage */ + struct clk_hw_onecell_data clk_data; /* keep last */ +}; + +struct clk_imx8ulp_sim_lpav_gate { + const char *name; + int id; + const struct clk_parent_data parent; + u8 bit; +}; + +static struct clk_imx8ulp_sim_lpav_gate gates[] =3D { + IMX8ULP_HIFI_CLK_GATE("hifi_core", CORE, "core", 17), + IMX8ULP_HIFI_CLK_GATE("hifi_pbclk", PBCLK, "bus", 18), + IMX8ULP_HIFI_CLK_GATE("hifi_plat", PLAT, "plat", 19) +}; + +static void clk_imx8ulp_sim_lpav_lock(void *arg) __acquires(&data->lock) +{ + struct clk_imx8ulp_sim_lpav_data *data =3D dev_get_drvdata(arg); + + spin_lock_irqsave(&data->lock, data->flags); +} + +static void clk_imx8ulp_sim_lpav_unlock(void *arg) __releases(&data->lock) +{ + struct clk_imx8ulp_sim_lpav_data *data =3D dev_get_drvdata(arg); + + spin_unlock_irqrestore(&data->lock, data->flags); +} + +static int clk_imx8ulp_sim_lpav_probe(struct platform_device *pdev) +{ + const struct regmap_config regmap_config =3D { + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, + .lock =3D clk_imx8ulp_sim_lpav_lock, + .unlock =3D clk_imx8ulp_sim_lpav_unlock, + .lock_arg =3D &pdev->dev, + }; + struct clk_imx8ulp_sim_lpav_data *data; + struct auxiliary_device *adev; + struct regmap *regmap; + void __iomem *base; + struct clk_hw *hw; + int i, ret; + + data =3D devm_kzalloc(&pdev->dev, + struct_size(data, clk_data.hws, ARRAY_SIZE(gates)), + GFP_KERNEL); + if (!data) + return -ENOMEM; + + dev_set_drvdata(&pdev->dev, data); + + /* + * this lock is used directly by the clock gate and indirectly + * by the reset and mux controller via the regmap API + */ + spin_lock_init(&data->lock); + + base =3D devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(base)) + return dev_err_probe(&pdev->dev, PTR_ERR(base), + "failed to ioremap base\n"); + /* + * although the clock gate doesn't use the regmap API to modify the + * registers, we still need the regmap because of the reset auxiliary + * driver and the MUX drivers, which use the parent device's regmap + */ + regmap =3D devm_regmap_init_mmio(&pdev->dev, base, ®map_config); + if (IS_ERR(regmap)) + return dev_err_probe(&pdev->dev, PTR_ERR(regmap), + "failed to initialize regmap\n"); + + data->clk_data.num =3D ARRAY_SIZE(gates); + + for (i =3D 0; i < ARRAY_SIZE(gates); i++) { + hw =3D devm_clk_hw_register_gate_parent_data(&pdev->dev, + gates[i].name, + &gates[i].parent, + CLK_SET_RATE_PARENT, + base + SYSCTRL0, + gates[i].bit, + 0x0, &data->lock); + if (IS_ERR(hw)) + return dev_err_probe(&pdev->dev, PTR_ERR(hw), + "failed to register %s gate\n", + gates[i].name); + + data->clk_data.hws[i] =3D hw; + } + + adev =3D devm_auxiliary_device_create(&pdev->dev, "reset", NULL); + if (!adev) + return dev_err_probe(&pdev->dev, -ENODEV, + "failed to register aux reset\n"); + + ret =3D devm_of_clk_add_hw_provider(&pdev->dev, + of_clk_hw_onecell_get, + &data->clk_data); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "failed to register clk hw provider\n"); + + /* used to probe MUX child device */ + return devm_of_platform_populate(&pdev->dev); +} + +static const struct of_device_id clk_imx8ulp_sim_lpav_of_match[] =3D { + { .compatible =3D "fsl,imx8ulp-sim-lpav" }, + { } +}; +MODULE_DEVICE_TABLE(of, clk_imx8ulp_sim_lpav_of_match); + +static struct platform_driver clk_imx8ulp_sim_lpav_driver =3D { + .probe =3D clk_imx8ulp_sim_lpav_probe, + .driver =3D { + .name =3D "clk-imx8ulp-sim-lpav", + .of_match_table =3D clk_imx8ulp_sim_lpav_of_match, + }, +}; +module_platform_driver(clk_imx8ulp_sim_lpav_driver); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("i.MX8ULP LPAV System Integration Module (SIM) clock dr= iver"); +MODULE_AUTHOR("Laurentiu Mihalcea "); --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.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 619B12F39BE for ; Tue, 4 Nov 2025 12:04:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257847; cv=none; b=pbQzH/ckrooduuCmNWd9DtDjLfezohEAAPtXWPFXnsTfSXZFBm9/JlHyd7bKzQZob0DdkK9cPADka8PfbcFmMxu9xW8HT1TVdemz9OAmgmZZNYn9ZjNRcT+vmuJNP8cQk+/3SsLGbr8Xeu2D2TuFMN64Bv9WlGYNlI1B0Xte3vo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257847; c=relaxed/simple; bh=TgTd1HpIl/XZJoNIxl/sF6YycwPbOWbZcWt7SX51N6Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pGj66COdKOsz/kaE8gCXWb+Hgf4T2/xH+pidDfODhTf83fyBv/BI1iFItCM0Evu/VWbtkzmYvq9kD/1BecMOMNt8rF85hgVbuOb0oVVrj3Si5+YmVAARboxBKJu3hecILbFvJ1LohWkQVQlNmeH9i7jCFdN69VzxL82gyMPC0aw= 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=SEREGphu; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SEREGphu" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b7200568b13so178913166b.1 for ; Tue, 04 Nov 2025 04:04:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257844; x=1762862644; 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=MONqpZUeZWIIjN6d114EqSMuX3Td/c118reK/5knf7I=; b=SEREGphuW7G4f/PD7getzsGEd/9jYb3YmPdN/Ewequmz744g/e/votmfzVoG6ae3pX d0IVVhzQxwREjburiCjVaDIacufOhfE6ZuKRRkPNUAe9lpRqVUGS1uKgxzGJAFMp9Pl1 FlKdhxVTuBAkeGXfgfyJHm2uyynPSjTVOIO4IHPS5Zorgi00BnMukY/h36VpbHzrvurI /aYhGoyARczJGZbXnTOv643J6oU23SKDA97SFQ60w1kgMZFBG1wa+IYMxP5T2MCVsFbE 36FR45TcQk3orfzAEiOiRJW6ZmsmLExHaJlnV0ADSIuZiIZtz7F15/39NpRG5cbOn0JL 63bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257844; x=1762862644; 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=MONqpZUeZWIIjN6d114EqSMuX3Td/c118reK/5knf7I=; b=kjDkk+LOn4+dk/6FywHBNUeAyywgASFNFXcMsc3ZWi3dZ81awayrglcdIrlMWI4+5K zC71nJcWU9vmgBURNf96izf53M69D33ReRV9P5tD9jZ6/IKsBhtekXi5AET+Bz+gxmHV eXDTtpicqFACbeZFhFxwIBV7CpxzJazhziZrvfAHWMrarj0YnlYdRX114vzzZJVbNBlc lw4rIR3sGV8s9ugcEEYyq4STi0guP+r8MXg+V26ZNYxrz/yj0HoYDw0OzeyDz09IXXqD hIfyowYDZuWX4/6PPMnkQpKquV708wZP8veu1Rxum1V0h/WbgWJTX3owqnmR9OmfRK2x O86g== X-Forwarded-Encrypted: i=1; AJvYcCWiT3pj2ABKDhW1oGElAHcHFBlc6z/6AcuL6sf/9NxwG2jKHH0G9dtvrUgc2jJDtQtyPJURVnYJ6PnTfkw=@vger.kernel.org X-Gm-Message-State: AOJu0Yws8tgMWUYkrh/fd4b16EZ+DZOd91fwCv6HFOntdR/Psey3mXaD YW+yC6ZjL9wpQxWpBljphO+AZyZoABKRXD2TKPYcTSokxEHrEK/eO5Sb X-Gm-Gg: ASbGncv5G8sv7iv5ZXgIej8rKTRq/XVEuQN+cl8YQ/7AzYSWd9dcYeXJnfJ9NKkJoc1 BYXZl9Q/0Ikn+NWrpSj27gxHtHy2Gm6zOPrKQH4cBJycHBXcaSzRdjsjJBLQT1p2bGezQ7dPKqb 2Z+gqd7XH1WE6sMuZiNM57yWNOqTYiyLIMr1ecd6T+Z53NnfPQnL+fXI/GV6rmkW28vpn4bC4kQ HK6CqVQ3kcMsna0UGxsuqVG7PSnAM6srSwMOGH59SzGICxt7WaUqAOCwQwojB5pYkptqlq9kOXN BXg/ymNDqQwBtEu3rlgjEV1lnslwWpc0XuOozE8MH04P8iRhptgHXsNI+94HVZuYiJJhKErngFG 2XrLK7SKwFEyE2DPD0WPVL7mtj4RqdoGkmbXMW+J7Q4ytlQv3Z+kbAPU2ZMkMIv4ucUwPd1Z2Iv vEy+Po9o8ZYMeZmpEfriRVpJ02tA== X-Google-Smtp-Source: AGHT+IHRrE0o2sdiIAqRFi5TYM4KHbBFm9RA/54j9UR13Jtqc+5S0hJxSBlIU42MxJbJO58DHC9lVA== X-Received: by 2002:a17:907:3da7:b0:b4b:e419:9af9 with SMTP id a640c23a62f3a-b707018cfa3mr1722945866b.23.1762257843561; Tue, 04 Nov 2025 04:04:03 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.04.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:04:03 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 4/8] reset: imx8mp-audiomix: Drop unneeded macros Date: Tue, 4 Nov 2025 04:02:57 -0800 Message-ID: <20251104120301.913-5-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea The macros defining the mask values for the EARC, EARC PHY resets, and the DSP RUN_STALL signal can be dropped as they are not and will not be used anywhere else except to set the value of the "mask" field from "struct imx8mp_reset_map". In this particular case, based on the name of the "mask" field, you can already deduce what these values are for, which is why defining macros for them doesn't offer any new information, nor does it help with the code readability. Reviewed-by: Daniel Baluta Reviewed-by: Frank Li Signed-off-by: Laurentiu Mihalcea --- drivers/reset/reset-imx8mp-audiomix.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-im= x8mp-audiomix.c index eceb37ff5dc5..e9643365a62c 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -14,11 +14,7 @@ #include =20 #define IMX8MP_AUDIOMIX_EARC_RESET_OFFSET 0x200 -#define IMX8MP_AUDIOMIX_EARC_RESET_MASK BIT(0) -#define IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK BIT(1) - #define IMX8MP_AUDIOMIX_DSP_RUNSTALL_OFFSET 0x108 -#define IMX8MP_AUDIOMIX_DSP_RUNSTALL_MASK BIT(5) =20 struct imx8mp_reset_map { unsigned int offset; @@ -29,17 +25,17 @@ struct imx8mp_reset_map { static const struct imx8mp_reset_map reset_map[] =3D { [IMX8MP_AUDIOMIX_EARC_RESET] =3D { .offset =3D IMX8MP_AUDIOMIX_EARC_RESET_OFFSET, - .mask =3D IMX8MP_AUDIOMIX_EARC_RESET_MASK, + .mask =3D BIT(0), .active_low =3D true, }, [IMX8MP_AUDIOMIX_EARC_PHY_RESET] =3D { .offset =3D IMX8MP_AUDIOMIX_EARC_RESET_OFFSET, - .mask =3D IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK, + .mask =3D BIT(1), .active_low =3D true, }, [IMX8MP_AUDIOMIX_DSP_RUNSTALL] =3D { .offset =3D IMX8MP_AUDIOMIX_DSP_RUNSTALL_OFFSET, - .mask =3D IMX8MP_AUDIOMIX_DSP_RUNSTALL_MASK, + .mask =3D BIT(5), .active_low =3D false, }, }; --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 E33BC2F4A06 for ; Tue, 4 Nov 2025 12:04:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257849; cv=none; b=pp80G/xcq7AifA+N/bHH8/e6vsOaYfgtq4UZVL7r4sn5ECE3HjMDeRXU7u/7Wc8fqpiH2DtBtOFIriEiNSIBbtobWIKD2mvaJaZVD4fFAhffXAOpTH9nNBIq2Q3Qdew7r7OFpd6GkMmzmCgOE4jv6McCwWleT0PPHvl7igUmhqg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257849; c=relaxed/simple; bh=d7xwmEi0KnFnU6RGoU18XKBliBKtfnG1R0Qs2x25v9s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=R+xv4CIamlGSAEDLx0cWUG2qXBSt38El5di8AIOda6eSc5asvRSjV9CZf11iN4GYD5zqLnWEEMsiUuHVQcNNRRjPPsSoLOY+Qzdkha5oPomPGSLsjYaOGi3Nq5wXArG3mJFv43KcpdfUgM3hNIs5Hy1GDRE8vP8IKNp+r/njGdo= 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=fCwhekH0; arc=none smtp.client-ip=209.85.218.41 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="fCwhekH0" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-b3e7cc84b82so1083777066b.0 for ; Tue, 04 Nov 2025 04:04:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257846; x=1762862646; 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=Aafw4HLBs7KDKvmUtk2iQQvLgZcs98N6FosFfKLOmF4=; b=fCwhekH0+Ozce8hR6i1AWuRwU0M1XOA8gWvkX2V6sXU8qHU1PacDJEovo+2I9zllcl SgcV1I5O8lGj1Ysh4pFCxSFNbSHxzxhqlXQDCr4GL8aFsvuPsBSbyOjX+m7e+ndfmUYL ZHtHcOHlN1DxkohPPIh1m39KpfIMgfl0nWxMLVjQBQc+MPhAMZIZJ7hSAumFLyr08zFH XUtRoFi9BGFBX8F/x9Ky+BPGEbYWPqbHZEMg/LUnvvSOaz0PxeUr1EGEnJvBMq1pfb9l 1NESyxMizLQKquNukFhFuH3OCBnIlBNdjFxQwQ53ZZ1pRMNCd0GOeslqT9q2nyajgzUl 2xXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257846; x=1762862646; 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=Aafw4HLBs7KDKvmUtk2iQQvLgZcs98N6FosFfKLOmF4=; b=tlqRipdR1UeOpT6gCIs41B4yPAcIZdpryO7ORAqgTtXsXQB59RRCQzIx+RBNMKywmV kW4KaTa8OAag0lqemr9ZjSShFYr8TQMmNCj9EALgJYm3RLQ1b9fSWkPgnAUxDsbizgud yXxWAlw7Gvi91FMAl+ii99m3LiXwhccNNkLEQvXFsyCn4Du4i/LpcTp5p4vHHFlwdFcr lue14ScDw4DkYpYTJfAF+gc9WrNzGmBLKo7aJCRwgfBr8apU6lDZa7Z4w3c9xfJ68oR3 KiEVvO84yApO2yEYr7+xtMRRDH+E+hcRs6DnPTyANkTq8M326XlYn7DCNqKJjUglCr12 Ui+g== X-Forwarded-Encrypted: i=1; AJvYcCVDNhP0zCJiLOMIxFTgCCFj4nDGtXevG2nmCnmORW2RMCkwRSkSCTWJu/ObAtBEwIjmtZrH4KHHWdbRdMI=@vger.kernel.org X-Gm-Message-State: AOJu0YyiVglKVRq4ae/74N4aIdrGN8Bwq4kd52CAOrylc7B6625fN4e2 zMlRCvxsZbq2TLtNOSD8U7iLyJToh9WQJELc3ZdBWE7i8eL9+Et51MDL X-Gm-Gg: ASbGncswFmWoGBCHRClclCs474Qjt7uQqqDuhuNqu4+zhq3vVL1z2LbcgOc965/wv9z i/45kHjV+B37KyfnLz9daSwqde+Sn2D9Y6daVPHejEqapylu3mrUrZn8bApv3KiFE0lAt8UTklK uj4aVItKPThYnv2t8oBJ1hoQemWAHwWq5uq0dUbp8cbExBnOQQ7tGQ3j6d+sEZoWZRUTMKB7xx1 47hdlzTuEKhCBoXrp6LJyLci/Enj+a1v5M0fqvDeali1/bp3qNrRCqliYwh3xibVkwvc0GOdluO dT4yhEGZPX8ISxVFPpIKJVYo5ejX0ITjuNGZZi1v+WTxqni130SolL3ZOzhamPHLICO5wAR5cNM IggfYOzPxEoosEwIMGWeHB9lWCEVrnmX0OQvr1icJCoSzld9xSkA81ni7Ms+xmbvW8xvCQNo7EP 8XgrxhtzijiL9q3Y8mVufEmRvNQA== X-Google-Smtp-Source: AGHT+IHeD+7pAL1LN+vGwVw7YenhruMsQ1qqYloFn0IzgJZ0tjNxTI+ZA1fCBUoZtXsnijqYIZ4NdA== X-Received: by 2002:a17:907:da5:b0:b72:51fd:5a5f with SMTP id a640c23a62f3a-b7251fd62a9mr192609166b.1.1762257845988; Tue, 04 Nov 2025 04:04:05 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.04.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:04:05 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 5/8] reset: imx8mp-audiomix: Switch to using regmap API Date: Tue, 4 Nov 2025 04:02:58 -0800 Message-ID: <20251104120301.913-6-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea Switch to using the regmap API to allow performing register operations under the same lock. This is needed for cases such as i.MX8ULP's SIM LPAV where clock gating, reset control and MUX-ing is performed via the same register (i.e. SYSCTRL0) and different subsystem APIs. Signed-off-by: Laurentiu Mihalcea --- drivers/reset/reset-imx8mp-audiomix.c | 93 +++++++++++++++++---------- 1 file changed, 58 insertions(+), 35 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-im= x8mp-audiomix.c index e9643365a62c..18a7f68aa59f 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -11,6 +11,7 @@ #include #include #include +#include #include =20 #define IMX8MP_AUDIOMIX_EARC_RESET_OFFSET 0x200 @@ -42,8 +43,7 @@ static const struct imx8mp_reset_map reset_map[] =3D { =20 struct imx8mp_audiomix_reset { struct reset_controller_dev rcdev; - spinlock_t lock; /* protect register read-modify-write cycle */ - void __iomem *base; + struct regmap *regmap; }; =20 static struct imx8mp_audiomix_reset *to_imx8mp_audiomix_reset(struct reset= _controller_dev *rcdev) @@ -55,26 +55,15 @@ static int imx8mp_audiomix_update(struct reset_controll= er_dev *rcdev, unsigned long id, bool assert) { struct imx8mp_audiomix_reset *priv =3D to_imx8mp_audiomix_reset(rcdev); - void __iomem *reg_addr =3D priv->base; - unsigned int mask, offset, active_low; - unsigned long reg, flags; + unsigned int mask, offset, active_low, shift, val; =20 mask =3D reset_map[id].mask; offset =3D reset_map[id].offset; active_low =3D reset_map[id].active_low; + shift =3D ffs(mask) - 1; + val =3D (active_low ^ assert) << shift; =20 - spin_lock_irqsave(&priv->lock, flags); - - reg =3D readl(reg_addr + offset); - if (active_low ^ assert) - reg |=3D mask; - else - reg &=3D ~mask; - writel(reg, reg_addr + offset); - - spin_unlock_irqrestore(&priv->lock, flags); - - return 0; + return regmap_update_bits(priv->regmap, offset, mask, val); } =20 static int imx8mp_audiomix_reset_assert(struct reset_controller_dev *rcdev, @@ -94,6 +83,52 @@ static const struct reset_control_ops imx8mp_audiomix_re= set_ops =3D { .deassert =3D imx8mp_audiomix_reset_deassert, }; =20 +static const struct regmap_config regmap_config =3D { + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, +}; + +/* assumption: registered only if not using parent regmap */ +static void imx8mp_audiomix_reset_iounmap(void *data) +{ + void __iomem *base =3D (void __iomem *)data; + + iounmap(base); +} + +static int imx8mp_audiomix_reset_get_regmap(struct imx8mp_audiomix_reset *= priv) +{ + void __iomem *base; + struct device *dev; + int ret; + + dev =3D priv->rcdev.dev; + + /* try to use the parent's regmap */ + priv->regmap =3D dev_get_regmap(dev->parent, NULL); + if (priv->regmap) + return 0; + + /* ... if that's not possible then initialize the regmap right now */ + base =3D of_iomap(dev->parent->of_node, 0); + if (!base) + return dev_err_probe(dev, -ENOMEM, "failed to iomap address space\n"); + + ret =3D devm_add_action_or_reset(dev, + imx8mp_audiomix_reset_iounmap, + (void __force *)base); + if (ret) + return dev_err_probe(dev, ret, "failed to register action\n"); + + priv->regmap =3D devm_regmap_init_mmio(dev, base, ®map_config); + if (IS_ERR(priv->regmap)) + return dev_err_probe(dev, PTR_ERR(priv->regmap), + "failed to initialize regmap\n"); + + return 0; +} + static int imx8mp_audiomix_reset_probe(struct auxiliary_device *adev, const struct auxiliary_device_id *id) { @@ -105,36 +140,25 @@ static int imx8mp_audiomix_reset_probe(struct auxilia= ry_device *adev, if (!priv) return -ENOMEM; =20 - spin_lock_init(&priv->lock); - priv->rcdev.owner =3D THIS_MODULE; priv->rcdev.nr_resets =3D ARRAY_SIZE(reset_map); priv->rcdev.ops =3D &imx8mp_audiomix_reset_ops; priv->rcdev.of_node =3D dev->parent->of_node; priv->rcdev.dev =3D dev; priv->rcdev.of_reset_n_cells =3D 1; - priv->base =3D of_iomap(dev->parent->of_node, 0); - if (!priv->base) - return -ENOMEM; =20 dev_set_drvdata(dev, priv); =20 + ret =3D imx8mp_audiomix_reset_get_regmap(priv); + if (ret) + return dev_err_probe(dev, ret, "failed to get regmap\n"); + ret =3D devm_reset_controller_register(dev, &priv->rcdev); if (ret) - goto out_unmap; + return dev_err_probe(dev, ret, + "failed to register reset controller\n"); =20 return 0; - -out_unmap: - iounmap(priv->base); - return ret; -} - -static void imx8mp_audiomix_reset_remove(struct auxiliary_device *adev) -{ - struct imx8mp_audiomix_reset *priv =3D dev_get_drvdata(&adev->dev); - - iounmap(priv->base); } =20 static const struct auxiliary_device_id imx8mp_audiomix_reset_ids[] =3D { @@ -147,7 +171,6 @@ MODULE_DEVICE_TABLE(auxiliary, imx8mp_audiomix_reset_id= s); =20 static struct auxiliary_driver imx8mp_audiomix_reset_driver =3D { .probe =3D imx8mp_audiomix_reset_probe, - .remove =3D imx8mp_audiomix_reset_remove, .id_table =3D imx8mp_audiomix_reset_ids, }; =20 --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (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 BF24C2F5468 for ; Tue, 4 Nov 2025 12:04:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257851; cv=none; b=JnjD2VjQ86CRL02OXJJ/5MO0SveCDE9t5E6AauTWDeNvu7MXcWqiKmLxpMl2Rqgtzpxa4g4cthyiACyWf7RRI3m5pUbyub4CjkpdTj7AGD3uEJjeMfpZJ9+lkNLweJHShcWmrDB4doVQ8/+8Gyryu8rfD/PkpW4MFa/0DHhWNtA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257851; c=relaxed/simple; bh=0QxHrm9C2RbfZnvci62gAmEYua+kGV1/O6mGjSHQSUo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fxBBk5wNKnAHHwswXa/HeQn1KmGgMGRHq3wg7IdQDvfGkousjgLhix3WUw0jJARCvy1Iw0E06C65jJC77KKkSOLEjoMd/elD5lDcaNK/34Mvu1CtSaR0R/D6YVmxuyub73ZzoJX4Sj10+n3vitUkqn7BFw6buzZnhA94L1BYp9c= 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=bNlrS3IZ; arc=none smtp.client-ip=209.85.218.49 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="bNlrS3IZ" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b4736e043f9so144131966b.0 for ; Tue, 04 Nov 2025 04:04:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257848; x=1762862648; 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=IfVnfMnUFwyLNqs4rPjMOiNJ9iATrzCn1X86BIPjvdo=; b=bNlrS3IZb9sx57ttYwdoqDRysWYmOkUo3MJyndNkj0GrnDoGmlCYlc6HcPisxfprpo du0zjFNjXH/BxKEkLpXYjHltil0Hx0RcpArKozWm+J/C8kogT1VqLSGNTL4sryV0eQPQ sMS6ZzAvUI2dITToySaxBM9GbvKQQHZvWvbcC6Dhuul6h9reMhRSF6i7aYNm3kuVBXUA /nQ6OOgxTRPT++cOeL3wHhXD2qT1fNtK55AcYUEBXE4Oa7mQ/XwFswnaHCTPZr+lOfYo c7AooofcIg/IJ8QBIy1Xg4PmjCP+PD9R2ksr0AtTB2b73M0F1MWwDj/Jal19IZxPnm2l mSDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257848; x=1762862648; 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=IfVnfMnUFwyLNqs4rPjMOiNJ9iATrzCn1X86BIPjvdo=; b=L/u8mtG0p+nuVb18bfBffCXzUdka28T8Tz73zZ+DRKDqkMpvsKbFgXQLXVPWape5kJ w3V+/vG3WzNyNSOqJ9CR3SZ+U4cdM/U2RY+Lt9T0xLgMtxf5ZDMl0pchvPtm8d4NVQaR zahTlj2pNdZScroAZRUJ0YQLYxhx3tum0YBUoDFhka0SWn+Ddj4iuy438yVfedoV0n9Q a1oiPfDn2+HEU4FDKU0xxl+D9d57CGaRY4L6tR8HZU1nG+XwaAVrUTU+VTq5Xu0pleMb I/HDPXXx3IGEtNYgpK8bzOE8r69idGlF53pYRSyPgk9JbPrUCNhrnlJcbxbduEUxxgvh PhTw== X-Forwarded-Encrypted: i=1; AJvYcCWHV/eb9HuusPwRr5YdpUokhR758p1la0RTJFHyHLFgPnoJumpMqC3YpS3OKMAHsrC4JASBotc9iltxnS8=@vger.kernel.org X-Gm-Message-State: AOJu0Yww5zXlrt08CJqpP4eGA/Gmp+eRZmhPKNvUxO8eGRIZSdG93c+C LxXx6jkg8ea7vLBWuBEpjL4z5uZaP7yq9HM95ydYDpKB5bWNjgwZv+oX X-Gm-Gg: ASbGncv0YCcu6HLd8YydML2sdYvLx+IgejPhCBnph1a9TpjFX9EIXFw9oyD+yjV7mXu dvhQ2iiwnIhPRtBWlYUd/IiMdYATXyCVOffdghFOyUu2yKjQARc8NLb4vjp04cX06gfvXIRSYgP CxHb5Z1DCjomE2y9pQiT1adkMcqVdEtG0CC/AYd80+Oj4AIVHEdkhPf/gkvQXora3Gwu7HliAKS qB71nSFuuI1VFQ7h1mvKKNxRvUxGLrdgoQ+NitKLtbuLzWJ80iO0pKye19eqsbSq2jFEVO14nec rnizAnCxMAFWLrAa5Ag5dEo0qaSNvKr7JZB+dahV0B1tkcj/UeBCHSIvq4lW1W0OPr4qviBJeiH 1j1KQTnX/CSIEfT3Yh15aKafZyFbRK024jLVo4jCRVGA4g1wChgqGZGrNjr2vfNuZPCmXo7/qC+ rqs1UUYAeBf6CWD9c6QbGCvjRwvQ== X-Google-Smtp-Source: AGHT+IEFmmFqmwF7IJGHYHQFLdfcj+i6AuRD6y5QTSlNabPHEjYgdTalWazPTsjhrKIiVzJb3z4NAQ== X-Received: by 2002:a17:907:8692:b0:b71:a627:3d8c with SMTP id a640c23a62f3a-b71a6274340mr486414566b.56.1762257848026; Tue, 04 Nov 2025 04:04:08 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.04.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:04:07 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 6/8] reset: imx8mp-audiomix: Extend the driver usage Date: Tue, 4 Nov 2025 04:02:59 -0800 Message-ID: <20251104120301.913-7-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea Switch to per-device reset map to allow reusing the driver for other NXP block control IPs. Reviewed-by: Daniel Baluta Signed-off-by: Laurentiu Mihalcea Reviewed-by: Frank Li --- drivers/reset/reset-imx8mp-audiomix.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-im= x8mp-audiomix.c index 18a7f68aa59f..745b7e22b954 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -23,7 +23,12 @@ struct imx8mp_reset_map { bool active_low; }; =20 -static const struct imx8mp_reset_map reset_map[] =3D { +struct imx8mp_reset_info { + const struct imx8mp_reset_map *map; + int num_lines; +}; + +static const struct imx8mp_reset_map imx8mp_reset_map[] =3D { [IMX8MP_AUDIOMIX_EARC_RESET] =3D { .offset =3D IMX8MP_AUDIOMIX_EARC_RESET_OFFSET, .mask =3D BIT(0), @@ -41,9 +46,15 @@ static const struct imx8mp_reset_map reset_map[] =3D { }, }; =20 +static const struct imx8mp_reset_info imx8mp_reset_info =3D { + .map =3D imx8mp_reset_map, + .num_lines =3D ARRAY_SIZE(imx8mp_reset_map), +}; + struct imx8mp_audiomix_reset { struct reset_controller_dev rcdev; struct regmap *regmap; + const struct imx8mp_reset_info *rinfo; }; =20 static struct imx8mp_audiomix_reset *to_imx8mp_audiomix_reset(struct reset= _controller_dev *rcdev) @@ -55,6 +66,7 @@ static int imx8mp_audiomix_update(struct reset_controller= _dev *rcdev, unsigned long id, bool assert) { struct imx8mp_audiomix_reset *priv =3D to_imx8mp_audiomix_reset(rcdev); + const struct imx8mp_reset_map *reset_map =3D priv->rinfo->map; unsigned int mask, offset, active_low, shift, val; =20 mask =3D reset_map[id].mask; @@ -141,7 +153,8 @@ static int imx8mp_audiomix_reset_probe(struct auxiliary= _device *adev, return -ENOMEM; =20 priv->rcdev.owner =3D THIS_MODULE; - priv->rcdev.nr_resets =3D ARRAY_SIZE(reset_map); + priv->rinfo =3D (void *)id->driver_data; + priv->rcdev.nr_resets =3D priv->rinfo->num_lines; priv->rcdev.ops =3D &imx8mp_audiomix_reset_ops; priv->rcdev.of_node =3D dev->parent->of_node; priv->rcdev.dev =3D dev; @@ -164,6 +177,7 @@ static int imx8mp_audiomix_reset_probe(struct auxiliary= _device *adev, static const struct auxiliary_device_id imx8mp_audiomix_reset_ids[] =3D { { .name =3D "clk_imx8mp_audiomix.reset", + .driver_data =3D (kernel_ulong_t)&imx8mp_reset_info, }, { } }; --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (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 910D22EE5FE for ; Tue, 4 Nov 2025 12:04:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257855; cv=none; b=MKEDMj50vxVGK/lEDfLxUbBghqu0vyvSauL4tShXox6Ik7Y8PcyuVbpDWnt7FJBTJeH8tP92k7zm4VX3opHYqn64pcBrjTBxYgitcGvvqciD1InfRdxuaKEZCNnVw4n84tFYPMyDl9x5qV2K/TPA1RtplORDnJkCpjBoyJEf+bo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257855; c=relaxed/simple; bh=jfUNe2KhyNhQkqz/RyX9v7SWqUEpKz/Cnc+k9Uq1/I8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EOCQrUotVBvw7xGI3Z6cc+I0Lwej8uSPYvO6QSqH1M0FrikpD0Z/GsOw1nO9BYbH3tzpfKWno2BiUiTMb7KQEQ25ZtVTtoU+dSxJQnHczysayh2WnWCtFsLZLyCjUlAufE/TqD6w4MoHSKOEjOBxXAfgkvbzZ5vyO3U8ImCO25o= 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=gynOdpPo; arc=none smtp.client-ip=209.85.218.45 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="gynOdpPo" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-b6d345d7ff7so1177778966b.1 for ; Tue, 04 Nov 2025 04:04:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257851; x=1762862651; 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=ZCzqKD3xSHfSBn+d7Ai/gvl8AIDeYTTV+y/cpT/4lgg=; b=gynOdpPowwwAXbxSGWNeQNQbLOBclp/ZYWjuGLZlUCWV/d7fo3nrxw2V1/7TeDQNGb +rUNtF8ZVk0gjKsrOZTze3ApPRVvi6jduTNUTAlcKHW13uT74+ygIHPoyfnIuVjE3dRA b6mTtBr2/GHo9/ZlIpvDFhLLccxJKxjJcNhLCeN3feourza0zpKoJCjO9a8fQVHx+XhG R+zHNVe6hDouB0bRIRz7nmvDUtb9HAw1wTCd0Pn3YvwIKNovT8D9eXGDc5aIT0FGmCr5 2OM0N9OshLD1VaxdzqqJGonU1Eii6BWQgJF6ISjX6Xc12tN2qbXdln1SQWxcyfBATFGE 0DpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257851; x=1762862651; 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=ZCzqKD3xSHfSBn+d7Ai/gvl8AIDeYTTV+y/cpT/4lgg=; b=SLgpaKc5Bj+m2QVN8W6o+V8Gj2xOra4ord9aZGUIYVty/IpZQ/26lOds+oyEyQXm1c sAfYC7poyBIelE2iVjsgGY4kTEKIODIj7D011IYxeRg+Fgf+roAycUj+AiunnAejhgyH 3lLL05jOy95mRUmO0yP+xio4H6UAX7YtzxvDo19511IPgcubduFJo3BaWHn/yiOgeGWd 44jgJjv2yy+YOSBkNNbM7y4B0OPaqB/AeY+5HQ5pJdeMwoRWjAudKe9PnLRs50R5QNKP CNIuexaClOLLtrQoP2VHzQllCq4rD+oP7KEZhPoxN5okozd/90uPlobN5ZjUzYXvyZzd L6/w== X-Forwarded-Encrypted: i=1; AJvYcCWuLi7eihlBx5Wto8dNrqe7WaMW83ntVSai+RgEIW/U9rmgedSba7wnGPOhP3KNJLKbBLt1friidXiciB4=@vger.kernel.org X-Gm-Message-State: AOJu0YxC4J6PZDG+YDShGSDtcM79mRAI3gHiqyVBRaIZCRih0pIwMOvr izcv9wbKIFZedX8Ivtlxm7eEIw9keTI1hbyyd+znF9oJgT+hQo8cZBXa X-Gm-Gg: ASbGnct8UX2EBKqCIuTlVhb4E5riiMARfKtmPcOm8cSZe31G2+qMw2Xpie0f/5Yincz Rz3eRSOIcswEhiGqgVA1o4wNIUuqfZCBS2+KE1vMau7g3i1ydsEpbfUn2gNQrlNPM2Hizy4APPJ iCxHxwh03X/IWCgzoS23PfwUtMTsjQ3pNV9YnMbOLVa0keS8M1/SEr70SH2VyPXmrymgy7MTGMV sx1//Q+6/iSbUBN1Ku04eaDofrZNULhSruJZKfdg/gGwUHW4tlmniqp0ccrAfHIVEeOYpk678M9 ysvsS6mqK4xWC+yzicdiIoxp+M0n99M3rwo4HnU7mmDNL4fibzVQ+742IDrdWfSjE5NdqwSZNF1 slPof6KSHdddoNEaqLQNZpAAUiflxVB8Xx0nXIkMcjlj7+YdCDV3StPXCyPzOYHfeREp3SO4nRH hK3zF2PfpBFJGYIwvsL7RW58+lxA== X-Google-Smtp-Source: AGHT+IE2RvpbkP9lMyxDB9hrGIqiXzETjyBqy83rux3b/+zJ7/joFNzbydou1+hhLeq8yhwIAz+fmQ== X-Received: by 2002:a17:907:26c5:b0:b6d:5dbb:a1e1 with SMTP id a640c23a62f3a-b72159d5c65mr316758166b.5.1762257850774; Tue, 04 Nov 2025 04:04:10 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.04.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:04:10 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 7/8] reset: imx8mp-audiomix: Support i.MX8ULP SIM LPAV Date: Tue, 4 Nov 2025 04:03:00 -0800 Message-ID: <20251104120301.913-8-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea Support i.MX8ULP's SIM LPAV by adding its reset map definition. Reviewed-by: Daniel Baluta Reviewed-by: Frank Li Signed-off-by: Laurentiu Mihalcea --- drivers/reset/reset-imx8mp-audiomix.c | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-im= x8mp-audiomix.c index 745b7e22b954..af8d585d6c18 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -3,6 +3,7 @@ * Copyright 2024 NXP */ =20 +#include #include =20 #include @@ -17,6 +18,8 @@ #define IMX8MP_AUDIOMIX_EARC_RESET_OFFSET 0x200 #define IMX8MP_AUDIOMIX_DSP_RUNSTALL_OFFSET 0x108 =20 +#define IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET 0x8 + struct imx8mp_reset_map { unsigned int offset; unsigned int mask; @@ -51,6 +54,44 @@ static const struct imx8mp_reset_info imx8mp_reset_info = =3D { .num_lines =3D ARRAY_SIZE(imx8mp_reset_map), }; =20 +static const struct imx8mp_reset_map imx8ulp_reset_map[] =3D { + [IMX8ULP_SIM_LPAV_HIFI4_DSP_DBG_RST] =3D { + .offset =3D IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET, + .mask =3D BIT(25), + .active_low =3D false, + }, + [IMX8ULP_SIM_LPAV_HIFI4_DSP_RST] =3D { + .offset =3D IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET, + .mask =3D BIT(16), + .active_low =3D false, + }, + [IMX8ULP_SIM_LPAV_HIFI4_DSP_STALL] =3D { + .offset =3D IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET, + .mask =3D BIT(13), + .active_low =3D false, + }, + [IMX8ULP_SIM_LPAV_DSI_RST_BYTE_N] =3D { + .offset =3D IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET, + .mask =3D BIT(5), + .active_low =3D true, + }, + [IMX8ULP_SIM_LPAV_DSI_RST_ESC_N] =3D { + .offset =3D IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET, + .mask =3D BIT(4), + .active_low =3D true, + }, + [IMX8ULP_SIM_LPAV_DSI_RST_DPI_N] =3D { + .offset =3D IMX8ULP_SIM_LPAV_SYSCTRL0_OFFSET, + .mask =3D BIT(3), + .active_low =3D true, + }, +}; + +static const struct imx8mp_reset_info imx8ulp_reset_info =3D { + .map =3D imx8ulp_reset_map, + .num_lines =3D ARRAY_SIZE(imx8ulp_reset_map), +}; + struct imx8mp_audiomix_reset { struct reset_controller_dev rcdev; struct regmap *regmap; @@ -179,6 +220,10 @@ static const struct auxiliary_device_id imx8mp_audiomi= x_reset_ids[] =3D { .name =3D "clk_imx8mp_audiomix.reset", .driver_data =3D (kernel_ulong_t)&imx8mp_reset_info, }, + { + .name =3D "clk_imx8ulp_sim_lpav.reset", + .driver_data =3D (kernel_ulong_t)&imx8ulp_reset_info, + }, { } }; MODULE_DEVICE_TABLE(auxiliary, imx8mp_audiomix_reset_ids); --=20 2.43.0 From nobody Fri Dec 19 09:24:04 2025 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 784CE2F5468 for ; Tue, 4 Nov 2025 12:04:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257858; cv=none; b=A4KVjxfJF5NR5L11PAfXswSlQiCTRX39tUJLG0eK0qeeNUMEqCp5UK+fkENmMUh7yYIDC3El/1Q0yWpMzRsstY8OZzlM9izsJxgFvXA9gBSpp09Z3w4n+enbyKgQUs+GUnAsFjJjdnyab2vljUjnQIf/1iLz5/RaxPY5okoeR/4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762257858; c=relaxed/simple; bh=v9PIaHoOGqn87lRlESH/AuFgCy5K1+8Bo9hGHBVSeHs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=K/wBwT2mV87pCLsNzlh78orQbkLrcTkMX39GKm07zuVIJ9MnMlgR/+iJEAiYvQXSXWqK/+61+QMF+ZRXm3VwXeknEXcOIyMjivnFwMnTKXB8XJUqKMoVnHXMuYeHRQbt1IJt6vFehWUi0NFMDcuIJ0fV+LuAH9YzJfmGQziPuOo= 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=l9VbWWH+; arc=none smtp.client-ip=209.85.218.46 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="l9VbWWH+" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-b5b823b4f3dso876459666b.3 for ; Tue, 04 Nov 2025 04:04:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762257854; x=1762862654; 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=xHtOrvUe+VoHbx7eNPs1dlQDZqVpXM8AHRrOkF3QMQM=; b=l9VbWWH+WWl/zAn/ZQ2nCs+THHbJlBUkZ+oz8GiM0AkTgtNMk1Qi7bprLFhnpkN2fi 9g5ByrfbwmACZi2dciDAIbHYdyrQCjqeperr6Pvzphfns2Q3E3kcWucR1pcaWrkS8SkA H3gSM1JOShq4rmKmOKnfq0EOe+yH81r5gSHt25O/wd/5EQnFKza3bTNLOXMdby1+5CJO Nwc8gH/FunX0a2fryHbqddbHaNLiEqom9JMKOwq/NCClJbRz8ln4DzsxhHf/Ff6P6olN 4JQ1X8ZsSIXqRRQnS7/LwL7aE9MFtV6j6S1of+I/MiyQACX/nV52sFmHSFRT+7sNshCQ 1hIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762257854; x=1762862654; 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=xHtOrvUe+VoHbx7eNPs1dlQDZqVpXM8AHRrOkF3QMQM=; b=Wn6Fl4OPZ62gL09Np4gtkUgJ1FNHvYuEByY7rbkUI6bxU4CjeEz/2ssjtqCvolRPsp IecLE5m9WPRl+UYMKflBZRJCil7rduQMD/t2T0dvhlKMyGGuruIg7tbBKwUdMe8m4nS1 r195eGWV7f0FXDLgEAb5Rpd4tn294ACn/ddQXQbGp1emawY4aTuwPQQNjlkhBaCC2pBU fjWYPJs+wnW/3pKmgGb/u+Iy28ocxmslPL5mQ+8rCz1lhSRVFzjCd6NSbNs034pS59J6 DUJIo/a/orO60p0ws1ceuY+mylyixvGw5nFMtAK335TFHEfgQMS2iBDbB7Qddv4NpMoJ AMpQ== X-Forwarded-Encrypted: i=1; AJvYcCVBO986HgeNuTNMA+Oi9GHNXXKxkLc9SLXXjiQhK3SFdw0WvZpXvtAZLBasi80AJMSKqPMcVN7LLJmTKPg=@vger.kernel.org X-Gm-Message-State: AOJu0YxuK2D1aTR79a76UjMrIJ+XCJ6asxImlJYM5oWzh3xFrb9Ulnf1 X9wiSP7jFO0cR71WV5p5ui4ZywhaYUwWPznAvc6SeQ+jKorgIR5hiGmI X-Gm-Gg: ASbGncv5E3S4FtdXStd9fw4tLTHPeWOtUhltp9rdt6Ra6MCK9paC9efhKLeddzhW6WN jIF4jsmVOMvudtO6ji/MfqKao+BhhjSwf9GRHSEqXr5PsnGh1NPXJsOWzVCYOubR+RDiKTYoBl2 jaaBM4V1rRsFSioQmi3Y3OzdiqEwwq1bwNSlLU2z+V1Bv+WUfVHT1Zpux+Yw7BwBhUHE/h5V9bt RXrsRda0t5OuPCpDI3RULxEu9cdUENS2tmfMH7WvNBLoh7YcfCnEieBatHoefOaeO9GxcN73z2U 4K9HJUQNWXrO6IYuYALz/poynCZ/gDnVYP44QAMp0fHdV0sTuyt1to+xJ80i7pDZXhGBcZiKFwh W4ywGdbxmNfoLD4oRb9aORpGh4HLO9IxLZNGyPLDxVoigZEuj3vkJ3in6CyHHEA8z7NZjF/2KTu J8yFYINKdY3NO7+WVG/6O9xpk7KA== X-Google-Smtp-Source: AGHT+IGGkO48Aav2aGVAeolzrPvhX0A2pS6by5Y49cTXFSpgxjQYcLbUpUeQ6msVNN8zrd86kzhCLg== X-Received: by 2002:a17:906:a24f:b0:b6d:6c8f:6af6 with SMTP id a640c23a62f3a-b7070139726mr1396558966b.16.1762257853806; Tue, 04 Nov 2025 04:04:13 -0800 (PST) Received: from SMW024614.wbi.nxp.com ([128.77.115.157]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b723fa038e0sm200894166b.54.2025.11.04.04.04.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 04:04:12 -0800 (PST) From: Laurentiu Mihalcea To: Abel Vesa , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Fabio Estevam , Philipp Zabel , Daniel Baluta , Shengjiu Wang , Frank Li Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team Subject: [PATCH v4 8/8] arm64: dts: imx8ulp: add sim lpav node Date: Tue, 4 Nov 2025 04:03:01 -0800 Message-ID: <20251104120301.913-9-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251104120301.913-1-laurentiumihalcea111@gmail.com> References: <20251104120301.913-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Laurentiu Mihalcea Add DT node for the SIM LPAV module. Reviewed-by: Daniel Baluta Reviewed-by: Frank Li Signed-off-by: Laurentiu Mihalcea --- arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/d= ts/freescale/imx8ulp.dtsi index 13b01f3aa2a4..9b5d98766512 100644 --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi @@ -776,6 +776,23 @@ edma2: dma-controller@2d800000 { "ch28", "ch29", "ch30", "ch31"; }; =20 + sim_lpav: clock-controller@2da50000 { + compatible =3D "fsl,imx8ulp-sim-lpav"; + reg =3D <0x2da50000 0x10000>; + clocks =3D <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>, + <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>, + <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>; + clock-names =3D "bus", "core", "plat"; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + + sim_lpav_mux: mux-controller { + compatible =3D "reg-mux"; + #mux-control-cells =3D <1>; + mux-reg-masks =3D <0x8 0x00000200>; + }; + }; + cgc2: clock-controller@2da60000 { compatible =3D "fsl,imx8ulp-cgc2"; reg =3D <0x2da60000 0x10000>; --=20 2.43.0