[FE training-materials-updates] Update a20 pin muxing example

Michael Opdenacker michael.opdenacker at free-electrons.com
Wed May 17 14:07:11 CEST 2017


Repository : git://git.free-electrons.com/training-materials.git
On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=776021bc908dd2a4f9307148bfa08771502a3451

>---------------------------------------------------------------

commit 776021bc908dd2a4f9307148bfa08771502a3451
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Wed May 17 14:07:11 2017 +0200

    Update a20 pin muxing example
    
    - The latest version is cleaner, you use a phandle to
      the pin muxing section.
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

776021bc908dd2a4f9307148bfa08771502a3451
 slides/kernel-device-model/kernel-device-model.tex |   5 +-
 slides/kernel-pinmuxing/allwinner-example.dia      | 245 +++++++++++++--------
 2 files changed, 157 insertions(+), 93 deletions(-)

diff --git a/slides/kernel-device-model/kernel-device-model.tex b/slides/kernel-device-model/kernel-device-model.tex
index f0eba69..4e8c0ab 100644
--- a/slides/kernel-device-model/kernel-device-model.tex
+++ b/slides/kernel-device-model/kernel-device-model.tex
@@ -685,12 +685,15 @@ static struct platform_driver serial_omap_driver = {
   \item {\em Device tree bindings} are all documented in
     \kerneldoctext{devicetree/bindings}.
   \item Since the Device Tree is normally part of the kernel ABI, the
-    {\em bindings} must remain compatible over-time.
+    {\em bindings} must remain compatible over time.
     \begin{itemize}
     \item A new kernel must be capable of using an old Device Tree.
     \item This requires a very careful design of the bindings. They
       are all reviewed on the \code{devicetree at vger.kernel.org}
       mailing list.
+    \item See Thomas Petazzoni's presentation on this topic:
+          {\em Device Tree as a stable ABI: a fairy tale?}
+	  (\url{http://bit.ly/1U1tYkT}).
     \end{itemize}
   \item A Device Tree binding should contain only a {\em description
       of the hardware} and not {\em configuration}.
diff --git a/slides/kernel-pinmuxing/allwinner-example.dia b/slides/kernel-pinmuxing/allwinner-example.dia
index 0d1b5d5..67cc648 100644
--- a/slides/kernel-pinmuxing/allwinner-example.dia
+++ b/slides/kernel-pinmuxing/allwinner-example.dia
@@ -2,10 +2,10 @@
 <dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
   <dia:diagramdata>
     <dia:attribute name="background">
-      <dia:color val="#ffffff"/>
+      <dia:color val="#ffffffff"/>
     </dia:attribute>
     <dia:attribute name="pagebreak">
-      <dia:color val="#000099"/>
+      <dia:color val="#000099ff"/>
     </dia:attribute>
     <dia:attribute name="paper">
       <dia:composite type="paper">
@@ -37,6 +37,9 @@
     </dia:attribute>
     <dia:attribute name="grid">
       <dia:composite type="grid">
+        <dia:attribute name="dynamic">
+          <dia:boolean val="true"/>
+        </dia:attribute>
         <dia:attribute name="width_x">
           <dia:real val="1"/>
         </dia:attribute>
@@ -53,7 +56,7 @@
       </dia:composite>
     </dia:attribute>
     <dia:attribute name="color">
-      <dia:color val="#d8e5e5"/>
+      <dia:color val="#d8e5e5ff"/>
     </dia:attribute>
     <dia:attribute name="guides">
       <dia:composite type="guides">
@@ -61,32 +64,51 @@
         <dia:attribute name="vguides"/>
       </dia:composite>
     </dia:attribute>
+    <dia:attribute name="display">
+      <dia:composite type="display">
+        <dia:attribute name="antialiased">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-grid">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-object">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-grid">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-connection-points">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
   </dia:diagramdata>
-  <dia:layer name="Arrière-plan" visible="true">
+  <dia:layer name="Arrière-plan" visible="true" connectable="true">
     <dia:object type="Standard - Box" version="0" id="O0">
       <dia:attribute name="obj_pos">
         <dia:point val="31.9441,-2.26936"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="31.8941,-2.31936;59.7026,31.1206"/>
+        <dia:rectangle val="31.8941,-2.31936;63.7375,34.9993"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
         <dia:point val="31.9441,-2.26936"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="27.708528390539524"/>
+        <dia:real val="31.743400000000001"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="33.339965917827193"/>
+        <dia:real val="37.218690000000002"/>
       </dia:attribute>
       <dia:attribute name="border_width">
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
+        <dia:color val="#6a8954ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
+        <dia:color val="#c5e387ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -112,10 +134,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#5cacff"/>
+        <dia:color val="#5cacffff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#add8e6"/>
+        <dia:color val="#add8e6ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -160,7 +182,7 @@
             <dia:point val="5.73784,-0.963624"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -173,46 +195,48 @@
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O3">
       <dia:attribute name="obj_pos">
-        <dia:point val="35.2132,-1.2248"/>
+        <dia:point val="35.2132,-1.1748"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="35.2132,-1.9323;54.6482,31.7335"/>
+        <dia:rectangle val="35.2132,-1.8823;62.2532,33.9002"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
             <dia:string>#/ {
-  soc at 01c00000 {
+...
+        leds {
+                compatible = "gpio-leds";
+                pinctrl-names = "default";
+                pinctrl-0 = <&led_pins_olinuxino>;
 
-    pio: pinctrl at 01c20800 {
-      led_pins_olinuxino: led_pins at 0 {
-        allwinner,pins = "PH2";
-        allwinner,function = "gpio_out";
-        allwinner,drive = <1>;
-        allwinner,pull = <0>;
-      };
-    };
+                green {
+                        label = "a20-olinuxino-micro:green:usr";
+                        gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
+                        default-state = "on";
+                };
+        };
+...
+};
 
-    uart0: serial at 01c28000 {
-      pinctrl-names = "default";
-      pinctrl-0 = <&uart0_pins_a>;
-      status = "okay";
-    };
-  };
 
-  leds {
-    compatible = "gpio-leds";
-    pinctrl-names = "default";
-    pinctrl-0 = <&led_pins_olinuxino>;
+&pio {
+        ....
 
-    green {
-      label = "a20-olinuxino-micro:green:usr";
-      gpios = <&pio 7 2 0>;
-      default-state = "on";
-    };
-  };
+        led_pins_olinuxino: led_pins at 0 {
+                pins = "PH2";
+                function = "gpio_out";
+                drive-strength = <20>;
+        };
+
+...
 };
-#</dia:string>
+
+&uart0 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&uart0_pins_a>;
+        status = "okay";
+};#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="Inconsolata" style="48" name="Courier"/>
@@ -221,10 +245,10 @@
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="35.2132,-1.2248"/>
+            <dia:point val="35.2132,-1.1748"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -236,20 +260,20 @@
       </dia:attribute>
     </dia:object>
   </dia:layer>
-  <dia:layer name="Arrows" visible="true"/>
-  <dia:layer name="Nouveau calque 1" visible="true" active="true">
+  <dia:layer name="Arrows" visible="true" connectable="true"/>
+  <dia:layer name="Nouveau calque 1" visible="true" connectable="true" active="true">
     <dia:object type="Standard - ZigZagLine" version="1" id="O4">
       <dia:attribute name="obj_pos">
-        <dia:point val="55.0097,21.884"/>
+        <dia:point val="57.0875,3.89933"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="54.3176,2.10774;58.9057,22.034"/>
+        <dia:rectangle val="52.9375,3.74933;62.6875,20.3347"/>
       </dia:attribute>
       <dia:attribute name="orth_points">
-        <dia:point val="55.0097,21.884"/>
-        <dia:point val="58.7557,21.884"/>
-        <dia:point val="58.7557,2.69315"/>
-        <dia:point val="54.653,2.69315"/>
+        <dia:point val="57.0875,3.89933"/>
+        <dia:point val="62.5375,3.89933"/>
+        <dia:point val="62.5375,19.7493"/>
+        <dia:point val="53.0875,19.7493"/>
       </dia:attribute>
       <dia:attribute name="orth_orient">
         <dia:enum val="0"/>
@@ -260,7 +284,7 @@
         <dia:boolean val="false"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#cc1f1a"/>
+        <dia:color val="#cc1f1aff"/>
       </dia:attribute>
       <dia:attribute name="line_width">
         <dia:real val="0.30000001192092896"/>
@@ -277,14 +301,14 @@
     </dia:object>
     <dia:object type="Standard - ZigZagLine" version="1" id="O5">
       <dia:attribute name="obj_pos">
-        <dia:point val="37.7662,13.2771"/>
+        <dia:point val="37.9,31.4493"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20.5441,5.54157;37.9162,13.4271"/>
+        <dia:rectangle val="20.7295,5.54157;38.05,31.5993"/>
       </dia:attribute>
       <dia:attribute name="orth_points">
-        <dia:point val="37.7662,13.2771"/>
-        <dia:point val="28.902,13.2771"/>
+        <dia:point val="37.9,31.4493"/>
+        <dia:point val="28.902,31.4493"/>
         <dia:point val="28.902,6.12698"/>
         <dia:point val="20.8795,6.12698"/>
       </dia:attribute>
@@ -297,7 +321,7 @@
         <dia:boolean val="false"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#cc1f1a"/>
+        <dia:color val="#cc1f1aff"/>
       </dia:attribute>
       <dia:attribute name="line_width">
         <dia:real val="0.30000001192092896"/>
@@ -327,7 +351,7 @@
         <dia:int val="1"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#868686ff"/>
       </dia:attribute>
       <dia:attribute name="line_width">
         <dia:real val="0.30000001192092896"/>
@@ -338,7 +362,7 @@
         <dia:point val="7.68424,8.02971"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="5.43424,7.44971;7.68424,9.76721"/>
+        <dia:rectangle val="5.43674,7.28971;7.68424,9.82971"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -357,7 +381,7 @@ config#</dia:string>
             <dia:point val="7.68424,8.02971"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="2"/>
@@ -370,20 +394,20 @@ config#</dia:string>
     </dia:object>
     <dia:object type="Standard - Line" version="0" id="O8">
       <dia:attribute name="obj_pos">
-        <dia:point val="37.5908,2.49953"/>
+        <dia:point val="37.5908,19.2995"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="37.4406,2.34925;37.7516,8.2853"/>
+        <dia:rectangle val="37.4405,19.1493;37.7516,25.0853"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
-        <dia:point val="37.5908,2.49953"/>
-        <dia:point val="37.6013,8.13502"/>
+        <dia:point val="37.5908,19.2995"/>
+        <dia:point val="37.6013,24.935"/>
       </dia:attribute>
       <dia:attribute name="numcp">
         <dia:int val="1"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#868686ff"/>
       </dia:attribute>
       <dia:attribute name="line_width">
         <dia:real val="0.30000001192092896"/>
@@ -391,10 +415,10 @@ config#</dia:string>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O9">
       <dia:attribute name="obj_pos">
-        <dia:point val="37.3367,4.68249"/>
+        <dia:point val="36.9367,21.6325"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="35.0992,4.10249;37.3367,6.41999"/>
+        <dia:rectangle val="34.7792,20.8925;36.9367,23.4325"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -410,10 +434,10 @@ config#</dia:string>
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="37.3367,4.68249"/>
+            <dia:point val="36.9367,21.6325"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="2"/>
@@ -426,20 +450,20 @@ config#</dia:string>
     </dia:object>
     <dia:object type="Standard - Line" version="0" id="O10">
       <dia:attribute name="obj_pos">
-        <dia:point val="52.8741,10.6327"/>
+        <dia:point val="52.8741,28.8827"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="52.7241,10.4827;53.0244,15.8371"/>
+        <dia:rectangle val="52.7241,28.7327;53.0244,34.0871"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
-        <dia:point val="52.8741,10.6327"/>
-        <dia:point val="52.8744,15.6871"/>
+        <dia:point val="52.8741,28.8827"/>
+        <dia:point val="52.8744,33.9371"/>
       </dia:attribute>
       <dia:attribute name="numcp">
         <dia:int val="1"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#868686ff"/>
       </dia:attribute>
       <dia:attribute name="line_width">
         <dia:real val="0.30000001192092896"/>
@@ -447,10 +471,10 @@ config#</dia:string>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O11">
       <dia:attribute name="obj_pos">
-        <dia:point val="53.3498,12.2381"/>
+        <dia:point val="53.3498,30.4881"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="53.3498,11.6581;57.6023,14.7756"/>
+        <dia:rectangle val="53.3498,29.7481;57.3848,33.0881"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -467,10 +491,10 @@ config#</dia:string>
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="53.3498,12.2381"/>
+            <dia:point val="53.3498,30.4881"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -483,20 +507,20 @@ config#</dia:string>
     </dia:object>
     <dia:object type="Standard - Line" version="0" id="O12">
       <dia:attribute name="obj_pos">
-        <dia:point val="36.6947,19.5688"/>
+        <dia:point val="36.6947,0.4188"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="36.5445,19.4186;36.8554,28.5058"/>
+        <dia:rectangle val="36.5441,0.268242;36.8881,12.0499"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
-        <dia:point val="36.6947,19.5688"/>
-        <dia:point val="36.7052,28.3557"/>
+        <dia:point val="36.6947,0.4188"/>
+        <dia:point val="36.7375,11.8993"/>
       </dia:attribute>
       <dia:attribute name="numcp">
         <dia:int val="1"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#868686ff"/>
       </dia:attribute>
       <dia:attribute name="line_width">
         <dia:real val="0.30000001192092896"/>
@@ -504,10 +528,10 @@ config#</dia:string>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O13">
       <dia:attribute name="obj_pos">
-        <dia:point val="36.3441,22.3315"/>
+        <dia:point val="36.3441,3.4815"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="32.7191,21.7515;36.3441,25.669"/>
+        <dia:rectangle val="32.9591,2.7415;36.3441,6.8815"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -525,10 +549,10 @@ config#</dia:string>
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="36.3441,22.3315"/>
+            <dia:point val="36.3441,3.4815"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="2"/>
@@ -544,7 +568,7 @@ config#</dia:string>
         <dia:point val="5.00853,-2.44854"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="5.00853,-3.34354;9.24103,-2.23854"/>
+        <dia:rectangle val="5.00853,-3.58854;8.81353,-2.14104"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -561,7 +585,7 @@ config#</dia:string>
             <dia:point val="5.00853,-2.44854"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -577,7 +601,7 @@ config#</dia:string>
         <dia:point val="32.1069,-2.66067"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="32.1069,-3.55567;37.0569,-2.45067"/>
+        <dia:rectangle val="32.1069,-3.80067;36.6869,-2.35317"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -594,7 +618,7 @@ config#</dia:string>
             <dia:point val="32.1069,-2.66067"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -627,7 +651,7 @@ config#</dia:string>
             <dia:point val="18.8033,-2.62692"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -660,7 +684,7 @@ config#</dia:string>
             <dia:point val="41.1009,-2.86475"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -671,5 +695,42 @@ config#</dia:string>
         <dia:enum val="3"/>
       </dia:attribute>
     </dia:object>
+    <dia:object type="Standard - ZigZagLine" version="1" id="O18">
+      <dia:attribute name="obj_pos">
+        <dia:point val="34.4801,16.5493"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="17.7801,0.26392;34.6302,16.6993"/>
+      </dia:attribute>
+      <dia:attribute name="orth_points">
+        <dia:point val="34.4801,16.5493"/>
+        <dia:point val="30.3801,16.5493"/>
+        <dia:point val="30.3801,0.84933"/>
+        <dia:point val="17.9301,0.84933"/>
+      </dia:attribute>
+      <dia:attribute name="orth_orient">
+        <dia:enum val="0"/>
+        <dia:enum val="1"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="autorouting">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#cc1f1aff"/>
+      </dia:attribute>
+      <dia:attribute name="line_width">
+        <dia:real val="0.30000001192092896"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+    </dia:object>
   </dia:layer>
 </dia:diagram>




More information about the training-materials-updates mailing list