<p>Kévin Redon has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13054">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add RMII clock output<br><br>The TLK106 Ethernet PHY requires a 50 MHz input on XI in RMII mode.<br>RMII_CLOCK is connected on the micro-controller on PA14 and PB11.<br>PA14, with note "GTXCR" on the schematic, cannot be use to provide<br>the 50 MHz clock since this is the clock output for GLK[0], which<br>is reserved for the CPU running at 120 MHz.<br>PB11 is the clock output pin for GCLK[5], which now divides DPLL1<br>at 100 MHz to the required 50 MHz.<br>WARNING: I did not test if the output clock signal matches the<br>requirement of the input clock signal.<br><br>Change-Id: Id8409779d2835b56bbae7db2e962034c82fa3b62<br>---<br>M sysmoOCTSIM/atmel_start_config.atstart<br>M sysmoOCTSIM/atmel_start_pins.h<br>M sysmoOCTSIM/config/hpl_gclk_config.h<br>M sysmoOCTSIM/driver_init.c<br>4 files changed, 52 insertions(+), 2 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/54/13054/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 4590623..29ec468 100644</span><br><span>--- a/sysmoOCTSIM/atmel_start_config.atstart</span><br><span>+++ b/sysmoOCTSIM/atmel_start_config.atstart</span><br><span>@@ -734,7 +734,7 @@</span><br><span>       gclk_gen_4_div: 1</span><br><span>       gclk_gen_4_div_sel: false</span><br><span>       gclk_gen_4_oscillator: External Crystal Oscillator 8-48MHz (XOSC1)</span><br><span style="color: hsl(0, 100%, 40%);">-      gclk_gen_5_div: 5</span><br><span style="color: hsl(120, 100%, 40%);">+      gclk_gen_5_div: 2</span><br><span>       gclk_gen_5_div_sel: false</span><br><span>       gclk_gen_5_oscillator: Digital Phase Locked Loop (DPLL1)</span><br><span>       gclk_gen_6_div: 1</span><br><span>@@ -1453,6 +1453,16 @@</span><br><span>       pad_function: M</span><br><span>       pad_initial_level: Low</span><br><span>       pad_pull_config: 'Off'</span><br><span style="color: hsl(120, 100%, 40%);">+  RMII_CLOCK:</span><br><span style="color: hsl(120, 100%, 40%);">+    name: PB11</span><br><span style="color: hsl(120, 100%, 40%);">+    definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PB11</span><br><span style="color: hsl(120, 100%, 40%);">+    mode: Advanced</span><br><span style="color: hsl(120, 100%, 40%);">+    user_label: RMII_CLOCK</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>   SCL1:</span><br><span>     name: PB14</span><br><span>     definition: Atmel:SAME54_Drivers:0.0.1::SAME54N19A-AF::pad::PB14</span><br><span>diff --git a/sysmoOCTSIM/atmel_start_pins.h b/sysmoOCTSIM/atmel_start_pins.h</span><br><span>index c877d5e..18a55fa 100644</span><br><span>--- a/sysmoOCTSIM/atmel_start_pins.h</span><br><span>+++ b/sysmoOCTSIM/atmel_start_pins.h</span><br><span>@@ -46,6 +46,7 @@</span><br><span> #define SCL3 GPIO(GPIO_PORTB, 6)</span><br><span> #define SDA3 GPIO(GPIO_PORTB, 7)</span><br><span> #define SIM4_IO GPIO(GPIO_PORTB, 8)</span><br><span style="color: hsl(120, 100%, 40%);">+#define RMII_CLOCK GPIO(GPIO_PORTB, 11)</span><br><span> #define SCL1 GPIO(GPIO_PORTB, 14)</span><br><span> #define SDA1 GPIO(GPIO_PORTB, 15)</span><br><span> #define SIM5_IO GPIO(GPIO_PORTB, 16)</span><br><span>diff --git a/sysmoOCTSIM/config/hpl_gclk_config.h b/sysmoOCTSIM/config/hpl_gclk_config.h</span><br><span>index 6b7586c..8c0beee 100644</span><br><span>--- a/sysmoOCTSIM/config/hpl_gclk_config.h</span><br><span>+++ b/sysmoOCTSIM/config/hpl_gclk_config.h</span><br><span>@@ -454,7 +454,7 @@</span><br><span> //<o> Generic clock generator 5 division <0x0000-0xFFFF></span><br><span> // <id> gclk_gen_5_div</span><br><span> #ifndef CONF_GCLK_GEN_5_DIV</span><br><span style="color: hsl(0, 100%, 40%);">-#define CONF_GCLK_GEN_5_DIV 5</span><br><span style="color: hsl(120, 100%, 40%);">+#define CONF_GCLK_GEN_5_DIV 2</span><br><span> #endif</span><br><span> // </h></span><br><span> // </e></span><br><span>diff --git a/sysmoOCTSIM/driver_init.c b/sysmoOCTSIM/driver_init.c</span><br><span>index e56ba0d..ef9c56b 100644</span><br><span>--- a/sysmoOCTSIM/driver_init.c</span><br><span>+++ b/sysmoOCTSIM/driver_init.c</span><br><span>@@ -691,6 +691,45 @@</span><br><span> </span><br><span>        gpio_set_pin_function(SDA3, GPIO_PIN_FUNCTION_OFF);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       // GPIO on PB11</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gpio_set_pin_direction(RMII_CLOCK,</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(RMII_CLOCK,</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_function(RMII_CLOCK,</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>        // GPIO on PB14</span><br><span> </span><br><span>  gpio_set_pin_level(SCL1,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13054">change 13054</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/13054"/><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: Id8409779d2835b56bbae7db2e962034c82fa3b62 </div>
<div style="display:none"> Gerrit-Change-Number: 13054 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Kévin Redon <kredon@sysmocom.de> </div>