162306a36Sopenharmony_ci* Pin configuration for TI IODELAY controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciTI dra7 based SoCs such as am57xx have a controller for setting the IO delay
462306a36Sopenharmony_cifor each pin. For most part the IO delay values are programmed by the bootloader,
562306a36Sopenharmony_cibut some pins need to be configured dynamically by the kernel such as the
662306a36Sopenharmony_ciMMC pins.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciRequired Properties:
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci  - compatible: Must be "ti,dra7-iodelay"
1162306a36Sopenharmony_ci  - reg: Base address and length of the memory resource used
1262306a36Sopenharmony_ci  - #address-cells: Number of address cells
1362306a36Sopenharmony_ci  - #size-cells: Size of cells
1462306a36Sopenharmony_ci  - #pinctrl-cells: Number of pinctrl cells, must be 2. See also
1562306a36Sopenharmony_ci    Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciExample
1862306a36Sopenharmony_ci-------
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciIn the SoC specific dtsi file:
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	dra7_iodelay_core: padconf@4844a000 {
2362306a36Sopenharmony_ci		compatible = "ti,dra7-iodelay";
2462306a36Sopenharmony_ci		reg = <0x4844a000 0x0d1c>;
2562306a36Sopenharmony_ci		#address-cells = <1>;
2662306a36Sopenharmony_ci		#size-cells = <0>;
2762306a36Sopenharmony_ci		#pinctrl-cells = <2>;
2862306a36Sopenharmony_ci	};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciIn board-specific file:
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci&dra7_iodelay_core {
3362306a36Sopenharmony_ci	mmc2_iodelay_3v3_conf: mmc2_iodelay_3v3_conf {
3462306a36Sopenharmony_ci		pinctrl-pin-array = <
3562306a36Sopenharmony_ci		0x18c A_DELAY_PS(0) G_DELAY_PS(120)	/* CFG_GPMC_A19_IN */
3662306a36Sopenharmony_ci		0x1a4 A_DELAY_PS(265) G_DELAY_PS(360)	/* CFG_GPMC_A20_IN */
3762306a36Sopenharmony_ci		0x1b0 A_DELAY_PS(0) G_DELAY_PS(120)	/* CFG_GPMC_A21_IN */
3862306a36Sopenharmony_ci		0x1bc A_DELAY_PS(0) G_DELAY_PS(120)	/* CFG_GPMC_A22_IN */
3962306a36Sopenharmony_ci		0x1c8 A_DELAY_PS(287) G_DELAY_PS(420)	/* CFG_GPMC_A23_IN */
4062306a36Sopenharmony_ci		0x1d4 A_DELAY_PS(144) G_DELAY_PS(240)	/* CFG_GPMC_A24_IN */
4162306a36Sopenharmony_ci		0x1e0 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_A25_IN */
4262306a36Sopenharmony_ci		0x1ec A_DELAY_PS(120) G_DELAY_PS(0)	/* CFG_GPMC_A26_IN */
4362306a36Sopenharmony_ci		0x1f8 A_DELAY_PS(120) G_DELAY_PS(180)	/* CFG_GPMC_A27_IN */
4462306a36Sopenharmony_ci		0x360 A_DELAY_PS(0) G_DELAY_PS(0)	/* CFG_GPMC_CS1_IN */
4562306a36Sopenharmony_ci		>;
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci};
48