<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10.5pt" ><div class="markdown-here-wrapper" data-md-url="https://mail.notes.na.collabserv.com/verse" dir="ltr" markdown-here-wrapper-content-modified="true" style="" ><p style="margin: 0px 0px 1.2em ! important;" >Hi All,</p>
<p style="margin: 0px 0px 1.2em ! important;" >This mail is to discuss how to handle GPIO differences (e.g. functionality, IN/OUT) between different HWs.</p>
<p style="margin: 0px 0px 1.2em ! important;" >I went into a case the P8 uses two GPIOs, but P9 does not use them: in <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >skeleton/op-hostctl/control_host_obj.c</code>:</p>
<pre style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;" ><code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block ! important;" >GPIO Throttle = (GPIO){ "BMC_THROTTLE" };

GPIO idbtn = (GPIO){ "IDBTN" };

...

rc |= gpio_write(&Throttle,1);

rc |= gpio_write(&idbtn,0);
</code></pre>
<p style="margin: 0px 0px 1.2em ! important;" >In P9, <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >BMC_THROTTLE</code> is renamed to <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >N_MODE_N</code>, and changed to an <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >IN</code> GPIO; <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >IDBTN</code> is changed to <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >IN</code> GPIO as well.<br>If we keep the above code and overriding the GPIOs, writing <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >BMC_THROTTLE</code> takes no effect, but writing to <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;" >IDBTN</code> may break the function of its related front panel button.</p>
<p style="margin: 0px 0px 1.2em ! important;" >So I think we need to distinguish such cases to avoid issues.</p>
<p style="margin: 0px 0px 1.2em ! important;" >The question is, how to change the code to support different HWs that have unique GPIOs?</p>
<p style="margin: 0px 0px 1.2em ! important;" >—<br>Lei YU (郁雷)<br>IBM OpenPOWER Application Engineer<br>Tel: (86-21)6092-2710<br>E-Mail: shyulei@cn.ibm.com</p>
<div style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0;" title="MDH:PGRpdj5IaSBBbGwsPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhpcyBtYWlsIGlzIHRv
IGRpc2N1c3MgaG93IHRvIGhhbmRsZSBHUElPIGRpZmZlcmVuY2VzIChlLmcuIGZ1bmN0aW9uYWxp
dHksIElOL09VVCkgYmV0d2VlbiBkaWZmZXJlbnQgSFdzLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rp
dj48ZGl2Pkkgd2VudCBpbnRvIGEgY2FzZSB0aGUgUDggdXNlcyB0d28gR1BJT3MsIGJ1dCBQOSBk
b2VzIG5vdCB1c2UgdGhlbTogaW4gYHNrZWxldG9uL29wLWhvc3RjdGwvY29udHJvbF9ob3N0X29i
ai5jYDo8YnI+PC9kaXY+PGRpdj5gYGA8YnI+PC9kaXY+PGRpdj48dGFibGUgY2xhc3M9ImhpZ2hs
aWdodCB0YWItc2l6ZSBqcy1maWxlLWxpbmUtY29udGFpbmVyIiBkYXRhLXRhYi1zaXplPSI4Ij48
dGJvZHk+PHRyPjx0ZCBpZD0iTEMyMyIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIg
anMtZmlsZS1saW5lIj5HUElPIFRocm90dGxlID0gKEdQSU8peyA8c3BhbiBjbGFzcz0icGwtcyI+
PHNwYW4gY2xhc3M9InBsLXBkcyI+Ijwvc3Bhbj5CTUNfVEhST1RUTEU8c3BhbiBjbGFzcz0icGwt
cGRzIj4iPC9zcGFuPjwvc3Bhbj4gfTs8L3RkPjwvdHI+PHRyPjwvdHI+PC90Ym9keT48L3RhYmxl
Pjx0YWJsZSBjbGFzcz0iaGlnaGxpZ2h0IHRhYi1zaXplIGpzLWZpbGUtbGluZS1jb250YWluZXIi
IGRhdGEtdGFiLXNpemU9IjgiPjx0Ym9keT48dHI+PHRkIGlkPSJMQzI0IiBjbGFzcz0iYmxvYi1j
b2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPkdQSU8gaWRidG4gPSAoR1BJTyl7IDxz
cGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4iPC9zcGFuPklEQlROPHNwYW4g
Y2xhc3M9InBsLXBkcyI+Ijwvc3Bhbj48L3NwYW4+IH07PC90ZD48L3RyPjwvdGJvZHk+PC90YWJs
ZT48ZGl2Pi4uLjxicj48L2Rpdj48ZGl2Pjx0YWJsZSBjbGFzcz0iaGlnaGxpZ2h0IHRhYi1zaXpl
IGpzLWZpbGUtbGluZS1jb250YWluZXIiIGRhdGEtdGFiLXNpemU9IjgiPjx0Ym9keT48dHI+PHRk
IGlkPSJMQzEyMCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5l
Ij5yYyB8PSA8c3BhbiBjbGFzcz0icGwtYzEiPmdwaW9fd3JpdGU8L3NwYW4+KCZhbXA7VGhyb3R0
bGUsPHNwYW4gY2xhc3M9InBsLWMxIj4xPC9zcGFuPik7PC90ZD48L3RyPjx0cj48L3RyPjwvdGJv
ZHk+PC90YWJsZT48dGFibGUgY2xhc3M9ImhpZ2hsaWdodCB0YWItc2l6ZSBqcy1maWxlLWxpbmUt
Y29udGFpbmVyIiBkYXRhLXRhYi1zaXplPSI4Ij48dGJvZHk+PHRyPjx0ZCBpZD0iTEMxMjEiIGNs
YXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+cmMgfD0gPHNwYW4g
Y2xhc3M9InBsLWMxIj5ncGlvX3dyaXRlPC9zcGFuPigmYW1wO2lkYnRuLDxzcGFuIGNsYXNzPSJw
bC1jMSI+MDwvc3Bhbj4pOzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+IDxicj48L2Rpdj48L2Rp
dj48ZGl2PmBgYDxicj48L2Rpdj48ZGl2PkluIFA5LCBgQk1DX1RIUk9UVExFYCBpcyByZW5hbWVk
IHRvIGBOX01PREVfTmAsIGFuZCBjaGFuZ2VkIHRvIGFuIGBJTmAgR1BJTzsgYElEQlROYCBpcyBj
aGFuZ2VkIHRvIGBJTmAgR1BJTyBhcyB3ZWxsLjxicj48L2Rpdj48ZGl2PklmIHdlIGtlZXAgdGhl
IGFib3ZlIGNvZGUgYW5kIG92ZXJyaWRpbmcgdGhlIEdQSU9zLCAgd3JpdGluZyBgQk1DX1RIUk9U
VExFYCB0YWtlcyBubyBlZmZlY3QsIGJ1dCB3cml0aW5nIHRvIGBJREJUTmAgbWF5IGJyZWFrIHRo
ZSBmdW5jdGlvbiBvZiBpdHMgcmVsYXRlZCBmcm9udCBwYW5lbCBidXR0b24uPGJyPjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+U28gSSB0aGluayB3ZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIHN1Y2gg
Y2FzZXMgdG8gYXZvaWQgaXNzdWVzLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSBx
dWVzdGlvbiBpcywgaG93IHRvIGNoYW5nZSB0aGUgY29kZSB0byBzdXBwb3J0IGRpZmZlcmVudCBI
V3MgdGhhdCBoYXZlIHVuaXF1ZSBHUElPcz88YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdiBj
bGFzcz0ibWFpbC1zaWduYXR1cmUtY29udGFpbmVyIj48ZGl2IGNsYXNzPSJzb2NtYWlsZGVmYXVs
dGZvbnQiIGRpcj0ibHRyIiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhIE5ldWUm
cXVvdDssIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwLjVwdCI+PGRp
diBjbGFzcz0ic29jbWFpbGRlZmF1bHRmb250IiBkaXI9Imx0ciIgc3R5bGU9ImZvbnQtZmFtaWx5
OiZxdW90O0hlbHZldGljYSBOZXVlJnF1b3Q7LCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlm
O2ZvbnQtc2l6ZToxMC41cHQiPjxkaXYgZGlyPSJsdHIiPi0tPGJyPjwvZGl2PjxkaXYgZGlyPSJs
dHIiPkxlaSBZVSAo6YOB6Zu3KTxicj5JQk0gT3BlblBPV0VSIEFwcGxpY2F0aW9uIEVuZ2luZWVy
PGJyPlRlbDogKDg2LTIxKTYwOTItMjcxMDxicj5FLU1haWw6IHNoeXVsZWlAY24uaWJtLmNvbTxi
cj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4=" >​</div></div></div><BR>