The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/vf610-bk4.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
    2 /*
    3  * Copyright 2018
    4  * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
    5  */
    6 
    7 /dts-v1/;
    8 #include "vf610.dtsi"
    9 
   10 / {
   11         model = "Liebherr BK4 controller";
   12         compatible = "lwn,bk4", "fsl,vf610";
   13 
   14         chosen {
   15                 stdout-path = &uart1;
   16         };
   17 
   18         memory@80000000 {
   19                 device_type = "memory";
   20                 reg = <0x80000000 0x8000000>;
   21         };
   22 
   23         audio_ext: oscillator-audio {
   24                 compatible = "fixed-clock";
   25                 #clock-cells = <0>;
   26                 clock-frequency = <24576000>;
   27         };
   28 
   29         enet_ext: oscillator-ethernet {
   30                 compatible = "fixed-clock";
   31                 #clock-cells = <0>;
   32                 clock-frequency = <50000000>;
   33         };
   34 
   35         leds {
   36                 compatible = "gpio-leds";
   37                 pinctrl-names = "default";
   38                 pinctrl-0 = <&pinctrl_gpio_leds>;
   39 
   40                 /* LED D5 */
   41                 led0: heartbeat {
   42                         label = "heartbeat";
   43                         gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
   44                         default-state = "on";
   45                         linux,default-trigger = "heartbeat";
   46                 };
   47         };
   48 
   49         reg_3p3v: regulator-3p3v {
   50                 compatible = "regulator-fixed";
   51                 regulator-name = "3P3V";
   52                 regulator-min-microvolt = <3300000>;
   53                 regulator-max-microvolt = <3300000>;
   54                 regulator-always-on;
   55         };
   56 
   57         reg_vcc_3v3_mcu: regulator-vcc3v3mcu {
   58                 compatible = "regulator-fixed";
   59                 regulator-name = "vcc_3v3_mcu";
   60                 regulator-min-microvolt = <3300000>;
   61                 regulator-max-microvolt = <3300000>;
   62         };
   63 
   64         spi-gpio {
   65                 compatible = "spi-gpio";
   66                 pinctrl-0 = <&pinctrl_gpio_spi>;
   67                 pinctrl-names = "default";
   68                 #address-cells = <1>;
   69                 #size-cells = <0>;
   70                 /* PTD12 ->RPIO[91] */
   71                 sck-gpios  = <&gpio2 27 GPIO_ACTIVE_LOW>;
   72                 /* PTD10 ->RPIO[89] */
   73                 miso-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
   74                 num-chipselects = <0>;
   75 
   76                 gpio@0 {
   77                         compatible = "pisosr-gpio";
   78                         reg = <0>;
   79                         gpio-controller;
   80                         #gpio-cells = <2>;
   81                         /* PTB18 -> RGPIO[40] */
   82                         load-gpios  = <&gpio1 8 GPIO_ACTIVE_LOW>;
   83                         spi-max-frequency = <100000>;
   84                 };
   85         };
   86 };
   87 
   88 &adc0 {
   89         vref-supply = <&reg_vcc_3v3_mcu>;
   90         status = "okay";
   91 };
   92 
   93 &adc1 {
   94         vref-supply = <&reg_vcc_3v3_mcu>;
   95         status = "okay";
   96 };
   97 
   98 &can0 {
   99         pinctrl-names = "default";
  100         pinctrl-0 = <&pinctrl_can0>;
  101         status = "okay";
  102 };
  103 
  104 &can1 {
  105         pinctrl-names = "default";
  106         pinctrl-0 = <&pinctrl_can1>;
  107         status = "okay";
  108 };
  109 
  110 &clks {
  111         clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>;
  112         clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext";
  113 };
  114 
  115 &dspi0 {
  116         pinctrl-names = "default";
  117         pinctrl-0 = <&pinctrl_dspi0>;
  118         bus-num = <0>;
  119         status = "okay";
  120 
  121         spidev0@0 {
  122                 compatible = "lwn,bk4";
  123                 spi-max-frequency = <30000000>;
  124                 reg = <0>;
  125                 fsl,spi-cs-sck-delay = <200>;
  126                 fsl,spi-sck-cs-delay = <400>;
  127         };
  128 };
  129 
  130 &dspi3 {
  131         pinctrl-names = "default";
  132         pinctrl-0 = <&pinctrl_dspi3>;
  133         bus-num = <3>;
  134         status = "okay";
  135         spi-slave;
  136         #address-cells = <0>;
  137 
  138         slave {
  139                 compatible = "lwn,bk4";
  140                 spi-max-frequency = <30000000>;
  141         };
  142 };
  143 
  144 &edma0 {
  145         status = "okay";
  146 };
  147 
  148 &edma1 {
  149         status = "okay";
  150 };
  151 
  152 &esdhc1 {
  153         pinctrl-names = "default";
  154         pinctrl-0 = <&pinctrl_esdhc1>;
  155         bus-width = <4>;
  156         cd-gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
  157         status = "okay";
  158 };
  159 
  160 &fec0 {
  161         phy-mode = "rmii";
  162         phy-handle = <&ethphy0>;
  163         pinctrl-names = "default";
  164         pinctrl-0 = <&pinctrl_fec0>;
  165         status = "okay";
  166 
  167         mdio {
  168                 #address-cells = <1>;
  169                 #size-cells = <0>;
  170 
  171                 ethphy0: ethernet-phy@1 {
  172                         reg = <1>;
  173                         clocks = <&clks VF610_CLK_ENET_50M>;
  174                         clock-names = "rmii-ref";
  175                 };
  176         };
  177 };
  178 
  179 &fec1 {
  180         phy-mode = "rmii";
  181         phy-handle = <&ethphy1>;
  182         pinctrl-names = "default";
  183         pinctrl-0 = <&pinctrl_fec1>;
  184         status = "okay";
  185 
  186         mdio {
  187                 #address-cells = <1>;
  188                 #size-cells = <0>;
  189 
  190                 ethphy1: ethernet-phy@1 {
  191                         reg = <1>;
  192                         clocks = <&clks VF610_CLK_ENET_50M>;
  193                         clock-names = "rmii-ref";
  194                 };
  195         };
  196 };
  197 
  198 &i2c2 {
  199         clock-frequency = <400000>;
  200         pinctrl-names = "default";
  201         pinctrl-0 = <&pinctrl_i2c2>;
  202         status = "okay";
  203 
  204         at24c256: eeprom@50 {
  205                 compatible = "atmel,24c256";
  206                 reg = <0x50>;
  207         };
  208 
  209         m41t62: rtc@68 {
  210                 compatible = "st,m41t62";
  211                 reg = <0x68>;
  212         };
  213 };
  214 
  215 &nfc {
  216         assigned-clocks = <&clks VF610_CLK_NFC>;
  217         assigned-clock-rates = <33000000>;
  218         pinctrl-names = "default";
  219         pinctrl-0 = <&pinctrl_nfc>;
  220         status = "okay";
  221 
  222         nand@0 {
  223                 compatible = "fsl,vf610-nfc-nandcs";
  224                 reg = <0>;
  225                 #address-cells = <1>;
  226                 #size-cells = <1>;
  227                 nand-bus-width = <16>;
  228                 nand-ecc-mode = "hw";
  229                 nand-ecc-strength = <24>;
  230                 nand-ecc-step-size = <2048>;
  231                 nand-on-flash-bbt;
  232         };
  233 };
  234 
  235 &qspi0 {
  236         pinctrl-names = "default";
  237         pinctrl-0 = <&pinctrl_qspi0>;
  238         status = "okay";
  239 
  240         n25q128a13_4: flash@0 {
  241                 compatible = "n25q128a13", "jedec,spi-nor";
  242                 #address-cells = <1>;
  243                 #size-cells = <1>;
  244                 spi-max-frequency = <66000000>;
  245                 spi-rx-bus-width = <4>;
  246                 reg = <0>;
  247         };
  248 
  249         n25q128a13_2: flash@2 {
  250                 compatible = "n25q128a13", "jedec,spi-nor";
  251                 #address-cells = <1>;
  252                 #size-cells = <1>;
  253                 spi-max-frequency = <66000000>;
  254                 spi-rx-bus-width = <2>;
  255                 reg = <2>;
  256         };
  257 };
  258 
  259 &uart0 {
  260         pinctrl-names = "default";
  261         pinctrl-0 = <&pinctrl_uart0>;
  262         /delete-property/dma-names;
  263         status = "okay";
  264 };
  265 
  266 &uart1 {
  267         pinctrl-names = "default";
  268         pinctrl-0 = <&pinctrl_uart1>;
  269         /delete-property/dma-names;
  270         status = "okay";
  271 };
  272 
  273 &uart2 {
  274         pinctrl-names = "default";
  275         pinctrl-0 = <&pinctrl_uart2>;
  276         /delete-property/dma-names;
  277         status = "okay";
  278 };
  279 
  280 &uart3 {
  281         pinctrl-names = "default";
  282         pinctrl-0 = <&pinctrl_uart3>;
  283         /delete-property/dma-names;
  284         status = "okay";
  285 };
  286 
  287 &usbdev0 {
  288         disable-over-current;
  289         status = "okay";
  290 };
  291 
  292 &usbh1 {
  293         disable-over-current;
  294         status = "okay";
  295 };
  296 
  297 &usbmisc0 {
  298         status = "okay";
  299 };
  300 
  301 &usbmisc1 {
  302         status = "okay";
  303 };
  304 
  305 &usbphy0 {
  306         status = "okay";
  307 };
  308 
  309 &usbphy1 {
  310         status = "okay";
  311 };
  312 
  313 &iomuxc {
  314         pinctrl-names = "default";
  315         pinctrl-0 = <&pinctrl_hog>;
  316 
  317         pinctrl_hog: hoggrp {
  318                 fsl,pins = <
  319                         /* One_Wire_PSU_EN */
  320                         VF610_PAD_PTC29__GPIO_102               0x1183
  321                         /* SPI ENABLE */
  322                         VF610_PAD_PTB26__GPIO_96                0x1183
  323                         /* EB control */
  324                         VF610_PAD_PTE14__GPIO_119               0x1183
  325                         VF610_PAD_PTE4__GPIO_109                0x1181
  326                         /* Feedback_Lines */
  327                         VF610_PAD_PTC31__GPIO_104               0x1181
  328                         VF610_PAD_PTA7__GPIO_134                0x1181
  329                         VF610_PAD_PTD9__GPIO_88         0x1181
  330                         VF610_PAD_PTE1__GPIO_106                0x1183
  331                         VF610_PAD_PTB2__GPIO_24         0x1181
  332                         VF610_PAD_PTB3__GPIO_25         0x1181
  333                         VF610_PAD_PTB1__GPIO_23         0x1181
  334                         /* SDHC Enable */
  335                         VF610_PAD_PTE19__GPIO_124               0x1183
  336                         /* SDHC Overcurrent */
  337                         VF610_PAD_PTB23__GPIO_93                0x1181
  338                         /* GPI */
  339                         VF610_PAD_PTE2__GPIO_107                0x1181
  340                         VF610_PAD_PTE3__GPIO_108                0x1181
  341                         VF610_PAD_PTE5__GPIO_110                0x1181
  342                         VF610_PAD_PTE6__GPIO_111                0x1181
  343                         /* GPO */
  344                         VF610_PAD_PTE0__GPIO_105                0x1183
  345                         VF610_PAD_PTE7__GPIO_112                0x1183
  346                         /* RS485 Control */
  347                         VF610_PAD_PTB8__GPIO_30         0x1183
  348                         VF610_PAD_PTB9__GPIO_31         0x1183
  349                         VF610_PAD_PTE8__GPIO_113                0x1183
  350                         /* MPBUS MPB_EN */
  351                         VF610_PAD_PTE28__GPIO_133               0x1183
  352                         /* MISC */
  353                         VF610_PAD_PTE10__GPIO_115               0x1183
  354                         VF610_PAD_PTE11__GPIO_116               0x1183
  355                         VF610_PAD_PTE17__GPIO_122               0x1183
  356                         VF610_PAD_PTC30__GPIO_103               0x1183
  357                         VF610_PAD_PTB0__GPIO_22         0x1181
  358                         /* RESETINFO */
  359                         VF610_PAD_PTE26__GPIO_131               0x1183
  360                         VF610_PAD_PTD6__GPIO_85         0x1181
  361                         VF610_PAD_PTE27__GPIO_132               0x1181
  362                         VF610_PAD_PTE13__GPIO_118               0x1181
  363                         VF610_PAD_PTE21__GPIO_126               0x1181
  364                         VF610_PAD_PTE22__GPIO_127               0x1181
  365                         /* EE_5V_EN */
  366                         VF610_PAD_PTE18__GPIO_123               0x1183
  367                         /* EE_5V_OC_N */
  368                         VF610_PAD_PTE25__GPIO_130               0x1181
  369                 >;
  370         };
  371 
  372         pinctrl_can0: can0grp {
  373                 fsl,pins = <
  374                         VF610_PAD_PTB14__CAN0_RX                0x1181
  375                         VF610_PAD_PTB15__CAN0_TX                0x1182
  376                 >;
  377         };
  378 
  379         pinctrl_can1: can1grp {
  380                 fsl,pins = <
  381                         VF610_PAD_PTB16__CAN1_RX                0x1181
  382                         VF610_PAD_PTB17__CAN1_TX                0x1182
  383                 >;
  384         };
  385 
  386         pinctrl_dspi0: dspi0grp {
  387                 fsl,pins = <
  388                         VF610_PAD_PTB18__DSPI0_CS1              0x1182
  389                         VF610_PAD_PTB19__DSPI0_CS0              0x1182
  390                         VF610_PAD_PTB20__DSPI0_SIN              0x1181
  391                         VF610_PAD_PTB21__DSPI0_SOUT             0x1182
  392                         VF610_PAD_PTB22__DSPI0_SCK              0x1182
  393                 >;
  394         };
  395 
  396         pinctrl_dspi3: dspi3grp {
  397                 fsl,pins = <
  398                         VF610_PAD_PTD10__DSPI3_CS0              0x1181
  399                         VF610_PAD_PTD11__DSPI3_SIN              0x1181
  400                         VF610_PAD_PTD12__DSPI3_SOUT             0x1182
  401                         VF610_PAD_PTD13__DSPI3_SCK              0x1181
  402                 >;
  403         };
  404 
  405         pinctrl_esdhc1: esdhc1grp {
  406                 fsl,pins = <
  407                         VF610_PAD_PTA24__ESDHC1_CLK             0x31ef
  408                         VF610_PAD_PTA25__ESDHC1_CMD             0x31ef
  409                         VF610_PAD_PTA26__ESDHC1_DAT0            0x31ef
  410                         VF610_PAD_PTA27__ESDHC1_DAT1            0x31ef
  411                         VF610_PAD_PTA28__ESDHC1_DATA2           0x31ef
  412                         VF610_PAD_PTA29__ESDHC1_DAT3            0x31ef
  413                         VF610_PAD_PTB28__GPIO_98                0x219d
  414                 >;
  415         };
  416 
  417         pinctrl_fec0: fec0grp {
  418                 fsl,pins = <
  419                         VF610_PAD_PTA6__RMII_CLKIN              0x30dd
  420                         VF610_PAD_PTC0__ENET_RMII0_MDC          0x30de
  421                         VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30df
  422                         VF610_PAD_PTC2__ENET_RMII0_CRS          0x30dd
  423                         VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30dd
  424                         VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30dd
  425                         VF610_PAD_PTC5__ENET_RMII0_RXER 0x30dd
  426                         VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30de
  427                         VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30de
  428                         VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30de
  429                 >;
  430         };
  431 
  432         pinctrl_fec1: fec1grp {
  433                 fsl,pins = <
  434                         VF610_PAD_PTC9__ENET_RMII1_MDC          0x30de
  435                         VF610_PAD_PTC10__ENET_RMII1_MDIO        0x30df
  436                         VF610_PAD_PTC11__ENET_RMII1_CRS 0x30dd
  437                         VF610_PAD_PTC12__ENET_RMII1_RXD1        0x30dd
  438                         VF610_PAD_PTC13__ENET_RMII1_RXD0        0x30dd
  439                         VF610_PAD_PTC14__ENET_RMII1_RXER        0x30dd
  440                         VF610_PAD_PTC15__ENET_RMII1_TXD1        0x30de
  441                         VF610_PAD_PTC16__ENET_RMII1_TXD0        0x30de
  442                         VF610_PAD_PTC17__ENET_RMII1_TXEN        0x30de
  443                 >;
  444         };
  445 
  446         pinctrl_gpio_leds: gpioledsgrp {
  447                 fsl,pins = <
  448                         /* Heart bit LED */
  449                         VF610_PAD_PTE12__GPIO_117       0x1183
  450                         /* LEDS */
  451                         VF610_PAD_PTE15__GPIO_120       0x1183
  452                         VF610_PAD_PTA12__GPIO_5 0x1183
  453                         VF610_PAD_PTA16__GPIO_6 0x1183
  454                         VF610_PAD_PTE9__GPIO_114        0x1183
  455                         VF610_PAD_PTE20__GPIO_125       0x1183
  456                         VF610_PAD_PTE23__GPIO_128       0x1183
  457                         VF610_PAD_PTE16__GPIO_121       0x1183
  458                 >;
  459         };
  460 
  461         pinctrl_gpio_spi: pinctrl-gpio-spi {
  462                 fsl,pins = <
  463                         VF610_PAD_PTB18__GPIO_40        0x1183
  464                         VF610_PAD_PTD10__GPIO_89        0x1183
  465                         VF610_PAD_PTD12__GPIO_91        0x1183
  466                 >;
  467         };
  468 
  469         pinctrl_i2c2: i2c2grp {
  470                 fsl,pins = <
  471                         VF610_PAD_PTA22__I2C2_SCL               0x34df
  472                         VF610_PAD_PTA23__I2C2_SDA               0x34df
  473                 >;
  474         };
  475 
  476         pinctrl_nfc: nfcgrp {
  477                 fsl,pins = <
  478                         VF610_PAD_PTD23__NF_IO7         0x28df
  479                         VF610_PAD_PTD22__NF_IO6         0x28df
  480                         VF610_PAD_PTD21__NF_IO5         0x28df
  481                         VF610_PAD_PTD20__NF_IO4         0x28df
  482                         VF610_PAD_PTD19__NF_IO3         0x28df
  483                         VF610_PAD_PTD18__NF_IO2         0x28df
  484                         VF610_PAD_PTD17__NF_IO1         0x28df
  485                         VF610_PAD_PTD16__NF_IO0         0x28df
  486                         VF610_PAD_PTB24__NF_WE_B                0x28c2
  487                         VF610_PAD_PTB25__NF_CE0_B               0x28c2
  488                         VF610_PAD_PTB27__NF_RE_B                0x28c2
  489                         VF610_PAD_PTC26__NF_RB_B                0x283d
  490                         VF610_PAD_PTC27__NF_ALE         0x28c2
  491                         VF610_PAD_PTC28__NF_CLE         0x28c2
  492                 >;
  493         };
  494 
  495         pinctrl_qspi0: qspi0grp {
  496                 fsl,pins = <
  497                         VF610_PAD_PTD0__QSPI0_A_QSCK    0x397f
  498                         VF610_PAD_PTD1__QSPI0_A_CS0     0x397f
  499                         VF610_PAD_PTD2__QSPI0_A_DATA3   0x397f
  500                         VF610_PAD_PTD3__QSPI0_A_DATA2   0x397f
  501                         VF610_PAD_PTD4__QSPI0_A_DATA1   0x397f
  502                         VF610_PAD_PTD5__QSPI0_A_DATA0   0x397f
  503                         VF610_PAD_PTD7__QSPI0_B_QSCK    0x397f
  504                         VF610_PAD_PTD8__QSPI0_B_CS0     0x397f
  505                         VF610_PAD_PTD11__QSPI0_B_DATA1  0x397f
  506                         VF610_PAD_PTD12__QSPI0_B_DATA0  0x397f
  507                 >;
  508         };
  509 
  510         pinctrl_uart0: uart0grp {
  511                 fsl,pins = <
  512                         VF610_PAD_PTB10__UART0_TX               0x21a2
  513                         VF610_PAD_PTB11__UART0_RX               0x21a1
  514                 >;
  515         };
  516 
  517         pinctrl_uart1: uart1grp {
  518                 fsl,pins = <
  519                         VF610_PAD_PTB4__UART1_TX                0x21a2
  520                         VF610_PAD_PTB5__UART1_RX                0x21a1
  521                 >;
  522         };
  523 
  524         pinctrl_uart2: uart2grp {
  525                 fsl,pins = <
  526                         VF610_PAD_PTB6__UART2_TX                0x21a2
  527                         VF610_PAD_PTB7__UART2_RX                0x21a1
  528                 >;
  529         };
  530 
  531         pinctrl_uart3: uart3grp {
  532                 fsl,pins = <
  533                         VF610_PAD_PTA20__UART3_TX               0x21a2
  534                         VF610_PAD_PTA21__UART3_RX               0x21a1
  535                 >;
  536         };
  537 };

Cache object: 2384251689d3641cf71b2db931059300


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.