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