<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><font face="굴림체">Dear Sir. <br>
</font></p>
<p><font face="굴림체"><br>
I want to control the GPIO pin that pin number is 12, 13, 14</font></p>
<p><font face="굴림체"><br>
DataSheet(P 1909) and coreboot source
code(src/southbridge/intel/fsp_rangeley/gpio.c, gpio.h) is said
to me that "It is very easy"</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">If i want to set the HIGH to 12, 13, 14</font></p>
<p><font face="굴림체">Just setup the some register, is see below.<br>
</font></p>
<p><font face="굴림체"> SC_USE_SEL = 0x7000(b0111 0000 0000 0000)<br>
</font></p>
<p><font face="굴림체"> Is mean, the 12, 13, 14 is config to GPIO
mode.(enable GPIO)<br>
</font></p>
<p><font face="굴림체"> SC_IO_SEL = 0x00(b0000 0000 0000 0000)<br>
</font></p>
<p><font face="굴림체"> Is mean, the 12, 13, 14 is output mode<br>
</font></p>
<p><font face="굴림체"> SC_GP_LVL = 0x7000</font><font face="굴림체">(b0111
0000 0000 0000)</font></p>
<p><font face="굴림체"> Is mean, the 12, 13, 14 is set to HIGH
level(1)</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">src/southbridge/intel/fsp_rangeley/gpio.h</font></p>
<p><font face="굴림체"> /* Core GPIO */<br>
const struct soc_gpio soc_gpio_mode = {<br>
.gpio12 = GPIO_MODE_GPIO, /* Board ID GPIO */<br>
.gpio13 = GPIO_MODE_GPIO, /* Board ID GPIO */<br>
.gpio14 = GPIO_MODE_GPIO, /* Board ID GPIO */<br>
};</font></p>
<p><font face="굴림체"> const struct soc_gpio soc_gpio_direction = {<br>
.gpio12 = GPIO_DIR_OUTPUT,<br>
.gpio13 = GPIO_DIR_OUTPUT,<br>
.gpio14 = GPIO_DIR_OUTPUT,<br>
};<br>
</font></p>
<p><font face="굴림체"> const struct soc_gpio soc_gpio_level = {<br>
.gpio12 = GPIO_LEVEL_HIGH,<br>
.gpio13 = GPIO_LEVEL_HIGH,<br>
.gpio14 = GPIO_LEVEL_HIGH,<br>
};<br>
<br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">Yes, It is perfectley running.</font></p>
<p><font face="굴림체">The 12, 13, 14 PIN is goto active-HIGH.(I was
check this pin use by oscilloscope.)<br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">And I'm try to read the SC_GP_LVL register for
check current status/config of gpio pins</font></p>
<p><font face="굴림체">I was <b>respected</b> the read value is <b>0x7000</b>,
because i was writed the <b>0x7000</b> to SC_GP_LVL.</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">But, every time readed the <b>0x00</b> from
SC_GP_LVL register.</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><u><font face="굴림체">When write 0x7000 write to SC_USE_SEL, Can
read the 0x7000 from SC_USE_SEL.</font></u></p>
<p><u><font face="굴림체">When write 0x00 write to SC_IO_SEL, Can read
the 0x00 from SC_IO_SEL.</font></u></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">But,</font></p>
<p><br>
<b><u><font face="굴림체">When write 0x7000 write to SC_GP_LVL, Can
read the 0x00 from SC_GP_LVL. everytime.</font></u></b></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">I don't understand this sistuation.<br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">Please advise to me. <br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체">Thank you. </font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
<p><font face="굴림체"><br>
</font></p>
</body>
</html>