arm64: dts: s32g: Add S32G2/S32G3 uSDHC pinmux

Adding 100mhz & 200mhz pinmux support for uSDHC helps to enable
higher speed modes for SD (SDR50, DDR50, SDR104) and
eMMC (such as HS200, HS400/HS400ES).

Signed-off-by: Radu Pirea <radu-nicolae.pirea@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
Ciprian Marian Costea
2024-08-30 14:33:46 +03:00
committed by Shawn Guo
parent 14fce36dd4
commit f241340dca
5 changed files with 318 additions and 0 deletions

View File

@@ -162,6 +162,159 @@ jtag-grp4 {
slew-rate = <166>;
};
};
pinctrl_usdhc0: usdhc0grp-pins {
usdhc0-grp0 {
pinmux = <0x2e1>,
<0x381>;
output-enable;
bias-pull-down;
slew-rate = <150>;
};
usdhc0-grp1 {
pinmux = <0x2f1>,
<0x301>,
<0x311>,
<0x321>,
<0x331>,
<0x341>,
<0x351>,
<0x361>,
<0x371>;
output-enable;
input-enable;
bias-pull-up;
slew-rate = <150>;
};
usdhc0-grp2 {
pinmux = <0x391>;
output-enable;
slew-rate = <150>;
};
usdhc0-grp3 {
pinmux = <0x3a0>;
input-enable;
slew-rate = <150>;
};
usdhc0-grp4 {
pinmux = <0x2032>,
<0x2042>,
<0x2052>,
<0x2062>,
<0x2072>,
<0x2082>,
<0x2092>,
<0x20a2>,
<0x20b2>,
<0x20c2>;
};
};
pinctrl_usdhc0_100mhz: usdhc0-100mhzgrp-pins {
usdhc0-100mhz-grp0 {
pinmux = <0x2e1>,
<0x381>;
output-enable;
bias-pull-down;
slew-rate = <150>;
};
usdhc0-100mhz-grp1 {
pinmux = <0x2f1>,
<0x301>,
<0x311>,
<0x321>,
<0x331>,
<0x341>,
<0x351>,
<0x361>,
<0x371>;
output-enable;
input-enable;
bias-pull-up;
slew-rate = <150>;
};
usdhc0-100mhz-grp2 {
pinmux = <0x391>;
output-enable;
slew-rate = <150>;
};
usdhc0-100mhz-grp3 {
pinmux = <0x3a0>;
input-enable;
slew-rate = <150>;
};
usdhc0-100mhz-grp4 {
pinmux = <0x2032>,
<0x2042>,
<0x2052>,
<0x2062>,
<0x2072>,
<0x2082>,
<0x2092>,
<0x20a2>,
<0x20b2>,
<0x20c2>;
};
};
pinctrl_usdhc0_200mhz: usdhc0-200mhzgrp-pins {
usdhc0-200mhz-grp0 {
pinmux = <0x2e1>,
<0x381>;
output-enable;
bias-pull-down;
slew-rate = <208>;
};
usdhc0-200mhz-grp1 {
pinmux = <0x2f1>,
<0x301>,
<0x311>,
<0x321>,
<0x331>,
<0x341>,
<0x351>,
<0x361>,
<0x371>;
output-enable;
input-enable;
bias-pull-up;
slew-rate = <208>;
};
usdhc0-200mhz-grp2 {
pinmux = <0x391>;
output-enable;
slew-rate = <208>;
};
usdhc0-200mhz-grp3 {
pinmux = <0x3a0>;
input-enable;
slew-rate = <208>;
};
usdhc0-200mhz-grp4 {
pinmux = <0x2032>,
<0x2042>,
<0x2052>,
<0x2062>,
<0x2072>,
<0x2082>,
<0x2092>,
<0x20a2>,
<0x20b2>,
<0x20c2>;
};
};
};
uart0: serial@401c8000 {

View File

@@ -34,6 +34,10 @@ &uart0 {
};
&usdhc0 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc0>;
pinctrl-1 = <&pinctrl_usdhc0_100mhz>;
pinctrl-2 = <&pinctrl_usdhc0_200mhz>;
disable-wp;
status = "okay";
};

