<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 13, 2014 at 12:40 AM, Maxime Ripard <span dir="ltr">&lt;<a href="mailto:maxime.ripard@free-electrons.com" target="_blank">maxime.ripard@free-electrons.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; As a guide, I&#39;ve been using other ARM SoCs for examples and a number of<br>
&gt; very useful presentations on ARM SoC support from the Free Electron folks.<br>
&gt; Although presentations such as the &quot;ARM SoC Linux Support Check-list&quot; are<br>
&gt; very useful, they don&#39;t go into much detail.<br>
&gt;<br>
&gt; My question is two fold.  Is there detailed information of all the things<br>
&gt; that need to be covered in the code to introduce a new ARM SoC into the<br>
&gt; kernel?<br>
<br>
</span>Usually &quot;enough so that it boots&quot;, which means: timers, interrupts,<br>
UARTs, and that&#39;s pretty much it.<br>
<br>
Any additional feature is of course welcome, but I&#39;d suggest to just<br>
post that for the first set of patches. There will probably<br>
significant changes to make to your base drivers (and I would include<br>
clocks and pinctrl into these drivers), and these will impact any<br>
further developments. You don&#39;t want to have too much dependency :)<br>
<br>
Start small, then build on top of what&#39;s accepted.<br></blockquote><div><br></div><div>OK, that is pretty much from what I expected. I&#39;ll begin this process soon as I have added similar base support for the N32926 which is a bigger brother to the N32905.  I figure it&#39;s best to lay the foundation for multiple chips in the Nuvoton N329 family from the start.</div><div><br></div><div>I&#39;ve been using the iMX23 and iMX26 SoC support as the model for code placement, naming and such.  These chips are useful in the way they share drivers similar to what I would like to do.  Are these SoCs known to be following current best ARM SoC practices for me to follow in their path?</div><div><br></div><div>Concerning how I should arrange my code in a git repository, currently everything is in a single branch.  I guess I&#39;ll want to peel out just the minimal set of drivers from which I&#39;ll submit patches and then do the work on the more advanced SoC drivers in another set of branches so everything isn&#39;t all mixed together. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; Then, is there a description of how I start to go about contributing<br>
&gt; support for this chip into the Linux kernel? I honestly don&#39;t really<br>
&gt; know where to begin.<br>
<br>
</span>Like I said, send the minimum amount of patches to have Linux boot an<br>
initramfs on your SoC. Apart from that, there is nothing out of the<br>
ordinary on how to submit patches, everything is detailed in<br>
Documentation/SubmittingPatches. Basically, it will involve sending<br>
patches to the linux-arm-kernel mailing list and the ARM SoC kernel<br>
maintainers. Make sure that everything has no warning in<br>
scripts/<a href="http://checkpatch.pl" target="_blank">checkpatch.pl</a>, and you&#39;re good to go.<br>
<span class="HOEnZb"><font color="#888888"><br>
Maxime<br></font></span></blockquote><div><br></div><div>Got it.  Hopefully I&#39;ll start with the first set of patches within in the next few weeks and cross my fingers I&#39;m not chased away with a stick for being such a newbie :-).</div><div><br></div><div>Before submitting the first set of patches, would it be useful for me to post a link to them here on this mailing list so someone could look them over as a sanity check before a submission to the linux-arm-kernel mailing list?  I&#39;m a bit nervous about making a good first impression.</div><div><br></div><div>Mike<br></div><div><br></div></div></div></div>