153ab4af3SHans de Goede/* 253ab4af3SHans de Goede * Copyright 2012 Maxime Ripard 353ab4af3SHans de Goede * 453ab4af3SHans de Goede * Maxime Ripard <maxime.ripard@free-electrons.com> 553ab4af3SHans de Goede * 653ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms 753ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 853ab4af3SHans de Goede * licensing only applies to this file, and not this project as a 953ab4af3SHans de Goede * whole. 1053ab4af3SHans de Goede * 1153ab4af3SHans de Goede * a) This library is free software; you can redistribute it and/or 1253ab4af3SHans de Goede * modify it under the terms of the GNU General Public License as 1353ab4af3SHans de Goede * published by the Free Software Foundation; either version 2 of the 1453ab4af3SHans de Goede * License, or (at your option) any later version. 1553ab4af3SHans de Goede * 1653ab4af3SHans de Goede * This library is distributed in the hope that it will be useful, 1753ab4af3SHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 1853ab4af3SHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1953ab4af3SHans de Goede * GNU General Public License for more details. 2053ab4af3SHans de Goede * 2153ab4af3SHans de Goede * Or, alternatively, 2253ab4af3SHans de Goede * 2353ab4af3SHans de Goede * b) Permission is hereby granted, free of charge, to any person 2453ab4af3SHans de Goede * obtaining a copy of this software and associated documentation 2553ab4af3SHans de Goede * files (the "Software"), to deal in the Software without 2653ab4af3SHans de Goede * restriction, including without limitation the rights to use, 2753ab4af3SHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 2853ab4af3SHans de Goede * sell copies of the Software, and to permit persons to whom the 2953ab4af3SHans de Goede * Software is furnished to do so, subject to the following 3053ab4af3SHans de Goede * conditions: 3153ab4af3SHans de Goede * 3253ab4af3SHans de Goede * The above copyright notice and this permission notice shall be 3353ab4af3SHans de Goede * included in all copies or substantial portions of the Software. 3453ab4af3SHans de Goede * 3553ab4af3SHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3653ab4af3SHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3753ab4af3SHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3853ab4af3SHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3953ab4af3SHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 4053ab4af3SHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4153ab4af3SHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4253ab4af3SHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 4353ab4af3SHans de Goede */ 4453ab4af3SHans de Goede 4553ab4af3SHans de Goede#include "skeleton.dtsi" 4653ab4af3SHans de Goede 4753ab4af3SHans de Goede#include "sun5i.dtsi" 4853ab4af3SHans de Goede 4953ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h> 5053ab4af3SHans de Goede#include <dt-bindings/thermal/thermal.h> 5153ab4af3SHans de Goede 5253ab4af3SHans de Goede/ { 5353ab4af3SHans de Goede interrupt-parent = <&intc>; 5453ab4af3SHans de Goede 5553ab4af3SHans de Goede chosen { 5653ab4af3SHans de Goede #address-cells = <1>; 5753ab4af3SHans de Goede #size-cells = <1>; 5853ab4af3SHans de Goede ranges; 5953ab4af3SHans de Goede 6053ab4af3SHans de Goede framebuffer@0 { 6153ab4af3SHans de Goede compatible = "allwinner,simple-framebuffer", 6253ab4af3SHans de Goede "simple-framebuffer"; 6353ab4af3SHans de Goede allwinner,pipeline = "de_be0-lcd0"; 64*860fbdd4SHans de Goede clocks = <&ahb_gates 36>, <&ahb_gates 44>, <&de_be_clk>, 65*860fbdd4SHans de Goede <&tcon_ch0_clk>, <&dram_gates 26>; 6653ab4af3SHans de Goede status = "disabled"; 6753ab4af3SHans de Goede }; 6853ab4af3SHans de Goede }; 6953ab4af3SHans de Goede 7053ab4af3SHans de Goede thermal-zones { 7153ab4af3SHans de Goede cpu_thermal { 7253ab4af3SHans de Goede /* milliseconds */ 7353ab4af3SHans de Goede polling-delay-passive = <250>; 7453ab4af3SHans de Goede polling-delay = <1000>; 7553ab4af3SHans de Goede thermal-sensors = <&rtp>; 7653ab4af3SHans de Goede 7753ab4af3SHans de Goede cooling-maps { 7853ab4af3SHans de Goede map0 { 7953ab4af3SHans de Goede trip = <&cpu_alert0>; 8053ab4af3SHans de Goede cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 8153ab4af3SHans de Goede }; 8253ab4af3SHans de Goede }; 8353ab4af3SHans de Goede 8453ab4af3SHans de Goede trips { 8553ab4af3SHans de Goede cpu_alert0: cpu_alert0 { 8653ab4af3SHans de Goede /* milliCelsius */ 8753ab4af3SHans de Goede temperature = <850000>; 8853ab4af3SHans de Goede hysteresis = <2000>; 8953ab4af3SHans de Goede type = "passive"; 9053ab4af3SHans de Goede }; 9153ab4af3SHans de Goede 9253ab4af3SHans de Goede cpu_crit: cpu_crit { 9353ab4af3SHans de Goede /* milliCelsius */ 9453ab4af3SHans de Goede temperature = <100000>; 9553ab4af3SHans de Goede hysteresis = <2000>; 9653ab4af3SHans de Goede type = "critical"; 9753ab4af3SHans de Goede }; 9853ab4af3SHans de Goede }; 9953ab4af3SHans de Goede }; 10053ab4af3SHans de Goede }; 10153ab4af3SHans de Goede 10253ab4af3SHans de Goede clocks { 10353ab4af3SHans de Goede ahb_gates: clk@01c20060 { 10453ab4af3SHans de Goede #clock-cells = <1>; 10553ab4af3SHans de Goede compatible = "allwinner,sun5i-a13-ahb-gates-clk"; 10653ab4af3SHans de Goede reg = <0x01c20060 0x8>; 10753ab4af3SHans de Goede clocks = <&ahb>; 108f0e8e8daSMaxime Ripard clock-indices = <0>, <1>, 109f0e8e8daSMaxime Ripard <2>, <5>, <6>, 110f0e8e8daSMaxime Ripard <7>, <8>, <9>, 111f0e8e8daSMaxime Ripard <10>, <13>, 112f0e8e8daSMaxime Ripard <14>, <20>, 113f0e8e8daSMaxime Ripard <21>, <22>, 114*860fbdd4SHans de Goede <28>, <32>, <34>, 115*860fbdd4SHans de Goede <36>, <40>, <44>, 116f0e8e8daSMaxime Ripard <46>, <51>, 117f0e8e8daSMaxime Ripard <52>; 1188b1ba941SHans de Goede clock-output-names = "ahb_usbotg", "ahb_ehci", 1198b1ba941SHans de Goede "ahb_ohci", "ahb_ss", "ahb_dma", 1208b1ba941SHans de Goede "ahb_bist", "ahb_mmc0", "ahb_mmc1", 1218b1ba941SHans de Goede "ahb_mmc2", "ahb_nand", 1228b1ba941SHans de Goede "ahb_sdram", "ahb_spi0", 1238b1ba941SHans de Goede "ahb_spi1", "ahb_spi2", 124*860fbdd4SHans de Goede "ahb_stimer", "ahb_ve", "ahb_tve", 125*860fbdd4SHans de Goede "ahb_lcd", "ahb_csi", "ahb_de_be", 1268b1ba941SHans de Goede "ahb_de_fe", "ahb_iep", 1278b1ba941SHans de Goede "ahb_mali400"; 12853ab4af3SHans de Goede }; 12953ab4af3SHans de Goede 13053ab4af3SHans de Goede apb0_gates: clk@01c20068 { 13153ab4af3SHans de Goede #clock-cells = <1>; 13253ab4af3SHans de Goede compatible = "allwinner,sun5i-a13-apb0-gates-clk"; 13353ab4af3SHans de Goede reg = <0x01c20068 0x4>; 13453ab4af3SHans de Goede clocks = <&apb0>; 135f0e8e8daSMaxime Ripard clock-indices = <0>, <5>, 136f0e8e8daSMaxime Ripard <6>; 1378b1ba941SHans de Goede clock-output-names = "apb0_codec", "apb0_pio", 1388b1ba941SHans de Goede "apb0_ir"; 13953ab4af3SHans de Goede }; 14053ab4af3SHans de Goede 14153ab4af3SHans de Goede apb1_gates: clk@01c2006c { 14253ab4af3SHans de Goede #clock-cells = <1>; 14353ab4af3SHans de Goede compatible = "allwinner,sun5i-a13-apb1-gates-clk"; 14453ab4af3SHans de Goede reg = <0x01c2006c 0x4>; 14553ab4af3SHans de Goede clocks = <&apb1>; 146f0e8e8daSMaxime Ripard clock-indices = <0>, <1>, 147f0e8e8daSMaxime Ripard <2>, <17>, 148f0e8e8daSMaxime Ripard <19>; 14953ab4af3SHans de Goede clock-output-names = "apb1_i2c0", "apb1_i2c1", 150f0e8e8daSMaxime Ripard "apb1_i2c2", "apb1_uart1", 151f0e8e8daSMaxime Ripard "apb1_uart3"; 152f0e8e8daSMaxime Ripard }; 153*860fbdd4SHans de Goede 154*860fbdd4SHans de Goede dram_gates: clk@01c20100 { 155*860fbdd4SHans de Goede #clock-cells = <1>; 156*860fbdd4SHans de Goede compatible = "allwinner,sun5i-a13-dram-gates-clk", 157*860fbdd4SHans de Goede "allwinner,sun4i-a10-gates-clk"; 158*860fbdd4SHans de Goede reg = <0x01c20100 0x4>; 159*860fbdd4SHans de Goede clocks = <&pll5 0>; 160*860fbdd4SHans de Goede clock-indices = <0>, 161*860fbdd4SHans de Goede <1>, 162*860fbdd4SHans de Goede <25>, 163*860fbdd4SHans de Goede <26>, 164*860fbdd4SHans de Goede <29>, 165*860fbdd4SHans de Goede <31>; 166*860fbdd4SHans de Goede clock-output-names = "dram_ve", 167*860fbdd4SHans de Goede "dram_csi", 168*860fbdd4SHans de Goede "dram_de_fe", 169*860fbdd4SHans de Goede "dram_de_be", 170*860fbdd4SHans de Goede "dram_ace", 171*860fbdd4SHans de Goede "dram_iep"; 172*860fbdd4SHans de Goede }; 173*860fbdd4SHans de Goede 174*860fbdd4SHans de Goede de_be_clk: clk@01c20104 { 175*860fbdd4SHans de Goede #clock-cells = <0>; 176*860fbdd4SHans de Goede #reset-cells = <0>; 177*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-display-clk"; 178*860fbdd4SHans de Goede reg = <0x01c20104 0x4>; 179*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll5 1>; 180*860fbdd4SHans de Goede clock-output-names = "de-be"; 181*860fbdd4SHans de Goede }; 182*860fbdd4SHans de Goede 183*860fbdd4SHans de Goede de_fe_clk: clk@01c2010c { 184*860fbdd4SHans de Goede #clock-cells = <0>; 185*860fbdd4SHans de Goede #reset-cells = <0>; 186*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-display-clk"; 187*860fbdd4SHans de Goede reg = <0x01c2010c 0x4>; 188*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll5 1>; 189*860fbdd4SHans de Goede clock-output-names = "de-fe"; 190*860fbdd4SHans de Goede }; 191*860fbdd4SHans de Goede 192*860fbdd4SHans de Goede tcon_ch0_clk: clk@01c20118 { 193*860fbdd4SHans de Goede #clock-cells = <0>; 194*860fbdd4SHans de Goede #reset-cells = <1>; 195*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-tcon-ch0-clk"; 196*860fbdd4SHans de Goede reg = <0x01c20118 0x4>; 197*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; 198*860fbdd4SHans de Goede clock-output-names = "tcon-ch0-sclk"; 199*860fbdd4SHans de Goede }; 200*860fbdd4SHans de Goede 201*860fbdd4SHans de Goede tcon_ch1_clk: clk@01c2012c { 202*860fbdd4SHans de Goede #clock-cells = <0>; 203*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-tcon-ch1-clk"; 204*860fbdd4SHans de Goede reg = <0x01c2012c 0x4>; 205*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; 206*860fbdd4SHans de Goede clock-output-names = "tcon-ch1-sclk"; 207*860fbdd4SHans de Goede }; 208*860fbdd4SHans de Goede }; 209*860fbdd4SHans de Goede 210*860fbdd4SHans de Goede display-engine { 211*860fbdd4SHans de Goede compatible = "allwinner,sun5i-a13-display-engine"; 212*860fbdd4SHans de Goede allwinner,pipelines = <&fe0>; 213f0e8e8daSMaxime Ripard }; 214f0e8e8daSMaxime Ripard 215f0e8e8daSMaxime Ripard soc@01c00000 { 216*860fbdd4SHans de Goede tcon0: lcd-controller@01c0c000 { 217*860fbdd4SHans de Goede compatible = "allwinner,sun5i-a13-tcon"; 218*860fbdd4SHans de Goede reg = <0x01c0c000 0x1000>; 219*860fbdd4SHans de Goede interrupts = <44>; 220*860fbdd4SHans de Goede resets = <&tcon_ch0_clk 1>; 221*860fbdd4SHans de Goede reset-names = "lcd"; 222*860fbdd4SHans de Goede clocks = <&ahb_gates 36>, 223*860fbdd4SHans de Goede <&tcon_ch0_clk>, 224*860fbdd4SHans de Goede <&tcon_ch1_clk>; 225*860fbdd4SHans de Goede clock-names = "ahb", 226*860fbdd4SHans de Goede "tcon-ch0", 227*860fbdd4SHans de Goede "tcon-ch1"; 228*860fbdd4SHans de Goede clock-output-names = "tcon-pixel-clock"; 229*860fbdd4SHans de Goede status = "disabled"; 230*860fbdd4SHans de Goede 231*860fbdd4SHans de Goede ports { 232*860fbdd4SHans de Goede #address-cells = <1>; 233*860fbdd4SHans de Goede #size-cells = <0>; 234*860fbdd4SHans de Goede 235*860fbdd4SHans de Goede tcon0_in: port@0 { 236*860fbdd4SHans de Goede #address-cells = <1>; 237*860fbdd4SHans de Goede #size-cells = <0>; 238*860fbdd4SHans de Goede reg = <0>; 239*860fbdd4SHans de Goede 240*860fbdd4SHans de Goede tcon0_in_be0: endpoint@0 { 241*860fbdd4SHans de Goede reg = <0>; 242*860fbdd4SHans de Goede remote-endpoint = <&be0_out_tcon0>; 243*860fbdd4SHans de Goede }; 244*860fbdd4SHans de Goede }; 245*860fbdd4SHans de Goede 246*860fbdd4SHans de Goede tcon0_out: port@1 { 247*860fbdd4SHans de Goede #address-cells = <1>; 248*860fbdd4SHans de Goede #size-cells = <0>; 249*860fbdd4SHans de Goede reg = <1>; 250*860fbdd4SHans de Goede }; 251*860fbdd4SHans de Goede }; 252*860fbdd4SHans de Goede }; 253*860fbdd4SHans de Goede 254f0e8e8daSMaxime Ripard pwm: pwm@01c20e00 { 255f0e8e8daSMaxime Ripard compatible = "allwinner,sun5i-a13-pwm"; 256f0e8e8daSMaxime Ripard reg = <0x01c20e00 0xc>; 257f0e8e8daSMaxime Ripard clocks = <&osc24M>; 258f0e8e8daSMaxime Ripard #pwm-cells = <3>; 259f0e8e8daSMaxime Ripard status = "disabled"; 26053ab4af3SHans de Goede }; 261*860fbdd4SHans de Goede 262*860fbdd4SHans de Goede fe0: display-frontend@01e00000 { 263*860fbdd4SHans de Goede compatible = "allwinner,sun5i-a13-display-frontend"; 264*860fbdd4SHans de Goede reg = <0x01e00000 0x20000>; 265*860fbdd4SHans de Goede interrupts = <47>; 266*860fbdd4SHans de Goede clocks = <&ahb_gates 46>, <&de_fe_clk>, 267*860fbdd4SHans de Goede <&dram_gates 25>; 268*860fbdd4SHans de Goede clock-names = "ahb", "mod", 269*860fbdd4SHans de Goede "ram"; 270*860fbdd4SHans de Goede resets = <&de_fe_clk>; 271*860fbdd4SHans de Goede status = "disabled"; 272*860fbdd4SHans de Goede 273*860fbdd4SHans de Goede ports { 274*860fbdd4SHans de Goede #address-cells = <1>; 275*860fbdd4SHans de Goede #size-cells = <0>; 276*860fbdd4SHans de Goede 277*860fbdd4SHans de Goede fe0_out: port@1 { 278*860fbdd4SHans de Goede #address-cells = <1>; 279*860fbdd4SHans de Goede #size-cells = <0>; 280*860fbdd4SHans de Goede reg = <1>; 281*860fbdd4SHans de Goede 282*860fbdd4SHans de Goede fe0_out_be0: endpoint@0 { 283*860fbdd4SHans de Goede reg = <0>; 284*860fbdd4SHans de Goede remote-endpoint = <&be0_in_fe0>; 285*860fbdd4SHans de Goede }; 286*860fbdd4SHans de Goede }; 287*860fbdd4SHans de Goede }; 288*860fbdd4SHans de Goede }; 289*860fbdd4SHans de Goede 290*860fbdd4SHans de Goede be0: display-backend@01e60000 { 291*860fbdd4SHans de Goede compatible = "allwinner,sun5i-a13-display-backend"; 292*860fbdd4SHans de Goede reg = <0x01e60000 0x10000>; 293*860fbdd4SHans de Goede clocks = <&ahb_gates 44>, <&de_be_clk>, 294*860fbdd4SHans de Goede <&dram_gates 26>; 295*860fbdd4SHans de Goede clock-names = "ahb", "mod", 296*860fbdd4SHans de Goede "ram"; 297*860fbdd4SHans de Goede resets = <&de_be_clk>; 298*860fbdd4SHans de Goede status = "disabled"; 299*860fbdd4SHans de Goede 300*860fbdd4SHans de Goede assigned-clocks = <&de_be_clk>; 301*860fbdd4SHans de Goede assigned-clock-rates = <300000000>; 302*860fbdd4SHans de Goede 303*860fbdd4SHans de Goede ports { 304*860fbdd4SHans de Goede #address-cells = <1>; 305*860fbdd4SHans de Goede #size-cells = <0>; 306*860fbdd4SHans de Goede 307*860fbdd4SHans de Goede be0_in: port@0 { 308*860fbdd4SHans de Goede #address-cells = <1>; 309*860fbdd4SHans de Goede #size-cells = <0>; 310*860fbdd4SHans de Goede reg = <0>; 311*860fbdd4SHans de Goede 312*860fbdd4SHans de Goede be0_in_fe0: endpoint@0 { 313*860fbdd4SHans de Goede reg = <0>; 314*860fbdd4SHans de Goede remote-endpoint = <&fe0_out_be0>; 315*860fbdd4SHans de Goede }; 316*860fbdd4SHans de Goede }; 317*860fbdd4SHans de Goede 318*860fbdd4SHans de Goede be0_out: port@1 { 319*860fbdd4SHans de Goede #address-cells = <1>; 320*860fbdd4SHans de Goede #size-cells = <0>; 321*860fbdd4SHans de Goede reg = <1>; 322*860fbdd4SHans de Goede 323*860fbdd4SHans de Goede be0_out_tcon0: endpoint@0 { 324*860fbdd4SHans de Goede reg = <0>; 325*860fbdd4SHans de Goede remote-endpoint = <&tcon0_in_be0>; 326*860fbdd4SHans de Goede }; 327*860fbdd4SHans de Goede }; 328*860fbdd4SHans de Goede }; 329*860fbdd4SHans de Goede }; 33053ab4af3SHans de Goede }; 33153ab4af3SHans de Goede}; 33253ab4af3SHans de Goede 33353ab4af3SHans de Goede&cpu0 { 33453ab4af3SHans de Goede clock-latency = <244144>; /* 8 32k periods */ 33553ab4af3SHans de Goede operating-points = < 33653ab4af3SHans de Goede /* kHz uV */ 33753ab4af3SHans de Goede 1008000 1400000 33853ab4af3SHans de Goede 912000 1350000 33953ab4af3SHans de Goede 864000 1300000 34053ab4af3SHans de Goede 624000 1200000 34153ab4af3SHans de Goede 576000 1200000 34253ab4af3SHans de Goede 432000 1200000 34353ab4af3SHans de Goede >; 34453ab4af3SHans de Goede #cooling-cells = <2>; 34553ab4af3SHans de Goede cooling-min-level = <0>; 34653ab4af3SHans de Goede cooling-max-level = <5>; 34753ab4af3SHans de Goede}; 34853ab4af3SHans de Goede 34953ab4af3SHans de Goede&pio { 35053ab4af3SHans de Goede compatible = "allwinner,sun5i-a13-pinctrl"; 35153ab4af3SHans de Goede 352*860fbdd4SHans de Goede lcd_rgb666_pins: lcd_rgb666@0 { 353*860fbdd4SHans de Goede allwinner,pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", 354*860fbdd4SHans de Goede "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", 355*860fbdd4SHans de Goede "PD18", "PD19", "PD20", "PD21", "PD22", "PD23", 356*860fbdd4SHans de Goede "PD24", "PD25", "PD26", "PD27"; 357*860fbdd4SHans de Goede allwinner,function = "lcd0"; 358*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 359*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 360*860fbdd4SHans de Goede }; 361*860fbdd4SHans de Goede 36253ab4af3SHans de Goede uart1_pins_a: uart1@0 { 36353ab4af3SHans de Goede allwinner,pins = "PE10", "PE11"; 36453ab4af3SHans de Goede allwinner,function = "uart1"; 36553ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 36653ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 36753ab4af3SHans de Goede }; 36853ab4af3SHans de Goede 36953ab4af3SHans de Goede uart1_pins_b: uart1@1 { 37053ab4af3SHans de Goede allwinner,pins = "PG3", "PG4"; 37153ab4af3SHans de Goede allwinner,function = "uart1"; 37253ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 37353ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 37453ab4af3SHans de Goede }; 37553ab4af3SHans de Goede}; 376