<p>Kévin Redon has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12810">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">name pin according to schematic<br><br>Change-Id: I94a7f2216c288150b044a6190804f9b7247eb10c<br>---<br>M sysmoOCTSIM/atmel_start_config.atstart<br>M sysmoOCTSIM/atmel_start_pins.h<br>M sysmoOCTSIM/driver_init.c<br>M sysmoOCTSIM/main.c<br>4 files changed, 175 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/10/12810/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/sysmoOCTSIM/atmel_start_config.atstart b/sysmoOCTSIM/atmel_start_config.atstart</span><br><span>index 5c7cc2c..b6303f9 100644</span><br><span>--- a/sysmoOCTSIM/atmel_start_config.atstart</span><br><span>+++ b/sysmoOCTSIM/atmel_start_config.atstart</span><br><span>@@ -1030,6 +1030,46 @@</span><br><span>         configuration:</span><br><span>           usb_gclk_selection: Generic clock generator 1</span><br><span> pads:</span><br><span style="color: hsl(120, 100%, 40%);">+  SIMCLK_20MHZ:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PA11</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA11</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Advanced</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: SIMCLK_20MHZ</span><br><span style="color: hsl(120, 100%, 40%);">+    configuration:</span><br><span style="color: hsl(120, 100%, 40%);">+      pad_direction: Out</span><br><span style="color: hsl(120, 100%, 40%);">+      pad_function: M</span><br><span style="color: hsl(120, 100%, 40%);">+      pad_initial_level: Low</span><br><span style="color: hsl(120, 100%, 40%);">+      pad_pull_config: 'Off'</span><br><span style="color: hsl(120, 100%, 40%);">+  SWITCH:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PC14</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PC14</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Digital input</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: SWITCH</span><br><span style="color: hsl(120, 100%, 40%);">+    configuration: null</span><br><span style="color: hsl(120, 100%, 40%);">+  VB0:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PA20</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA20</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Digital input</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: VB0</span><br><span style="color: hsl(120, 100%, 40%);">+    configuration: null</span><br><span style="color: hsl(120, 100%, 40%);">+  VB1:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PA21</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA21</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Digital input</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: VB1</span><br><span style="color: hsl(120, 100%, 40%);">+    configuration: null</span><br><span style="color: hsl(120, 100%, 40%);">+  VB2:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PA22</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA22</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Digital input</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: VB2</span><br><span style="color: hsl(120, 100%, 40%);">+    configuration: null</span><br><span style="color: hsl(120, 100%, 40%);">+  VB3:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PA23</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA23</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Digital input</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: VB3</span><br><span style="color: hsl(120, 100%, 40%);">+    configuration: null</span><br><span>   USBUP_D_N:</span><br><span>     name: PA24</span><br><span>     definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PA24</span><br><span>@@ -1042,11 +1082,11 @@</span><br><span>     mode: Advanced</span><br><span>     user_label: USBUP_D_P</span><br><span>     configuration: null</span><br><span style="color: hsl(0, 100%, 40%);">-  LED_system:</span><br><span style="color: hsl(120, 100%, 40%);">+  USER_LED:</span><br><span>     name: PC26</span><br><span>     definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PC26</span><br><span>     mode: Digital output</span><br><span style="color: hsl(0, 100%, 40%);">-    user_label: LED_system</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: USER_LED</span><br><span>     configuration: null</span><br><span>   UART_TX:</span><br><span>     name: PB30</span><br><span>diff --git a/sysmoOCTSIM/atmel_start_pins.h b/sysmoOCTSIM/atmel_start_pins.h</span><br><span>index 884a562..fea4388 100644</span><br><span>--- a/sysmoOCTSIM/atmel_start_pins.h</span><br><span>+++ b/sysmoOCTSIM/atmel_start_pins.h</span><br><span>@@ -27,10 +27,16 @@</span><br><span> #define GPIO_PIN_FUNCTION_M 12</span><br><span> #define GPIO_PIN_FUNCTION_N 13</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define SIMCLK_20MHZ GPIO(GPIO_PORTA, 11)</span><br><span style="color: hsl(120, 100%, 40%);">+#define VB0 GPIO(GPIO_PORTA, 20)</span><br><span style="color: hsl(120, 100%, 40%);">+#define VB1 GPIO(GPIO_PORTA, 21)</span><br><span style="color: hsl(120, 100%, 40%);">+#define VB2 GPIO(GPIO_PORTA, 22)</span><br><span style="color: hsl(120, 100%, 40%);">+#define VB3 GPIO(GPIO_PORTA, 23)</span><br><span> #define USBUP_D_N GPIO(GPIO_PORTA, 24)</span><br><span> #define USBUP_D_P GPIO(GPIO_PORTA, 25)</span><br><span> #define UART_TX GPIO(GPIO_PORTB, 30)</span><br><span> #define UART_RX GPIO(GPIO_PORTB, 31)</span><br><span style="color: hsl(0, 100%, 40%);">-#define LED_system GPIO(GPIO_PORTC, 26)</span><br><span style="color: hsl(120, 100%, 40%);">+#define SWITCH GPIO(GPIO_PORTC, 14)</span><br><span style="color: hsl(120, 100%, 40%);">+#define USER_LED GPIO(GPIO_PORTC, 26)</span><br><span> </span><br><span> #endif // ATMEL_START_PINS_H_INCLUDED</span><br><span>diff --git a/sysmoOCTSIM/driver_init.c b/sysmoOCTSIM/driver_init.c</span><br><span>index dea4ebc..4ab622f 100644</span><br><span>--- a/sysmoOCTSIM/driver_init.c</span><br><span>+++ b/sysmoOCTSIM/driver_init.c</span><br><span>@@ -176,9 +176,131 @@</span><br><span> {</span><br><span>   init_mcu();</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       // GPIO on PA11</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_direction(SIMCLK_20MHZ,</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <y> Pin direction</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <id> pad_direction</span><br><span style="color: hsl(120, 100%, 40%);">+                           // <GPIO_DIRECTION_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <GPIO_DIRECTION_IN"> In</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_DIRECTION_OUT"> Out</span><br><span style="color: hsl(120, 100%, 40%);">+                               GPIO_DIRECTION_OUT);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ gpio_set_pin_level(SIMCLK_20MHZ,</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <y> Initial level</span><br><span style="color: hsl(120, 100%, 40%);">+                    // <id> pad_initial_level</span><br><span style="color: hsl(120, 100%, 40%);">+                       // <false"> Low</span><br><span style="color: hsl(120, 100%, 40%);">+                    // <true"> High</span><br><span style="color: hsl(120, 100%, 40%);">+                    false);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  gpio_set_pin_pull_mode(SIMCLK_20MHZ,</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <y> Pull configuration</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <id> pad_pull_config</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PULL_UP"> Pull-up</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_DOWN"> Pull-down</span><br><span style="color: hsl(120, 100%, 40%);">+                             GPIO_PULL_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      gpio_set_pin_function(SIMCLK_20MHZ,</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <y> Pin function</span><br><span style="color: hsl(120, 100%, 40%);">+                             // <id> pad_function</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <i> Auto : use driver pinmux if signal is imported by driver, else turn off function</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PIN_FUNCTION_OFF"> Auto</span><br><span style="color: hsl(120, 100%, 40%);">+                           // <GPIO_PIN_FUNCTION_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PIN_FUNCTION_A"> A</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_B"> B</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_C"> C</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_D"> D</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_E"> E</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_F"> F</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_G"> G</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_H"> H</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_I"> I</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_J"> J</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_K"> K</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_L"> L</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_M"> M</span><br><span style="color: hsl(120, 100%, 40%);">+                        // <GPIO_PIN_FUNCTION_N"> N</span><br><span style="color: hsl(120, 100%, 40%);">+                        GPIO_PIN_FUNCTION_M);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ // GPIO on PA20</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     // Set pin direction to input</span><br><span style="color: hsl(120, 100%, 40%);">+ gpio_set_pin_direction(VB0, GPIO_DIRECTION_IN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_pull_mode(VB0,</span><br><span style="color: hsl(120, 100%, 40%);">+                          // <y> Pull configuration</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <id> pad_pull_config</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PULL_UP"> Pull-up</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_DOWN"> Pull-down</span><br><span style="color: hsl(120, 100%, 40%);">+                             GPIO_PULL_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      gpio_set_pin_function(VB0, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  // GPIO on PA21</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     // Set pin direction to input</span><br><span style="color: hsl(120, 100%, 40%);">+ gpio_set_pin_direction(VB1, GPIO_DIRECTION_IN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_pull_mode(VB1,</span><br><span style="color: hsl(120, 100%, 40%);">+                          // <y> Pull configuration</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <id> pad_pull_config</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PULL_UP"> Pull-up</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_DOWN"> Pull-down</span><br><span style="color: hsl(120, 100%, 40%);">+                             GPIO_PULL_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      gpio_set_pin_function(VB1, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  // GPIO on PA22</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     // Set pin direction to input</span><br><span style="color: hsl(120, 100%, 40%);">+ gpio_set_pin_direction(VB2, GPIO_DIRECTION_IN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_pull_mode(VB2,</span><br><span style="color: hsl(120, 100%, 40%);">+                          // <y> Pull configuration</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <id> pad_pull_config</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PULL_UP"> Pull-up</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_DOWN"> Pull-down</span><br><span style="color: hsl(120, 100%, 40%);">+                             GPIO_PULL_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      gpio_set_pin_function(VB2, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  // GPIO on PA23</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     // Set pin direction to input</span><br><span style="color: hsl(120, 100%, 40%);">+ gpio_set_pin_direction(VB3, GPIO_DIRECTION_IN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_pull_mode(VB3,</span><br><span style="color: hsl(120, 100%, 40%);">+                          // <y> Pull configuration</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <id> pad_pull_config</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PULL_UP"> Pull-up</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_DOWN"> Pull-down</span><br><span style="color: hsl(120, 100%, 40%);">+                             GPIO_PULL_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      gpio_set_pin_function(VB3, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  // GPIO on PC14</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     // Set pin direction to input</span><br><span style="color: hsl(120, 100%, 40%);">+ gpio_set_pin_direction(SWITCH, GPIO_DIRECTION_IN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  gpio_set_pin_pull_mode(SWITCH,</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <y> Pull configuration</span><br><span style="color: hsl(120, 100%, 40%);">+                               // <id> pad_pull_config</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_OFF"> Off</span><br><span style="color: hsl(120, 100%, 40%);">+                            // <GPIO_PULL_UP"> Pull-up</span><br><span style="color: hsl(120, 100%, 40%);">+                         // <GPIO_PULL_DOWN"> Pull-down</span><br><span style="color: hsl(120, 100%, 40%);">+                             GPIO_PULL_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      gpio_set_pin_function(SWITCH, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>      // GPIO on PC26</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     gpio_set_pin_level(LED_system,</span><br><span style="color: hsl(120, 100%, 40%);">+        gpio_set_pin_level(USER_LED,</span><br><span>                            // <y> Initial level</span><br><span>                           // <id> pad_initial_level</span><br><span>                      // <false"> Low</span><br><span>@@ -186,9 +308,9 @@</span><br><span>                     false);</span><br><span> </span><br><span>       // Set pin direction to output</span><br><span style="color: hsl(0, 100%, 40%);">-  gpio_set_pin_direction(LED_system, GPIO_DIRECTION_OUT);</span><br><span style="color: hsl(120, 100%, 40%);">+       gpio_set_pin_direction(USER_LED, GPIO_DIRECTION_OUT);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       gpio_set_pin_function(LED_system, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_function(USER_LED, GPIO_PIN_FUNCTION_OFF);</span><br><span> </span><br><span>  UART_debug_init();</span><br><span> </span><br><span>diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c</span><br><span>index dfe3b03..f2584d2 100644</span><br><span>--- a/sysmoOCTSIM/main.c</span><br><span>+++ b/sysmoOCTSIM/main.c</span><br><span>@@ -30,7 +30,7 @@</span><br><span> static void rx_cb_UART_debug(const struct usart_async_descriptor *const io_descr)</span><br><span> {</span><br><span>    /* Receive completed */</span><br><span style="color: hsl(0, 100%, 40%);">- gpio_toggle_pin_level(LED_system);</span><br><span style="color: hsl(120, 100%, 40%);">+    gpio_toggle_pin_level(USER_LED);</span><br><span>     data_arrived = true;</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12810">change 12810</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12810"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ccid-firmware </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I94a7f2216c288150b044a6190804f9b7247eb10c </div>
<div style="display:none"> Gerrit-Change-Number: 12810 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Kévin Redon <kredon@sysmocom.de> </div>