From nobody Mon Feb 9 21:37:33 2026 Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) (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 24C94270ED2 for ; Mon, 29 Dec 2025 10:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.68 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767003161; cv=none; b=hU5VRLV2zU5NmsOnH/gKL89cPakySiE/HqzvJzAYhVlDQfEtV1M/+Mur0z3gIEw5srBdF2JwVXQEWapLcA77hjZZc+geGYKHXQCvNAd2zVoo1CdScfX1HPqsqzda284rZdXLj4HYUj/5XAT0hV270Sz/4V3v7GFE/yL4UMhNOXA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767003161; c=relaxed/simple; bh=/DNd3nTBgpx5bzsW5XipYiAjiZLaQMrfypQ8s3aY+cQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tZpL09BaU/q60uUJmU+zySithy2L/dO7uW7IPcTRdw/5D4FlBuKRnm3hmPmQor556cndTNp3VC/K2Q5DicELpZuf3D3MoIg68QIBwhOTC20qCBEXEVQBERNSLcnM5zmJ/BpglEKESFR4nqaiMHXU+CodYM9r6P6NGkaFlUmkLSc= 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=lE78Bnxt; arc=none smtp.client-ip=209.85.128.68 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="lE78Bnxt" Received: by mail-wm1-f68.google.com with SMTP id 5b1f17b1804b1-4779aa4f928so89546185e9.1 for ; Mon, 29 Dec 2025 02:12:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767003157; x=1767607957; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=aGhaOvmlmS+7WMRTI0qoktvD9ygsBMZt9H0idUxXEQs=; b=lE78BnxtKn0SwHo0CVc67uKraXb6/Gn64z5PscQVNahw4QE4s/jt4hWRbQJrSveOg0 OOW4xQvVcoXadxI04bFQPFlsOuzhtizoOsjTE4xX5YbPyXfc5WQNXZfMAWZz5pfFnWKJ RttyqYXetclz4+Kq6NZWy7yj7A+1ibyxsD0fPf1lkah5vmQKaaIyIuT3jKrBJZRMXhPq xi9RDxDZgh2HNNRa6KRwH9a7FfyLE1mOAfNm/HKu8tJsGg+s36Jl0GlaWdXOhbkMpudy gXqta4sgfazlXq+nMiY92x4TBAIprk3/F8geMkQA0zPjQxdPqONjXH4N5t+Uq8cFje8b HzCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767003157; x=1767607957; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=aGhaOvmlmS+7WMRTI0qoktvD9ygsBMZt9H0idUxXEQs=; b=aRZB1vXSYmoxVmOTHY2sd/nrTX/UBmceNu0HI+sdaZEZw0MW1+xsN4OVINjKzAKrTE uYAZEfdtpLuN1nICiKaYXxfwzxR1xJLn2o+p5JJ43mAI/Kfbo7iyxgdAlpVOUpRPqNan wCm4xZUKSKg4af1dnSlx9f2+4mi4j13127EPUBykt+n+4d1+pHpWdRgNmuoV2rC8Ecqo Ro7bSGFA+J468fbQXLMOFr0zrPaVOt3kM5sIvBe0z1Zoek0OLsgFl9k6tYwnjg83UBdr BOuJsq8QDyv7xJ60z5wy4LkZiIYcrYPkOYH5eM2vGktCjfCxZCHkt1SDaadtMuJ8Fje2 vTsQ== X-Forwarded-Encrypted: i=1; AJvYcCUyJjGQu4GV064KZFV5/eK8wwWMnz1r80gRXM1ZnBdk0bL9VYXAA/ty79dOyPUBBlsAROrmgaND4pg6ASI=@vger.kernel.org X-Gm-Message-State: AOJu0YzbUbH4aBOweyGnOtG09pEzqBX+Mmd2Y/9xRAeBxvOzvTOSKefp BbNfzWvU70tNKQCWY7/FzOS5J7abEfxpIAEoUVyDsgyuoQv5eDkqqhZx X-Gm-Gg: AY/fxX4bkygBlIiy443tbxVAoQbuv+7jFZFO6IFkXqzj6gRZFbNTDzTcK5Nv/ufaHK3 ZzbfnHT6GGlCDw08l3gcxNDw+apm2g/OPxWNOZsBniOv93+UJGZenBDKXy8kHG4NF3Amz/wB0+V zWW5fXl7ZVlvCfOs9lP0mYSEP01rcJAung8ObAqryBhnEVGUC3VmZ2LEax6FTcgGsjEUWt/7vlW NBfpc5Cy/2bVkfvQuYznvF3oVWyLu1xZjxIc3vy0zJjxQk8UEic4XrnBE1yrDeQE3529erBo7k2 3TxSk8byQQr2Fr0VWQ6wlHlGVb5/eDGzlR38N221dadbcr2FLuYe4X8/p+BMCT0Munb4PMm92lb tLXcV3diWX1rZF1k39Hiv19TO4wj1uSZWBklFfnEXVjhLMHdxRwAnxXrNijhlxhtpL4z7WopNlN aZvYH0ADZiq+PcqvgVLIgOJnhqTDFh+R8aevoMunub94ry9nUBdGVp+xXKCq0c X-Google-Smtp-Source: AGHT+IEEqpluRCt6k8YgVElk53IPARdNcOg+sX454L4Ga2LZMawpnbxrDXzY9rlApr1YZZYjgLKOaw== X-Received: by 2002:a05:600c:5246:b0:477:54cd:2030 with SMTP id 5b1f17b1804b1-47d1957f707mr375649945e9.21.1767003157158; Mon, 29 Dec 2025 02:12:37 -0800 (PST) Received: from alchark-surface.localdomain (bba-94-59-45-246.alshamil.net.ae. [94.59.45.246]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d583f42dasm19840735e9.6.2025.12.29.02.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 02:12:36 -0800 (PST) From: Alexey Charkov Date: Mon, 29 Dec 2025 14:12:04 +0400 Subject: [PATCH 7/7] arm64: dts: rockchip: Enable analog sound on RK3576 EVB1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251229-rk3576-sound-v1-7-2f59ef0d19b1@gmail.com> References: <20251229-rk3576-sound-v1-0-2f59ef0d19b1@gmail.com> In-Reply-To: <20251229-rk3576-sound-v1-0-2f59ef0d19b1@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , John Clark Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3935; i=alchark@gmail.com; h=from:subject:message-id; bh=/DNd3nTBgpx5bzsW5XipYiAjiZLaQMrfypQ8s3aY+cQ=; b=owGbwMvMwCW2adGNfoHIK0sZT6slMWQGhTDZu/EGt5/fcaLyRtWMkHvJgSmTV+Q53v/1f93JR Yf/mVhkdkxkYRDjYrAUU2SZ+22J7VQjvlm7PDy+wsxhZQIZIi3SwAAELAx8uYl5pUY6Rnqm2oZ6 hoY6xjpGDFycAjDV9u6MDNseFxl6BW9gXHBv/p8du43+i12o+P+UZV7Krhe3Q3T4bRcw/I9ZufD O/NgFm/hUti93nDKzMu+OUpnOHpvWdYU19i72FzgB X-Developer-Key: i=alchark@gmail.com; a=openpgp; fpr=9DF6A43D95320E9ABA4848F5B2A2D88F1059D4A5 Rockchip RK3576 EVB1 board uses the typical configuration with an ES8388 analog codec driven from built-in SAI I2S. Add device tree nodes for it. Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts | 99 ++++++++++++++++++++= ++++ 1 file changed, 99 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts b/arch/arm64/= boot/dts/rockchip/rk3576-evb1-v10.dts index deab20ff4d97..0789733c2073 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts @@ -246,6 +246,63 @@ vcc_wifi_reg_on: regulator-wifi-reg-on { regulator-max-microvolt =3D <1800000>; vin-supply =3D <&vcc_1v8_s3>; }; + + sound { + compatible =3D "simple-audio-card"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&hp_det>; + simple-audio-card,name =3D "On-board Analog ES8388"; + simple-audio-card,aux-devs =3D <&hp_power>, <&spk_power>; + simple-audio-card,bitclock-master =3D <&masterdai>; + simple-audio-card,format =3D "i2s"; + simple-audio-card,frame-master =3D <&masterdai>; + simple-audio-card,hp-det-gpios =3D <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>; + simple-audio-card,mclk-fs =3D <256>; + simple-audio-card,routing =3D + "Headphone Power INL", "LOUT1", + "Headphone Power INR", "ROUT1", + "Speaker Power INL", "LOUT2", + "Speaker Power INR", "ROUT2", + "Headphones", "Headphone Power OUTL", + "Headphones", "Headphone Power OUTR", + "Speaker", "Speaker Power OUTL", + "Speaker", "Speaker Power OUTR", + "LINPUT1", "Main Mic", + "LINPUT2", "Main Mic", + "RINPUT1", "Headset Mic", + "RINPUT2", "Headset Mic"; + simple-audio-card,widgets =3D + "Microphone", "Main Mic", + "Microphone", "Headset Mic", + "Headphone", "Headphones", + "Speaker", "Speaker"; + + simple-audio-card,cpu { + sound-dai =3D <&sai1>; + }; + + masterdai: simple-audio-card,codec { + sound-dai =3D <&es8388>; + system-clock-frequency =3D <12288000>; + }; + }; + + hp_power: headphone-amplifier { + compatible =3D "simple-audio-amplifier"; + enable-gpios =3D <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&hp_ctl>; + sound-name-prefix =3D "Headphone Power"; + }; + + spk_power: speaker-amplifier { + compatible =3D "simple-audio-amplifier"; + enable-gpios =3D <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&spk_ctl>; + sound-name-prefix =3D "Speaker Power"; + VCC-supply =3D <&vcc5v0_device>; + }; }; =20 &cpu_l0 { @@ -712,6 +769,25 @@ hym8563: rtc@51 { }; }; =20 +&i2c3 { + status =3D "okay"; + + es8388: audio-codec@10 { + compatible =3D "everest,es8388", "everest,es8328"; + reg =3D <0x10>; + AVDD-supply =3D <&vcca_3v3_s0>; + DVDD-supply =3D <&vcc_1v8_s0>; + HPVDD-supply =3D <&vcca_3v3_s0>; + PVDD-supply =3D <&vcc_1v8_s0>; + assigned-clocks =3D <&cru CLK_SAI1_MCLKOUT_TO_IO>; + assigned-clock-rates =3D <12288000>; + clocks =3D <&cru CLK_SAI1_MCLKOUT_TO_IO>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sai1m0_mclk>; + #sound-dai-cells =3D <0>; + }; +}; + &mdio0 { rgmii_phy0: ethernet-phy@1 { compatible =3D "ethernet-phy-id001c.c916"; @@ -778,6 +854,20 @@ &pcie1 { }; =20 &pinctrl { + audio { + hp_det: hp-det { + rockchip,pins =3D <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + hp_ctl: hp-ctl { + rockchip,pins =3D <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + spk_ctl: spk-ctl { + rockchip,pins =3D <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + bluetooth { bt_reg_on: bt-reg-on { rockchip,pins =3D <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>; @@ -839,6 +929,15 @@ wifi_wake_host: wifi-wake-host { }; }; =20 +&sai1 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sai1m0_lrck + &sai1m0_sclk + &sai1m0_sdi0 + &sai1m0_sdo0>; + status =3D "okay"; +}; + &sai6 { status =3D "okay"; }; --=20 2.51.2