public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: Dmitry Rokosov <ddrokosov@sberdevices.ru>
To: <neil.armstrong@linaro.org>, <jbrunet@baylibre.com>,
	<mturquette@baylibre.com>, <sboyd@kernel.org>,
	<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
	<khilman@baylibre.com>, <martin.blumenstingl@googlemail.com>,
	<conor+dt@kernel.org>
Cc: <kernel@sberdevices.ru>, <sdfw_system_team@sberdevices.ru>,
	<rockosov@gmail.com>, <linux-amlogic@lists.infradead.org>,
	<linux-clk@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	Jan Dakinevich <yvdakinevich@sberdevices.ru>,
	Dmitry Rokosov <ddrokosov@sberdevices.ru>
Subject: [PATCH v2 10/15] arm64: dts: meson: a1: add eMMC controller and its pins
Date: Thu, 24 Aug 2023 00:36:25 +0300	[thread overview]
Message-ID: <20230823213630.12936-11-ddrokosov@sberdevices.ru> (raw)
In-Reply-To: <20230823213630.12936-1-ddrokosov@sberdevices.ru>

From: Jan Dakinevich <yvdakinevich@sberdevices.ru>

The definition is inspired by a similar one for AXG SoC family.
'sdio_pins' and 'sdio_clk_gate_pins' pinctrls are supposed to be used as
"default" and "clk-gate" in board-specific device trees.

During initialization 'meson-gx' driver sets clock to safe low-frequency
value (400kHz). However, both source clocks ("clkin0" and "clkin1") are
high-frequency by default, and using of eMMC's internal divider is not
enough to achieve so low values. To provide low-frequency source,
reparent "sd_emmc_sel2" clock using 'assigned-clocks' property.

Signed-off-by: Jan Dakinevich <yvdakinevich@sberdevices.ru>
Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
---
 arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 43 +++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
index 1cc34fe003af..6968fbd33348 100644
--- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
@@ -142,6 +142,32 @@ mux {
 						bias-pull-down;
 					};
 				};
+
+				sdio_pins: sdio {
+					mux0 {
+						groups = "sdcard_d0_x",
+							 "sdcard_d1_x",
+							 "sdcard_d2_x",
+							 "sdcard_d3_x",
+							 "sdcard_cmd_x";
+						function = "sdcard";
+						bias-pull-up;
+					};
+
+					mux1 {
+						groups = "sdcard_clk_x";
+						function = "sdcard";
+						bias-disable;
+					};
+				};
+
+				sdio_clk_gate_pins: sdio-clk-gate {
+					mux {
+						groups = "sdcard_clk_x";
+						function = "sdcard";
+						bias-pull-down;
+					};
+				};
 			};
 
 			gpio_intc: interrupt-controller@440 {
@@ -208,6 +234,23 @@ clkc_pll: pll-clock-controller@7c80 {
 					 <&clkc_periphs CLKID_HIFIPLL_IN>;
 				clock-names = "fixpll_in", "hifipll_in";
 			};
+
+			sd_emmc: sd@10000 {
+				compatible = "amlogic,meson-axg-mmc";
+				reg = <0x0 0x10000 0x0 0x800>;
+				interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clkc_periphs CLKID_SD_EMMC_A>,
+					 <&clkc_periphs CLKID_SD_EMMC>,
+					 <&clkc_pll CLKID_FCLK_DIV2>;
+				clock-names = "core",
+					      "clkin0",
+					      "clkin1";
+				assigned-clocks = <&clkc_periphs CLKID_SD_EMMC_SEL2>;
+				assigned-clock-parents = <&xtal>;
+				resets = <&reset RESET_SD_EMMC_A>;
+				power-domains = <&pwrc PWRC_SD_EMMC_ID>;
+				status = "disabled";
+			};
 		};
 
 		usb: usb@fe004400 {
-- 
2.36.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-08-23 21:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-23 21:36 [PATCH v2 00/15] arm64: dts: meson: a1: introduce several peripheral IPs Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 01/15] arm64: dts: meson: a1: reorder includes to keep them sorted Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 02/15] arm64: dts: meson: a1: remove extra empty line before reset node Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 03/15] arm64: dts: meson: a1: remove the unnecessary 'okay' status pwrc value Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 04/15] arm64: dts: meson: a1: reorder gpio_intc node definition Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 05/15] arm64: dts: meson: a1: introduce PLL and Peripherals clk controllers Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 06/15] arm64: dts: meson: a1: support USB controller in OTG mode Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 07/15] arm64: dts: meson: a1: enable efuse controller and setup its clk Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 08/15] arm64: dts: meson: a1: introduce SPI Flash Controller Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 09/15] arm64: dts: meson: a1: introduce UART_AO mux definitions Dmitry Rokosov
2023-08-23 21:36 ` Dmitry Rokosov [this message]
2023-08-23 21:36 ` [PATCH v2 11/15] arm64: dts: meson: a1: add saradc definition Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 12/15] arm64: dts: meson: a1: add hw rng node Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 13/15] arm64: dts: meson: a1: add ao secure node Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 14/15] arm64: dts: introduce Amlogic AD402 reference board based on A113L SoC Dmitry Rokosov
2023-08-23 21:36 ` [PATCH v2 15/15] dt-bindings: arm: amlogic: add Amlogic AD402 bindings Dmitry Rokosov
2023-08-24 15:08   ` Conor Dooley
2023-09-08 12:34 ` [PATCH v2 00/15] arm64: dts: meson: a1: introduce several peripheral IPs neil.armstrong
2023-09-11  9:50 ` neil.armstrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230823213630.12936-11-ddrokosov@sberdevices.ru \
    --to=ddrokosov@sberdevices.ru \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jbrunet@baylibre.com \
    --cc=kernel@sberdevices.ru \
    --cc=khilman@baylibre.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=mturquette@baylibre.com \
    --cc=neil.armstrong@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=rockosov@gmail.com \
    --cc=sboyd@kernel.org \
    --cc=sdfw_system_team@sberdevices.ru \
    --cc=yvdakinevich@sberdevices.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox