162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * MMC IOdelay values for TI's DRA72x, DRA71x and AM571x SoCs.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/*
962306a36Sopenharmony_ci * Rules for modifying this file:
1062306a36Sopenharmony_ci * a) Update of this file should typically correspond to a datamanual revision.
1162306a36Sopenharmony_ci *    Datamanual revision that was used should be updated in comment below.
1262306a36Sopenharmony_ci *    If there is no update to datamanual, do not update the values. If you
1362306a36Sopenharmony_ci *    need to use values different from that recommended by the datamanual
1462306a36Sopenharmony_ci *    for your design, then you should consider adding values to the device-
1562306a36Sopenharmony_ci *    -tree file for your board directly.
1662306a36Sopenharmony_ci * b) We keep the mode names as close to the datamanual as possible. So
1762306a36Sopenharmony_ci *    if the manual calls a mode, DDR50, or DDR or DDR 1.8v or DDR 3.3v,
1862306a36Sopenharmony_ci *    we follow that in code too.
1962306a36Sopenharmony_ci * c) If the values change between multiple revisions of silicon, we add
2062306a36Sopenharmony_ci *    a revision tag to both the new and old entry. Use 'rev10' for PG 1.0,
2162306a36Sopenharmony_ci *    'rev20' for PG 2.0 and so on.
2262306a36Sopenharmony_ci * d) The node name and node label should be the exact same string. This is
2362306a36Sopenharmony_ci *    to curb naming creativity and achieve consistency.
2462306a36Sopenharmony_ci * e) If in future, DRA71x and DRA72x values differ, then add 'dra71_' and
2562306a36Sopenharmony_ci *    'dra72_' tag to entries. Both the new and old entries should gain a tag.
2662306a36Sopenharmony_ci *
2762306a36Sopenharmony_ci * Datamanual Revisions:
2862306a36Sopenharmony_ci *
2962306a36Sopenharmony_ci * AM571x Silicon Revision 2.0: SPRS957D, Revised January 2017
3062306a36Sopenharmony_ci * AM571x Silicon Revision 1.0: SPRS919M, Revised November 2017
3162306a36Sopenharmony_ci * DRA71x : SPRS960B, Revised February 2017
3262306a36Sopenharmony_ci */
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci&dra7_pmx_core {
3562306a36Sopenharmony_ci	mmc1_pins_default: mmc1-default-pins {
3662306a36Sopenharmony_ci		pinctrl-single,pins = <
3762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
3862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
3962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
4062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
4162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
4262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
4362306a36Sopenharmony_ci		>;
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	mmc1_pins_sdr12: mmc1-sdr12-pins {
4762306a36Sopenharmony_ci		pinctrl-single,pins = <
4862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_clk.clk */
4962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_cmd.cmd */
5062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat0.dat0 */
5162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat1.dat1 */
5262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat2.dat2 */
5362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat3.dat3 */
5462306a36Sopenharmony_ci		>;
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	mmc1_pins_hs: mmc1-hs-pins {
5862306a36Sopenharmony_ci		pinctrl-single,pins = <
5962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
6062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
6162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
6262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
6362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
6462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
6562306a36Sopenharmony_ci		>;
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	mmc1_pins_sdr25: mmc1-sdr25-pins {
6962306a36Sopenharmony_ci		pinctrl-single,pins = <
7062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_clk.clk */
7162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_cmd.cmd */
7262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat0.dat0 */
7362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat1.dat1 */
7462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat2.dat2 */
7562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_dat3.dat3 */
7662306a36Sopenharmony_ci		>;
7762306a36Sopenharmony_ci	};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	mmc1_pins_sdr50: mmc1-sdr50-pins {
8062306a36Sopenharmony_ci		pinctrl-single,pins = <
8162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0)	/* mmc1_clk.clk */
8262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0)	/* mmc1_cmd.cmd */
8362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0)	/* mmc1_dat0.dat0 */
8462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0)	/* mmc1_dat1.dat1 */
8562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0)	/* mmc1_dat2.dat2 */
8662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0)	/* mmc1_dat3.dat3 */
8762306a36Sopenharmony_ci		>;
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	mmc1_pins_ddr50_rev10: mmc1-ddr50-rev10-pins {
9162306a36Sopenharmony_ci		pinctrl-single,pins = <
9262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0)	/* mmc1_clk.mmc1_clk */
9362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0)	/* mmc1_cmd.mmc1_cmd */
9462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375C, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0)	/* mmc1_dat0.mmc1_dat0 */
9562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0)	/* mmc1_dat1.mmc1_dat1 */
9662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0)	/* mmc1_dat2.mmc1_dat2 */
9762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0)	/* mmc1_dat3.mmc1_dat3 */
9862306a36Sopenharmony_ci		>;
9962306a36Sopenharmony_ci	};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	mmc1_pins_ddr50_rev20: mmc1-ddr50-rev20-pins {
10262306a36Sopenharmony_ci		pinctrl-single,pins = <
10362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_clk.clk */
10462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_cmd.cmd */
10562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat0.dat0 */
10662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat1.dat1 */
10762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat2.dat2 */
10862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat3.dat3 */
10962306a36Sopenharmony_ci		>;
11062306a36Sopenharmony_ci	};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	mmc1_pins_sdr104: mmc1-sdr104-pins {
11362306a36Sopenharmony_ci		pinctrl-single,pins = <
11462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_clk.clk */
11562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_cmd.cmd */
11662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat0.dat0 */
11762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat1.dat1 */
11862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat2.dat2 */
11962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)	/* mmc1_dat3.dat3 */
12062306a36Sopenharmony_ci		>;
12162306a36Sopenharmony_ci	};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci	mmc2_pins_default: mmc2-default-pins {
12462306a36Sopenharmony_ci		pinctrl-single,pins = <
12562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
12662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
12762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
12862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
12962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
13062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
13162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
13262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
13362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
13462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
13562306a36Sopenharmony_ci		>;
13662306a36Sopenharmony_ci	};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci	mmc2_pins_hs: mmc2-hs-pins {
13962306a36Sopenharmony_ci		pinctrl-single,pins = <
14062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
14162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
14262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
14362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
14462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
14562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
14662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
14762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
14862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
14962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
15062306a36Sopenharmony_ci		>;
15162306a36Sopenharmony_ci	};
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci	mmc2_pins_ddr_rev10: mmc2-ddr-rev10-pins {
15462306a36Sopenharmony_ci		pinctrl-single,pins = <
15562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a19.mmc2_dat4 */
15662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a20.mmc2_dat5 */
15762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a21.mmc2_dat6 */
15862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a22.mmc2_dat7 */
15962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a23.mmc2_clk */
16062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a24.mmc2_dat0 */
16162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a25.mmc2_dat1 */
16262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a26.mmc2_dat2 */
16362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_a27.mmc2_dat3 */
16462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_cs1.mmc2_cmd */
16562306a36Sopenharmony_ci		>;
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci	mmc2_pins_ddr_rev20: mmc2-ddr-rev20-pins {
16962306a36Sopenharmony_ci		pinctrl-single,pins = <
17062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
17162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
17262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
17362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
17462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
17562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
17662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
17762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
17862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
17962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
18062306a36Sopenharmony_ci		>;
18162306a36Sopenharmony_ci	};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci	mmc2_pins_hs200: mmc2-hs200-pins {
18462306a36Sopenharmony_ci		pinctrl-single,pins = <
18562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
18662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
18762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
18862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
18962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
19062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
19162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
19262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
19362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
19462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
19562306a36Sopenharmony_ci		>;
19662306a36Sopenharmony_ci	};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci	mmc4_pins_default: mmc4-default-pins {
19962306a36Sopenharmony_ci		pinctrl-single,pins = <
20062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.mmc4_clk */
20162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rtsn.mmc4_cmd */
20262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT_PULLUP | MUX_MODE3) /* uart2_rxd.mmc4_dat0 */
20362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT_PULLUP | MUX_MODE3) /* uart2_txd.mmc4_dat1 */
20462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_PULLUP | MUX_MODE3) /* uart2_ctsn.mmc4_dat2 */
20562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_PULLUP | MUX_MODE3) /* uart2_rtsn.mmc4_dat3 */
20662306a36Sopenharmony_ci		>;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci&dra7_iodelay_core {
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci	/* Corresponds to MMC1_MANUAL1 in datamanual */
21362306a36Sopenharmony_ci	mmc1_iodelay_ddr50_conf: mmc1_iodelay_ddr50_conf {
21462306a36Sopenharmony_ci		pinctrl-pin-array = <
21562306a36Sopenharmony_ci			0x618 A_DELAY_PS(588) G_DELAY_PS(0)	/* CFG_MMC1_CLK_IN */
21662306a36Sopenharmony_ci			0x624 A_DELAY_PS(1000) G_DELAY_PS(0)	/* CFG_MMC1_CMD_IN */
21762306a36Sopenharmony_ci			0x630 A_DELAY_PS(1375) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_IN */
21862306a36Sopenharmony_ci			0x63C A_DELAY_PS(1000) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_IN */
21962306a36Sopenharmony_ci			0x648 A_DELAY_PS(1000) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_IN */
22062306a36Sopenharmony_ci			0x654 A_DELAY_PS(1000) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_IN */
22162306a36Sopenharmony_ci			0x620 A_DELAY_PS(1230) G_DELAY_PS(0)	/* CFG_MMC1_CLK_OUT */
22262306a36Sopenharmony_ci			0x62C A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_CMD_OUT */
22362306a36Sopenharmony_ci			0x638 A_DELAY_PS(56) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_OUT */
22462306a36Sopenharmony_ci			0x644 A_DELAY_PS(76) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_OUT */
22562306a36Sopenharmony_ci			0x650 A_DELAY_PS(91) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_OUT */
22662306a36Sopenharmony_ci			0x65C A_DELAY_PS(99) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_OUT */
22762306a36Sopenharmony_ci			0x628 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_CMD_OEN */
22862306a36Sopenharmony_ci			0x634 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_OEN */
22962306a36Sopenharmony_ci			0x640 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_OEN */
23062306a36Sopenharmony_ci			0x64C A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_OEN */
23162306a36Sopenharmony_ci			0x658 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_OEN */
23262306a36Sopenharmony_ci		>;
23362306a36Sopenharmony_ci	};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci	/* Corresponds to MMC1_MANUAL2 in datamanual */
23662306a36Sopenharmony_ci	mmc1_iodelay_sdr104_rev10_conf: mmc1_iodelay_sdr104_rev10_conf {
23762306a36Sopenharmony_ci		pinctrl-pin-array = <
23862306a36Sopenharmony_ci			0x620 A_DELAY_PS(560) G_DELAY_PS(365)	/* CFG_MMC1_CLK_OUT */
23962306a36Sopenharmony_ci			0x62c A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_CMD_OUT */
24062306a36Sopenharmony_ci			0x638 A_DELAY_PS(29) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_OUT */
24162306a36Sopenharmony_ci			0x644 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_OUT */
24262306a36Sopenharmony_ci			0x650 A_DELAY_PS(47) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_OUT */
24362306a36Sopenharmony_ci			0x65c A_DELAY_PS(30) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_OUT */
24462306a36Sopenharmony_ci			0x628 A_DELAY_PS(125) G_DELAY_PS(0)	/* CFG_MMC1_CMD_OEN */
24562306a36Sopenharmony_ci			0x634 A_DELAY_PS(43) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_OEN */
24662306a36Sopenharmony_ci			0x640 A_DELAY_PS(433) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_OEN */
24762306a36Sopenharmony_ci			0x64c A_DELAY_PS(287) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_OEN */
24862306a36Sopenharmony_ci			0x658 A_DELAY_PS(351) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_OEN */
24962306a36Sopenharmony_ci		>;
25062306a36Sopenharmony_ci	};
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci	/* Corresponds to MMC1_MANUAL2 in datamanual */
25362306a36Sopenharmony_ci	mmc1_iodelay_sdr104_rev20_conf: mmc1_iodelay_sdr104_rev20_conf {
25462306a36Sopenharmony_ci		pinctrl-pin-array = <
25562306a36Sopenharmony_ci			0x620 A_DELAY_PS(520) G_DELAY_PS(320)	/* CFG_MMC1_CLK_OUT */
25662306a36Sopenharmony_ci			0x62c A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_CMD_OUT */
25762306a36Sopenharmony_ci			0x638 A_DELAY_PS(40) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_OUT */
25862306a36Sopenharmony_ci			0x644 A_DELAY_PS(83) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_OUT */
25962306a36Sopenharmony_ci			0x650 A_DELAY_PS(98) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_OUT */
26062306a36Sopenharmony_ci			0x65c A_DELAY_PS(106) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_OUT */
26162306a36Sopenharmony_ci			0x628 A_DELAY_PS(51) G_DELAY_PS(0)	/* CFG_MMC1_CMD_OEN */
26262306a36Sopenharmony_ci			0x634 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_MMC1_DAT0_OEN */
26362306a36Sopenharmony_ci			0x640 A_DELAY_PS(363) G_DELAY_PS(0)	/* CFG_MMC1_DAT1_OEN */
26462306a36Sopenharmony_ci			0x64c A_DELAY_PS(199) G_DELAY_PS(0)	/* CFG_MMC1_DAT2_OEN */
26562306a36Sopenharmony_ci			0x658 A_DELAY_PS(273) G_DELAY_PS(0)	/* CFG_MMC1_DAT3_OEN */
26662306a36Sopenharmony_ci		>;
26762306a36Sopenharmony_ci	};
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	/* Corresponds to MMC2_MANUAL1 in datamanual */
27062306a36Sopenharmony_ci	mmc2_iodelay_ddr_conf: mmc2_iodelay_ddr_conf {
27162306a36Sopenharmony_ci		pinctrl-pin-array = <
27262306a36Sopenharmony_ci			0x18c A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A19_IN */
27362306a36Sopenharmony_ci			0x1a4 A_DELAY_PS(119) G_DELAY_PS(0)	/* CFG_GPMC_A20_IN */
27462306a36Sopenharmony_ci			0x1b0 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A21_IN */
27562306a36Sopenharmony_ci			0x1bc A_DELAY_PS(18) G_DELAY_PS(0)	/* CFG_GPMC_A22_IN */
27662306a36Sopenharmony_ci			0x1c8 A_DELAY_PS(894) G_DELAY_PS(0)	/* CFG_GPMC_A23_IN */
27762306a36Sopenharmony_ci			0x1d4 A_DELAY_PS(30) G_DELAY_PS(0)	/* CFG_GPMC_A24_IN */
27862306a36Sopenharmony_ci			0x1e0 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A25_IN */
27962306a36Sopenharmony_ci			0x1ec A_DELAY_PS(23) G_DELAY_PS(0)	/* CFG_GPMC_A26_IN */
28062306a36Sopenharmony_ci			0x1f8 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A27_IN */
28162306a36Sopenharmony_ci			0x360 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_CS1_IN */
28262306a36Sopenharmony_ci			0x194 A_DELAY_PS(152) G_DELAY_PS(0)	/* CFG_GPMC_A19_OUT */
28362306a36Sopenharmony_ci			0x1ac A_DELAY_PS(206) G_DELAY_PS(0)	/* CFG_GPMC_A20_OUT */
28462306a36Sopenharmony_ci			0x1b8 A_DELAY_PS(78) G_DELAY_PS(0)	/* CFG_GPMC_A21_OUT */
28562306a36Sopenharmony_ci			0x1c4 A_DELAY_PS(2) G_DELAY_PS(0)	/* CFG_GPMC_A22_OUT */
28662306a36Sopenharmony_ci			0x1d0 A_DELAY_PS(266) G_DELAY_PS(0)	/* CFG_GPMC_A23_OUT */
28762306a36Sopenharmony_ci			0x1dc A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A24_OUT */
28862306a36Sopenharmony_ci			0x1e8 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A25_OUT */
28962306a36Sopenharmony_ci			0x1f4 A_DELAY_PS(43) G_DELAY_PS(0)	/* CFG_GPMC_A26_OUT */
29062306a36Sopenharmony_ci			0x200 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A27_OUT */
29162306a36Sopenharmony_ci			0x368 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_CS1_OUT */
29262306a36Sopenharmony_ci			0x190 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A19_OEN */
29362306a36Sopenharmony_ci			0x1a8 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A20_OEN */
29462306a36Sopenharmony_ci			0x1b4 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A21_OEN */
29562306a36Sopenharmony_ci			0x1c0 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A22_OEN */
29662306a36Sopenharmony_ci			0x1d8 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A24_OEN */
29762306a36Sopenharmony_ci			0x1e4 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A25_OEN */
29862306a36Sopenharmony_ci			0x1f0 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A26_OEN */
29962306a36Sopenharmony_ci			0x1fc A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A27_OEN */
30062306a36Sopenharmony_ci			0x364 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_CS1_OEN */
30162306a36Sopenharmony_ci		>;
30262306a36Sopenharmony_ci	};
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci	/* Corresponds to MMC2_MANUAL3 in datamanual */
30562306a36Sopenharmony_ci	mmc2_iodelay_hs200_rev10_conf: mmc2_iodelay_hs200_rev10_conf {
30662306a36Sopenharmony_ci		pinctrl-pin-array = <
30762306a36Sopenharmony_ci			0x194 A_DELAY_PS(150) G_DELAY_PS(95)	/* CFG_GPMC_A19_OUT */
30862306a36Sopenharmony_ci			0x1ac A_DELAY_PS(250) G_DELAY_PS(0)	/* CFG_GPMC_A20_OUT */
30962306a36Sopenharmony_ci			0x1b8 A_DELAY_PS(125) G_DELAY_PS(0)	/* CFG_GPMC_A21_OUT */
31062306a36Sopenharmony_ci			0x1c4 A_DELAY_PS(100) G_DELAY_PS(0)	/* CFG_GPMC_A22_OUT */
31162306a36Sopenharmony_ci			0x1d0 A_DELAY_PS(870) G_DELAY_PS(415)	/* CFG_GPMC_A23_OUT */
31262306a36Sopenharmony_ci			0x1dc A_DELAY_PS(30) G_DELAY_PS(0)	/* CFG_GPMC_A24_OUT */
31362306a36Sopenharmony_ci			0x1e8 A_DELAY_PS(200) G_DELAY_PS(0)	/* CFG_GPMC_A25_OUT */
31462306a36Sopenharmony_ci			0x1f4 A_DELAY_PS(200) G_DELAY_PS(0)	/* CFG_GPMC_A26_OUT */
31562306a36Sopenharmony_ci			0x200 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A27_OUT */
31662306a36Sopenharmony_ci			0x368 A_DELAY_PS(240) G_DELAY_PS(0)	/* CFG_GPMC_CS1_OUT */
31762306a36Sopenharmony_ci			0x190 A_DELAY_PS(695) G_DELAY_PS(0)	/* CFG_GPMC_A19_OEN */
31862306a36Sopenharmony_ci			0x1a8 A_DELAY_PS(924) G_DELAY_PS(0)	/* CFG_GPMC_A20_OEN */
31962306a36Sopenharmony_ci			0x1b4 A_DELAY_PS(719) G_DELAY_PS(0)	/* CFG_GPMC_A21_OEN */
32062306a36Sopenharmony_ci			0x1c0 A_DELAY_PS(824) G_DELAY_PS(0)	/* CFG_GPMC_A22_OEN */
32162306a36Sopenharmony_ci			0x1d8 A_DELAY_PS(877) G_DELAY_PS(0)	/* CFG_GPMC_A24_OEN */
32262306a36Sopenharmony_ci			0x1e4 A_DELAY_PS(446) G_DELAY_PS(0)	/* CFG_GPMC_A25_OEN */
32362306a36Sopenharmony_ci			0x1f0 A_DELAY_PS(847) G_DELAY_PS(0)	/* CFG_GPMC_A26_OEN */
32462306a36Sopenharmony_ci			0x1fc A_DELAY_PS(586) G_DELAY_PS(0)	/* CFG_GPMC_A27_OEN */
32562306a36Sopenharmony_ci			0x364 A_DELAY_PS(1039) G_DELAY_PS(0)	/* CFG_GPMC_CS1_OEN */
32662306a36Sopenharmony_ci		>;
32762306a36Sopenharmony_ci	};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci	/* Corresponds to MMC2_MANUAL3 in datamanual */
33062306a36Sopenharmony_ci	mmc2_iodelay_hs200_rev20_conf: mmc2_iodelay_hs200_rev20_conf {
33162306a36Sopenharmony_ci		pinctrl-pin-array = <
33262306a36Sopenharmony_ci			0x194 A_DELAY_PS(285) G_DELAY_PS(0)	/* CFG_GPMC_A19_OUT */
33362306a36Sopenharmony_ci			0x1ac A_DELAY_PS(189) G_DELAY_PS(0)	/* CFG_GPMC_A20_OUT */
33462306a36Sopenharmony_ci			0x1b8 A_DELAY_PS(0) G_DELAY_PS(120)	/* CFG_GPMC_A21_OUT */
33562306a36Sopenharmony_ci			0x1c4 A_DELAY_PS(0) G_DELAY_PS(70)	/* CFG_GPMC_A22_OUT */
33662306a36Sopenharmony_ci			0x1d0 A_DELAY_PS(730) G_DELAY_PS(360)	/* CFG_GPMC_A23_OUT */
33762306a36Sopenharmony_ci			0x1dc A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A24_OUT */
33862306a36Sopenharmony_ci			0x1e8 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A25_OUT */
33962306a36Sopenharmony_ci			0x1f4 A_DELAY_PS(70) G_DELAY_PS(0)	/* CFG_GPMC_A26_OUT */
34062306a36Sopenharmony_ci			0x200 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A27_OUT */
34162306a36Sopenharmony_ci			0x368 A_DELAY_PS(0) G_DELAY_PS(120)	/* CFG_GPMC_CS1_OUT */
34262306a36Sopenharmony_ci			0x190 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A19_OEN */
34362306a36Sopenharmony_ci			0x1a8 A_DELAY_PS(231) G_DELAY_PS(0)	/* CFG_GPMC_A20_OEN */
34462306a36Sopenharmony_ci			0x1b4 A_DELAY_PS(39) G_DELAY_PS(0)	/* CFG_GPMC_A21_OEN */
34562306a36Sopenharmony_ci			0x1c0 A_DELAY_PS(91) G_DELAY_PS(0)	/* CFG_GPMC_A22_OEN */
34662306a36Sopenharmony_ci			0x1d8 A_DELAY_PS(176) G_DELAY_PS(0)	/* CFG_GPMC_A24_OEN */
34762306a36Sopenharmony_ci			0x1e4 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A25_OEN */
34862306a36Sopenharmony_ci			0x1f0 A_DELAY_PS(101) G_DELAY_PS(0)	/* CFG_GPMC_A26_OEN */
34962306a36Sopenharmony_ci			0x1fc A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A27_OEN */
35062306a36Sopenharmony_ci			0x364 A_DELAY_PS(360) G_DELAY_PS(0)	/* CFG_GPMC_CS1_OEN */
35162306a36Sopenharmony_ci		>;
35262306a36Sopenharmony_ci	};
35362306a36Sopenharmony_ci};
354