18c2ecf20Sopenharmony_ci* Pin configuration for TI IODELAY controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciTI dra7 based SoCs such as am57xx have a controller for setting the IO delay 48c2ecf20Sopenharmony_cifor each pin. For most part the IO delay values are programmed by the bootloader, 58c2ecf20Sopenharmony_cibut some pins need to be configured dynamically by the kernel such as the 68c2ecf20Sopenharmony_ciMMC pins. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciRequired Properties: 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci - compatible: Must be "ti,dra7-iodelay" 118c2ecf20Sopenharmony_ci - reg: Base address and length of the memory resource used 128c2ecf20Sopenharmony_ci - #address-cells: Number of address cells 138c2ecf20Sopenharmony_ci - #size-cells: Size of cells 148c2ecf20Sopenharmony_ci - #pinctrl-cells: Number of pinctrl cells, must be 2. See also 158c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciExample 188c2ecf20Sopenharmony_ci------- 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciIn the SoC specific dtsi file: 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci dra7_iodelay_core: padconf@4844a000 { 238c2ecf20Sopenharmony_ci compatible = "ti,dra7-iodelay"; 248c2ecf20Sopenharmony_ci reg = <0x4844a000 0x0d1c>; 258c2ecf20Sopenharmony_ci #address-cells = <1>; 268c2ecf20Sopenharmony_ci #size-cells = <0>; 278c2ecf20Sopenharmony_ci #pinctrl-cells = <2>; 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciIn board-specific file: 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci&dra7_iodelay_core { 338c2ecf20Sopenharmony_ci mmc2_iodelay_3v3_conf: mmc2_iodelay_3v3_conf { 348c2ecf20Sopenharmony_ci pinctrl-pin-array = < 358c2ecf20Sopenharmony_ci 0x18c A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A19_IN */ 368c2ecf20Sopenharmony_ci 0x1a4 A_DELAY_PS(265) G_DELAY_PS(360) /* CFG_GPMC_A20_IN */ 378c2ecf20Sopenharmony_ci 0x1b0 A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A21_IN */ 388c2ecf20Sopenharmony_ci 0x1bc A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A22_IN */ 398c2ecf20Sopenharmony_ci 0x1c8 A_DELAY_PS(287) G_DELAY_PS(420) /* CFG_GPMC_A23_IN */ 408c2ecf20Sopenharmony_ci 0x1d4 A_DELAY_PS(144) G_DELAY_PS(240) /* CFG_GPMC_A24_IN */ 418c2ecf20Sopenharmony_ci 0x1e0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_IN */ 428c2ecf20Sopenharmony_ci 0x1ec A_DELAY_PS(120) G_DELAY_PS(0) /* CFG_GPMC_A26_IN */ 438c2ecf20Sopenharmony_ci 0x1f8 A_DELAY_PS(120) G_DELAY_PS(180) /* CFG_GPMC_A27_IN */ 448c2ecf20Sopenharmony_ci 0x360 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_IN */ 458c2ecf20Sopenharmony_ci >; 468c2ecf20Sopenharmony_ci }; 478c2ecf20Sopenharmony_ci}; 48