View File

@@ -40,6 +40,10 @@ &uart1 {
};
&usdhc0 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc0>;
pinctrl-1 = <&pinctrl_usdhc0_100mhz>;
pinctrl-2 = <&pinctrl_usdhc0_200mhz>;
disable-wp;
status = "okay";
};

View File

@@ -219,6 +219,159 @@ jtag-grp4 {
slew-rate = <166>;
};
};
pinctrl_usdhc0: usdhc0grp-pins {
usdhc0-grp0 {
pinmux = <0x2e1>,
<0x381>;
output-enable;
bias-pull-down;
slew-rate = <150>;
};
usdhc0-grp1 {
pinmux = <0x2f1>,
<0x301>,
<0x311>,
<0x321>,
<0x331>,
<0x341>,
<0x351>,
<0x361>,
<0x371>;
output-enable;
input-enable;
bias-pull-up;
slew-rate = <150>;
};
usdhc0-grp2 {
pinmux = <0x391>;
output-enable;
slew-rate = <150>;
};
usdhc0-grp3 {
pinmux = <0x3a0>;
input-enable;
slew-rate = <150>;
};
usdhc0-grp4 {
pinmux = <0x2032>,
<0x2042>,
<0x2052>,
<0x2062>,
<0x2072>,
<0x2082>,
<0x2092>,
<0x20a2>,
<0x20b2>,
<0x20c2>;
};
};
pinctrl_usdhc0_100mhz: usdhc0-100mhzgrp-pins {
usdhc0-100mhz-grp0 {
pinmux = <0x2e1>,
<0x381>;
output-enable;
bias-pull-down;
slew-rate = <150>;
};
usdhc0-100mhz-grp1 {
pinmux = <0x2f1>,
<0x301>,
<0x311>,
<0x321>,
<0x331>,
<0x341>,
<0x351>,
<0x361>,
<0x371>;
output-enable;
input-enable;
bias-pull-up;
slew-rate = <150>;
};
usdhc0-100mhz-grp2 {
pinmux = <0x391>;
output-enable;
slew-rate = <150>;
};
usdhc0-100mhz-grp3 {
pinmux = <0x3a0>;
input-enable;
slew-rate = <150>;
};
usdhc0-100mhz-grp4 {
pinmux = <0x2032>,
<0x2042>,
<0x2052>,
<0x2062>,
<0x2072>,
<0x2082>,
<0x2092>,
<0x20a2>,
<0x20b2>,
<0x20c2>;
};
};
pinctrl_usdhc0_200mhz: usdhc0-200mhzgrp-pins {
usdhc0-200mhz-grp0 {
pinmux = <0x2e1>,
<0x381>;
output-enable;
bias-pull-down;
slew-rate = <208>;
};
usdhc0-200mhz-grp1 {
pinmux = <0x2f1>,
<0x301>,
<0x311>,
<0x321>,
<0x331>,
<0x341>,
<0x351>,
<0x361>,
<0x371>;
output-enable;
input-enable;
bias-pull-up;
slew-rate = <208>;
};
usdhc0-200mhz-grp2 {
pinmux = <0x391>;
output-enable;
slew-rate = <208>;
};
usdhc0-200mhz-grp3 {
pinmux = <0x3a0>;
input-enable;
slew-rate = <208>;
};
usdhc0-200mhz-grp4 {
pinmux = <0x2032>,
<0x2042>,
<0x2052>,
<0x2062>,
<0x2072>,
<0x2082>,
<0x2092>,
<0x20a2>,
<0x20b2>,
<0x20c2>;
};
};
};
uart0: serial@401c8000 {

View File

@@ -40,6 +40,10 @@ &uart1 {
};
&usdhc0 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc0>;
pinctrl-1 = <&pinctrl_usdhc0_100mhz>;
pinctrl-2 = <&pinctrl_usdhc0_200mhz>;
bus-width = <8>;
disable-wp;
status = "okay";