summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMing Wei2017-06-05 14:16:36 -0500
committerMing Wei2017-06-05 14:16:36 -0500
commitedcd3e41b98c1e55985d8f68e2a49d68535a0e35 (patch)
tree5a9ca7e347508d8cacf6c3c28f1394a44c7484f0
parentb3a7a14a1dc11fed8fcc99eabdd2fff7977cdb06 (diff)
downloadaudk2g-addon-edcd3e41b98c1e55985d8f68e2a49d68535a0e35.tar.gz
audk2g-addon-edcd3e41b98c1e55985d8f68e2a49d68535a0e35.tar.xz
audk2g-addon-edcd3e41b98c1e55985d8f68e2a49d68535a0e35.zip
audk2g-addon: add pull down to all McASP pins
Signed-off-by: Ming Wei <a0868762@ti.com>
-rw-r--r--include/evmc66x_pinmux.h12
-rw-r--r--src/audk2g.c16
-rw-r--r--src/evmc66x_pinmux.c35
3 files changed, 63 insertions, 0 deletions
diff --git a/include/evmc66x_pinmux.h b/include/evmc66x_pinmux.h
index 796e95d..4f3d81f 100644
--- a/include/evmc66x_pinmux.h
+++ b/include/evmc66x_pinmux.h
@@ -80,6 +80,18 @@ void pinMuxInit(void);
80 */ 80 */
81int32_t audk2g_pinMuxSetMode(uint16_t padCfgId, Audk2gPadCfgMuxMode muxMode); 81int32_t audk2g_pinMuxSetMode(uint16_t padCfgId, Audk2gPadCfgMuxMode muxMode);
82 82
83/**
84 * \brief Configures pull up/down of a pad config register
85 *
86 * \param padCfgId [IN] Pad config register Id; 0 - 259
87 * \param pullMode [IN] Pad config pull mode
88 *
89 * \return
90 * \n 0 - Pull mode configuration is successful
91 * \n -1 - Invalid parameter
92 */
93int32_t audk2g_pullSetMode(uint16_t padCfgId, uint16_t pullMode);
94
83#endif /* _EVMC66X_AUDK2G_PINMUX_H_ */ 95#endif /* _EVMC66X_AUDK2G_PINMUX_H_ */
84 96
85/* Nothing past this point */ 97/* Nothing past this point */
diff --git a/src/audk2g.c b/src/audk2g.c
index fc7475c..3a90445 100644
--- a/src/audk2g.c
+++ b/src/audk2g.c
@@ -93,6 +93,8 @@ Audk2g_STATUS audk2g_AudioInit(void)
93 for (audk2g_padCfg = 169; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++) 93 for (audk2g_padCfg = 169; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++)
94 { 94 {
95 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 95 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
96 // set to weak pull down
97 audk2g_pullSetMode(audk2g_padCfg, 0);
96 } 98 }
97 99
98 /* MCASP0AXR[12:15] - PADCONFIG 188 to 191 */ 100 /* MCASP0AXR[12:15] - PADCONFIG 188 to 191 */
@@ -100,6 +102,8 @@ Audk2g_STATUS audk2g_AudioInit(void)
100 for (audk2g_padCfg = 188; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++) 102 for (audk2g_padCfg = 188; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++)
101 { 103 {
102 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 104 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
105 // set to weak pull down
106 audk2g_pullSetMode(audk2g_padCfg, 0);
103 } 107 }
104 108
105 109
@@ -109,6 +113,8 @@ Audk2g_STATUS audk2g_AudioInit(void)
109 for (audk2g_padCfg = 152; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++) 113 for (audk2g_padCfg = 152; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++)
110 { 114 {
111 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 115 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
116 // set to weak pull down
117 audk2g_pullSetMode(audk2g_padCfg, 0);
112 } 118 }
113 119
114 /* MCASP1AHCLKX - PADCONFIG 157 */ 120 /* MCASP1AHCLKX - PADCONFIG 157 */
@@ -119,10 +125,14 @@ Audk2g_STATUS audk2g_AudioInit(void)
119 for (audk2g_padCfg = 159; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++) 125 for (audk2g_padCfg = 159; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++)
120 { 126 {
121 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 127 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
128 // set to weak pull down
129 audk2g_pullSetMode(audk2g_padCfg, 0);
122 } 130 }
123 131
124 /* MCASP1AXR9 - PADCONFIG 168 */ 132 /* MCASP1AXR9 - PADCONFIG 168 */
125 audk2g_pinMuxSetMode(168, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 133 audk2g_pinMuxSetMode(168, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
134 // set to weak pull down
135 audk2g_pullSetMode(168, 0);
126 136
127 137
128 /* Configure McASP2 lines */ 138 /* Configure McASP2 lines */
@@ -132,13 +142,19 @@ Audk2g_STATUS audk2g_AudioInit(void)
132 for (audk2g_padCfg = 140; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++) 142 for (audk2g_padCfg = 140; audk2g_padCfg <= audk2g_padMax; audk2g_padCfg++)
133 { 143 {
134 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 144 audk2g_pinMuxSetMode(audk2g_padCfg, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
145 // set to weak pull down
146 audk2g_pullSetMode(audk2g_padCfg, 0);
135 } 147 }
136 148
137 /* MCASP2FSX - PADCONFIG 149 */ 149 /* MCASP2FSX - PADCONFIG 149 */
138 audk2g_pinMuxSetMode(149, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 150 audk2g_pinMuxSetMode(149, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
151 // set to weak pull down
152 audk2g_pullSetMode(149, 0);
139 153
140 /* MCASP2ACLKX - PADCONFIG 151 */ 154 /* MCASP2ACLKX - PADCONFIG 151 */
141 audk2g_pinMuxSetMode(151, AUDK2G_PADCONFIG_MUX_MODE_QUINARY); 155 audk2g_pinMuxSetMode(151, AUDK2G_PADCONFIG_MUX_MODE_QUINARY);
156 // set to weak pull down
157 audk2g_pullSetMode(151, 0);
142 158
143 /* Configure GPIO for McASP_CLK_SEL - GPIO0 132 & PADCONFIG 163 */ 159 /* Configure GPIO for McASP_CLK_SEL - GPIO0 132 & PADCONFIG 163 */
144 audk2g_pinMuxSetMode(163, AUDK2G_PADCONFIG_MUX_MODE_QUATERNARY); 160 audk2g_pinMuxSetMode(163, AUDK2G_PADCONFIG_MUX_MODE_QUATERNARY);
diff --git a/src/evmc66x_pinmux.c b/src/evmc66x_pinmux.c
index 2c78fc2..8411926 100644
--- a/src/evmc66x_pinmux.c
+++ b/src/evmc66x_pinmux.c
@@ -357,4 +357,39 @@ int32_t audk2g_pinMuxSetMode(uint16_t padCfgId, Audk2gPadCfgMuxMode muxMode)
357 357
358} //audk2g_pinMuxSetMode 358} //audk2g_pinMuxSetMode
359 359
360/**
361 * \brief Configures pull up/down of a pad config register
362 *
363 * \param padCfgId [IN] Pad config register Id; 0 - 259
364 * \param pullMode [IN] Pad config pull mode
365 *
366 * \return
367 * \n 0 - Pull mode configuration is successful
368 * \n -1 - Invalid parameter
369 */
370int32_t audk2g_pullSetMode(uint16_t padCfgId, uint16_t pullMode)
371{
372 volatile Uint32 *padCfgBase;
373
374 if((padCfgId < PADCONFIG_MAX_COUNT) &&
375 (pullMode <= AUDK2G_PADCONFIG_MUX_MODE_SENARY))
376 {
377 /* Unlock the Boot Config */
378 CSL_BootCfgUnlockKicker();
379
380 padCfgBase = &hBootCfg->PADCONFIG0;
381 // set the pull mode (up/down)
382 CSL_FINS(*(padCfgBase + padCfgId), BOOTCFG_PADCONFIG0_PULLTYPESEL, pullMode);
383 // pull mode enabled
384 CSL_FINS(*(padCfgBase + padCfgId), BOOTCFG_PADCONFIG0_PULLUDEN, 0);
385
386 return (0);
387 }
388 else
389 {
390 return (-1);
391 }
392
393} //audk2g_pullSetMode
394
360/* Nothing past this point */ 395/* Nothing past this point */