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/arm64/socionext/uniphier-ld20.dtsi

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 // Device Tree Source for UniPhier LD20 SoC
    4 //
    5 // Copyright (C) 2015-2016 Socionext Inc.
    6 //   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
    7 
    8 #include <dt-bindings/gpio/gpio.h>
    9 #include <dt-bindings/gpio/uniphier-gpio.h>
   10 #include <dt-bindings/thermal/thermal.h>
   11 
   12 / {
   13         compatible = "socionext,uniphier-ld20";
   14         #address-cells = <2>;
   15         #size-cells = <2>;
   16         interrupt-parent = <&gic>;
   17 
   18         cpus {
   19                 #address-cells = <2>;
   20                 #size-cells = <0>;
   21 
   22                 cpu-map {
   23                         cluster0 {
   24                                 core0 {
   25                                         cpu = <&cpu0>;
   26                                 };
   27                                 core1 {
   28                                         cpu = <&cpu1>;
   29                                 };
   30                         };
   31 
   32                         cluster1 {
   33                                 core0 {
   34                                         cpu = <&cpu2>;
   35                                 };
   36                                 core1 {
   37                                         cpu = <&cpu3>;
   38                                 };
   39                         };
   40                 };
   41 
   42                 cpu0: cpu@0 {
   43                         device_type = "cpu";
   44                         compatible = "arm,cortex-a72";
   45                         reg = <0 0x000>;
   46                         clocks = <&sys_clk 32>;
   47                         enable-method = "psci";
   48                         operating-points-v2 = <&cluster0_opp>;
   49                         #cooling-cells = <2>;
   50                 };
   51 
   52                 cpu1: cpu@1 {
   53                         device_type = "cpu";
   54                         compatible = "arm,cortex-a72";
   55                         reg = <0 0x001>;
   56                         clocks = <&sys_clk 32>;
   57                         enable-method = "psci";
   58                         operating-points-v2 = <&cluster0_opp>;
   59                         #cooling-cells = <2>;
   60                 };
   61 
   62                 cpu2: cpu@100 {
   63                         device_type = "cpu";
   64                         compatible = "arm,cortex-a53";
   65                         reg = <0 0x100>;
   66                         clocks = <&sys_clk 33>;
   67                         enable-method = "psci";
   68                         operating-points-v2 = <&cluster1_opp>;
   69                         #cooling-cells = <2>;
   70                 };
   71 
   72                 cpu3: cpu@101 {
   73                         device_type = "cpu";
   74                         compatible = "arm,cortex-a53";
   75                         reg = <0 0x101>;
   76                         clocks = <&sys_clk 33>;
   77                         enable-method = "psci";
   78                         operating-points-v2 = <&cluster1_opp>;
   79                         #cooling-cells = <2>;
   80                 };
   81         };
   82 
   83         cluster0_opp: opp-table0 {
   84                 compatible = "operating-points-v2";
   85                 opp-shared;
   86 
   87                 opp-250000000 {
   88                         opp-hz = /bits/ 64 <250000000>;
   89                         clock-latency-ns = <300>;
   90                 };
   91                 opp-275000000 {
   92                         opp-hz = /bits/ 64 <275000000>;
   93                         clock-latency-ns = <300>;
   94                 };
   95                 opp-500000000 {
   96                         opp-hz = /bits/ 64 <500000000>;
   97                         clock-latency-ns = <300>;
   98                 };
   99                 opp-550000000 {
  100                         opp-hz = /bits/ 64 <550000000>;
  101                         clock-latency-ns = <300>;
  102                 };
  103                 opp-666667000 {
  104                         opp-hz = /bits/ 64 <666667000>;
  105                         clock-latency-ns = <300>;
  106                 };
  107                 opp-733334000 {
  108                         opp-hz = /bits/ 64 <733334000>;
  109                         clock-latency-ns = <300>;
  110                 };
  111                 opp-1000000000 {
  112                         opp-hz = /bits/ 64 <1000000000>;
  113                         clock-latency-ns = <300>;
  114                 };
  115                 opp-1100000000 {
  116                         opp-hz = /bits/ 64 <1100000000>;
  117                         clock-latency-ns = <300>;
  118                 };
  119         };
  120 
  121         cluster1_opp: opp-table1 {
  122                 compatible = "operating-points-v2";
  123                 opp-shared;
  124 
  125                 opp-250000000 {
  126                         opp-hz = /bits/ 64 <250000000>;
  127                         clock-latency-ns = <300>;
  128                 };
  129                 opp-275000000 {
  130                         opp-hz = /bits/ 64 <275000000>;
  131                         clock-latency-ns = <300>;
  132                 };
  133                 opp-500000000 {
  134                         opp-hz = /bits/ 64 <500000000>;
  135                         clock-latency-ns = <300>;
  136                 };
  137                 opp-550000000 {
  138                         opp-hz = /bits/ 64 <550000000>;
  139                         clock-latency-ns = <300>;
  140                 };
  141                 opp-666667000 {
  142                         opp-hz = /bits/ 64 <666667000>;
  143                         clock-latency-ns = <300>;
  144                 };
  145                 opp-733334000 {
  146                         opp-hz = /bits/ 64 <733334000>;
  147                         clock-latency-ns = <300>;
  148                 };
  149                 opp-1000000000 {
  150                         opp-hz = /bits/ 64 <1000000000>;
  151                         clock-latency-ns = <300>;
  152                 };
  153                 opp-1100000000 {
  154                         opp-hz = /bits/ 64 <1100000000>;
  155                         clock-latency-ns = <300>;
  156                 };
  157         };
  158 
  159         psci {
  160                 compatible = "arm,psci-1.0";
  161                 method = "smc";
  162         };
  163 
  164         clocks {
  165                 refclk: ref {
  166                         compatible = "fixed-clock";
  167                         #clock-cells = <0>;
  168                         clock-frequency = <25000000>;
  169                 };
  170         };
  171 
  172         emmc_pwrseq: emmc-pwrseq {
  173                 compatible = "mmc-pwrseq-emmc";
  174                 reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
  175         };
  176 
  177         timer {
  178                 compatible = "arm,armv8-timer";
  179                 interrupts = <1 13 4>,
  180                              <1 14 4>,
  181                              <1 11 4>,
  182                              <1 10 4>;
  183         };
  184 
  185         thermal-zones {
  186                 cpu-thermal {
  187                         polling-delay-passive = <250>;  /* 250ms */
  188                         polling-delay = <1000>;         /* 1000ms */
  189                         thermal-sensors = <&pvtctl>;
  190 
  191                         trips {
  192                                 cpu_crit: cpu-crit {
  193                                         temperature = <110000>; /* 110C */
  194                                         hysteresis = <2000>;
  195                                         type = "critical";
  196                                 };
  197                                 cpu_alert: cpu-alert {
  198                                         temperature = <100000>; /* 100C */
  199                                         hysteresis = <2000>;
  200                                         type = "passive";
  201                                 };
  202                         };
  203 
  204                         cooling-maps {
  205                                 map0 {
  206                                         trip = <&cpu_alert>;
  207                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  208                                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  209                                                          <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  210                                                          <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  211                                 };
  212                         };
  213                 };
  214         };
  215 
  216         reserved-memory {
  217                 #address-cells = <2>;
  218                 #size-cells = <2>;
  219                 ranges;
  220 
  221                 secure-memory@81000000 {
  222                         reg = <0x0 0x81000000 0x0 0x01000000>;
  223                         no-map;
  224                 };
  225         };
  226 
  227         soc@0 {
  228                 compatible = "simple-bus";
  229                 #address-cells = <1>;
  230                 #size-cells = <1>;
  231                 ranges = <0 0 0 0xffffffff>;
  232 
  233                 spi0: spi@54006000 {
  234                         compatible = "socionext,uniphier-scssi";
  235                         status = "disabled";
  236                         reg = <0x54006000 0x100>;
  237                         #address-cells = <1>;
  238                         #size-cells = <0>;
  239                         interrupts = <0 39 4>;
  240                         pinctrl-names = "default";
  241                         pinctrl-0 = <&pinctrl_spi0>;
  242                         clocks = <&peri_clk 11>;
  243                         resets = <&peri_rst 11>;
  244                 };
  245 
  246                 spi1: spi@54006100 {
  247                         compatible = "socionext,uniphier-scssi";
  248                         status = "disabled";
  249                         reg = <0x54006100 0x100>;
  250                         #address-cells = <1>;
  251                         #size-cells = <0>;
  252                         interrupts = <0 216 4>;
  253                         pinctrl-names = "default";
  254                         pinctrl-0 = <&pinctrl_spi1>;
  255                         clocks = <&peri_clk 12>;
  256                         resets = <&peri_rst 12>;
  257                 };
  258 
  259                 spi2: spi@54006200 {
  260                         compatible = "socionext,uniphier-scssi";
  261                         status = "disabled";
  262                         reg = <0x54006200 0x100>;
  263                         #address-cells = <1>;
  264                         #size-cells = <0>;
  265                         interrupts = <0 229 4>;
  266                         pinctrl-names = "default";
  267                         pinctrl-0 = <&pinctrl_spi2>;
  268                         clocks = <&peri_clk 13>;
  269                         resets = <&peri_rst 13>;
  270                 };
  271 
  272                 spi3: spi@54006300 {
  273                         compatible = "socionext,uniphier-scssi";
  274                         status = "disabled";
  275                         reg = <0x54006300 0x100>;
  276                         #address-cells = <1>;
  277                         #size-cells = <0>;
  278                         interrupts = <0 230 4>;
  279                         pinctrl-names = "default";
  280                         pinctrl-0 = <&pinctrl_spi3>;
  281                         clocks = <&peri_clk 14>;
  282                         resets = <&peri_rst 14>;
  283                 };
  284 
  285                 serial0: serial@54006800 {
  286                         compatible = "socionext,uniphier-uart";
  287                         status = "disabled";
  288                         reg = <0x54006800 0x40>;
  289                         interrupts = <0 33 4>;
  290                         pinctrl-names = "default";
  291                         pinctrl-0 = <&pinctrl_uart0>;
  292                         clocks = <&peri_clk 0>;
  293                         resets = <&peri_rst 0>;
  294                 };
  295 
  296                 serial1: serial@54006900 {
  297                         compatible = "socionext,uniphier-uart";
  298                         status = "disabled";
  299                         reg = <0x54006900 0x40>;
  300                         interrupts = <0 35 4>;
  301                         pinctrl-names = "default";
  302                         pinctrl-0 = <&pinctrl_uart1>;
  303                         clocks = <&peri_clk 1>;
  304                         resets = <&peri_rst 1>;
  305                 };
  306 
  307                 serial2: serial@54006a00 {
  308                         compatible = "socionext,uniphier-uart";
  309                         status = "disabled";
  310                         reg = <0x54006a00 0x40>;
  311                         interrupts = <0 37 4>;
  312                         pinctrl-names = "default";
  313                         pinctrl-0 = <&pinctrl_uart2>;
  314                         clocks = <&peri_clk 2>;
  315                         resets = <&peri_rst 2>;
  316                 };
  317 
  318                 serial3: serial@54006b00 {
  319                         compatible = "socionext,uniphier-uart";
  320                         status = "disabled";
  321                         reg = <0x54006b00 0x40>;
  322                         interrupts = <0 177 4>;
  323                         pinctrl-names = "default";
  324                         pinctrl-0 = <&pinctrl_uart3>;
  325                         clocks = <&peri_clk 3>;
  326                         resets = <&peri_rst 3>;
  327                 };
  328 
  329                 gpio: gpio@55000000 {
  330                         compatible = "socionext,uniphier-gpio";
  331                         reg = <0x55000000 0x200>;
  332                         interrupt-parent = <&aidet>;
  333                         interrupt-controller;
  334                         #interrupt-cells = <2>;
  335                         gpio-controller;
  336                         #gpio-cells = <2>;
  337                         gpio-ranges = <&pinctrl 0 0 0>,
  338                                       <&pinctrl 96 0 0>,
  339                                       <&pinctrl 160 0 0>;
  340                         gpio-ranges-group-names = "gpio_range0",
  341                                                   "gpio_range1",
  342                                                   "gpio_range2";
  343                         ngpios = <205>;
  344                         socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
  345                                                      <21 217 3>;
  346                 };
  347 
  348                 audio@56000000 {
  349                         compatible = "socionext,uniphier-ld20-aio";
  350                         reg = <0x56000000 0x80000>;
  351                         interrupts = <0 144 4>;
  352                         pinctrl-names = "default";
  353                         pinctrl-0 = <&pinctrl_aout1>,
  354                                     <&pinctrl_aoutiec1>;
  355                         clock-names = "aio";
  356                         clocks = <&sys_clk 40>;
  357                         reset-names = "aio";
  358                         resets = <&sys_rst 40>;
  359                         #sound-dai-cells = <1>;
  360                         socionext,syscon = <&soc_glue>;
  361 
  362                         i2s_port0: port@0 {
  363                                 i2s_hdmi: endpoint {
  364                                 };
  365                         };
  366 
  367                         i2s_port1: port@1 {
  368                                 i2s_pcmin2: endpoint {
  369                                 };
  370                         };
  371 
  372                         i2s_port2: port@2 {
  373                                 i2s_line: endpoint {
  374                                         dai-format = "i2s";
  375                                         remote-endpoint = <&evea_line>;
  376                                 };
  377                         };
  378 
  379                         i2s_port3: port@3 {
  380                                 i2s_hpcmout1: endpoint {
  381                                 };
  382                         };
  383 
  384                         i2s_port4: port@4 {
  385                                 i2s_hp: endpoint {
  386                                         dai-format = "i2s";
  387                                         remote-endpoint = <&evea_hp>;
  388                                 };
  389                         };
  390 
  391                         spdif_port0: port@5 {
  392                                 spdif_hiecout1: endpoint {
  393                                 };
  394                         };
  395 
  396                         src_port0: port@6 {
  397                                 i2s_epcmout2: endpoint {
  398                                 };
  399                         };
  400 
  401                         src_port1: port@7 {
  402                                 i2s_epcmout3: endpoint {
  403                                 };
  404                         };
  405 
  406                         comp_spdif_port0: port@8 {
  407                                 comp_spdif_hiecout1: endpoint {
  408                                 };
  409                         };
  410                 };
  411 
  412                 codec@57900000 {
  413                         compatible = "socionext,uniphier-evea";
  414                         reg = <0x57900000 0x1000>;
  415                         clock-names = "evea", "exiv";
  416                         clocks = <&sys_clk 41>, <&sys_clk 42>;
  417                         reset-names = "evea", "exiv", "adamv";
  418                         resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
  419                         #sound-dai-cells = <1>;
  420 
  421                         port@0 {
  422                                 evea_line: endpoint {
  423                                         remote-endpoint = <&i2s_line>;
  424                                 };
  425                         };
  426 
  427                         port@1 {
  428                                 evea_hp: endpoint {
  429                                         remote-endpoint = <&i2s_hp>;
  430                                 };
  431                         };
  432                 };
  433 
  434                 adamv@57920000 {
  435                         compatible = "socionext,uniphier-ld20-adamv",
  436                                      "simple-mfd", "syscon";
  437                         reg = <0x57920000 0x1000>;
  438 
  439                         adamv_rst: reset {
  440                                 compatible = "socionext,uniphier-ld20-adamv-reset";
  441                                 #reset-cells = <1>;
  442                         };
  443                 };
  444 
  445                 i2c0: i2c@58780000 {
  446                         compatible = "socionext,uniphier-fi2c";
  447                         status = "disabled";
  448                         reg = <0x58780000 0x80>;
  449                         #address-cells = <1>;
  450                         #size-cells = <0>;
  451                         interrupts = <0 41 4>;
  452                         pinctrl-names = "default";
  453                         pinctrl-0 = <&pinctrl_i2c0>;
  454                         clocks = <&peri_clk 4>;
  455                         resets = <&peri_rst 4>;
  456                         clock-frequency = <100000>;
  457                 };
  458 
  459                 i2c1: i2c@58781000 {
  460                         compatible = "socionext,uniphier-fi2c";
  461                         status = "disabled";
  462                         reg = <0x58781000 0x80>;
  463                         #address-cells = <1>;
  464                         #size-cells = <0>;
  465                         interrupts = <0 42 4>;
  466                         pinctrl-names = "default";
  467                         pinctrl-0 = <&pinctrl_i2c1>;
  468                         clocks = <&peri_clk 5>;
  469                         resets = <&peri_rst 5>;
  470                         clock-frequency = <100000>;
  471                 };
  472 
  473                 i2c2: i2c@58782000 {
  474                         compatible = "socionext,uniphier-fi2c";
  475                         reg = <0x58782000 0x80>;
  476                         #address-cells = <1>;
  477                         #size-cells = <0>;
  478                         interrupts = <0 43 4>;
  479                         clocks = <&peri_clk 6>;
  480                         resets = <&peri_rst 6>;
  481                         clock-frequency = <400000>;
  482                 };
  483 
  484                 i2c3: i2c@58783000 {
  485                         compatible = "socionext,uniphier-fi2c";
  486                         status = "disabled";
  487                         reg = <0x58783000 0x80>;
  488                         #address-cells = <1>;
  489                         #size-cells = <0>;
  490                         interrupts = <0 44 4>;
  491                         pinctrl-names = "default";
  492                         pinctrl-0 = <&pinctrl_i2c3>;
  493                         clocks = <&peri_clk 7>;
  494                         resets = <&peri_rst 7>;
  495                         clock-frequency = <100000>;
  496                 };
  497 
  498                 i2c4: i2c@58784000 {
  499                         compatible = "socionext,uniphier-fi2c";
  500                         status = "disabled";
  501                         reg = <0x58784000 0x80>;
  502                         #address-cells = <1>;
  503                         #size-cells = <0>;
  504                         interrupts = <0 45 4>;
  505                         pinctrl-names = "default";
  506                         pinctrl-0 = <&pinctrl_i2c4>;
  507                         clocks = <&peri_clk 8>;
  508                         resets = <&peri_rst 8>;
  509                         clock-frequency = <100000>;
  510                 };
  511 
  512                 i2c5: i2c@58785000 {
  513                         compatible = "socionext,uniphier-fi2c";
  514                         reg = <0x58785000 0x80>;
  515                         #address-cells = <1>;
  516                         #size-cells = <0>;
  517                         interrupts = <0 25 4>;
  518                         clocks = <&peri_clk 9>;
  519                         resets = <&peri_rst 9>;
  520                         clock-frequency = <400000>;
  521                 };
  522 
  523                 system_bus: system-bus@58c00000 {
  524                         compatible = "socionext,uniphier-system-bus";
  525                         status = "disabled";
  526                         reg = <0x58c00000 0x400>;
  527                         #address-cells = <2>;
  528                         #size-cells = <1>;
  529                         pinctrl-names = "default";
  530                         pinctrl-0 = <&pinctrl_system_bus>;
  531                 };
  532 
  533                 smpctrl@59801000 {
  534                         compatible = "socionext,uniphier-smpctrl";
  535                         reg = <0x59801000 0x400>;
  536                 };
  537 
  538                 sdctrl@59810000 {
  539                         compatible = "socionext,uniphier-ld20-sdctrl",
  540                                      "simple-mfd", "syscon";
  541                         reg = <0x59810000 0x400>;
  542 
  543                         sd_clk: clock {
  544                                 compatible = "socionext,uniphier-ld20-sd-clock";
  545                                 #clock-cells = <1>;
  546                         };
  547 
  548                         sd_rst: reset {
  549                                 compatible = "socionext,uniphier-ld20-sd-reset";
  550                                 #reset-cells = <1>;
  551                         };
  552                 };
  553 
  554                 perictrl@59820000 {
  555                         compatible = "socionext,uniphier-ld20-perictrl",
  556                                      "simple-mfd", "syscon";
  557                         reg = <0x59820000 0x200>;
  558 
  559                         peri_clk: clock {
  560                                 compatible = "socionext,uniphier-ld20-peri-clock";
  561                                 #clock-cells = <1>;
  562                         };
  563 
  564                         peri_rst: reset {
  565                                 compatible = "socionext,uniphier-ld20-peri-reset";
  566                                 #reset-cells = <1>;
  567                         };
  568                 };
  569 
  570                 emmc: mmc@5a000000 {
  571                         compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
  572                         reg = <0x5a000000 0x400>;
  573                         interrupts = <0 78 4>;
  574                         pinctrl-names = "default";
  575                         pinctrl-0 = <&pinctrl_emmc>;
  576                         clocks = <&sys_clk 4>;
  577                         resets = <&sys_rst 4>;
  578                         bus-width = <8>;
  579                         mmc-ddr-1_8v;
  580                         mmc-hs200-1_8v;
  581                         mmc-pwrseq = <&emmc_pwrseq>;
  582                         cdns,phy-input-delay-legacy = <9>;
  583                         cdns,phy-input-delay-mmc-highspeed = <2>;
  584                         cdns,phy-input-delay-mmc-ddr = <3>;
  585                         cdns,phy-dll-delay-sdclk = <21>;
  586                         cdns,phy-dll-delay-sdclk-hsmmc = <21>;
  587                 };
  588 
  589                 sd: mmc@5a400000 {
  590                         compatible = "socionext,uniphier-sd-v3.1.1";
  591                         status = "disabled";
  592                         reg = <0x5a400000 0x800>;
  593                         interrupts = <0 76 4>;
  594                         pinctrl-names = "default";
  595                         pinctrl-0 = <&pinctrl_sd>;
  596                         clocks = <&sd_clk 0>;
  597                         reset-names = "host";
  598                         resets = <&sd_rst 0>;
  599                         bus-width = <4>;
  600                         cap-sd-highspeed;
  601                 };
  602 
  603                 soc_glue: soc-glue@5f800000 {
  604                         compatible = "socionext,uniphier-ld20-soc-glue",
  605                                      "simple-mfd", "syscon";
  606                         reg = <0x5f800000 0x2000>;
  607 
  608                         pinctrl: pinctrl {
  609                                 compatible = "socionext,uniphier-ld20-pinctrl";
  610                         };
  611                 };
  612 
  613                 soc-glue@5f900000 {
  614                         compatible = "socionext,uniphier-ld20-soc-glue-debug",
  615                                      "simple-mfd";
  616                         #address-cells = <1>;
  617                         #size-cells = <1>;
  618                         ranges = <0 0x5f900000 0x2000>;
  619 
  620                         efuse@100 {
  621                                 compatible = "socionext,uniphier-efuse";
  622                                 reg = <0x100 0x28>;
  623                         };
  624 
  625                         efuse@200 {
  626                                 compatible = "socionext,uniphier-efuse";
  627                                 reg = <0x200 0x68>;
  628                                 #address-cells = <1>;
  629                                 #size-cells = <1>;
  630 
  631                                 /* USB cells */
  632                                 usb_rterm0: trim@54,4 {
  633                                         reg = <0x54 1>;
  634                                         bits = <4 2>;
  635                                 };
  636                                 usb_rterm1: trim@55,4 {
  637                                         reg = <0x55 1>;
  638                                         bits = <4 2>;
  639                                 };
  640                                 usb_rterm2: trim@58,4 {
  641                                         reg = <0x58 1>;
  642                                         bits = <4 2>;
  643                                 };
  644                                 usb_rterm3: trim@59,4 {
  645                                         reg = <0x59 1>;
  646                                         bits = <4 2>;
  647                                 };
  648                                 usb_sel_t0: trim@54,0 {
  649                                         reg = <0x54 1>;
  650                                         bits = <0 4>;
  651                                 };
  652                                 usb_sel_t1: trim@55,0 {
  653                                         reg = <0x55 1>;
  654                                         bits = <0 4>;
  655                                 };
  656                                 usb_sel_t2: trim@58,0 {
  657                                         reg = <0x58 1>;
  658                                         bits = <0 4>;
  659                                 };
  660                                 usb_sel_t3: trim@59,0 {
  661                                         reg = <0x59 1>;
  662                                         bits = <0 4>;
  663                                 };
  664                                 usb_hs_i0: trim@56,0 {
  665                                         reg = <0x56 1>;
  666                                         bits = <0 4>;
  667                                 };
  668                                 usb_hs_i2: trim@5a,0 {
  669                                         reg = <0x5a 1>;
  670                                         bits = <0 4>;
  671                                 };
  672                         };
  673                 };
  674 
  675                 xdmac: dma-controller@5fc10000 {
  676                         compatible = "socionext,uniphier-xdmac";
  677                         reg = <0x5fc10000 0x5300>;
  678                         interrupts = <0 188 4>;
  679                         dma-channels = <16>;
  680                         #dma-cells = <2>;
  681                 };
  682 
  683                 aidet: interrupt-controller@5fc20000 {
  684                         compatible = "socionext,uniphier-ld20-aidet";
  685                         reg = <0x5fc20000 0x200>;
  686                         interrupt-controller;
  687                         #interrupt-cells = <2>;
  688                 };
  689 
  690                 gic: interrupt-controller@5fe00000 {
  691                         compatible = "arm,gic-v3";
  692                         reg = <0x5fe00000 0x10000>,     /* GICD */
  693                               <0x5fe80000 0x80000>;     /* GICR */
  694                         interrupt-controller;
  695                         #interrupt-cells = <3>;
  696                         interrupts = <1 9 4>;
  697                 };
  698 
  699                 sysctrl@61840000 {
  700                         compatible = "socionext,uniphier-ld20-sysctrl",
  701                                      "simple-mfd", "syscon";
  702                         reg = <0x61840000 0x10000>;
  703 
  704                         sys_clk: clock {
  705                                 compatible = "socionext,uniphier-ld20-clock";
  706                                 #clock-cells = <1>;
  707                         };
  708 
  709                         sys_rst: reset {
  710                                 compatible = "socionext,uniphier-ld20-reset";
  711                                 #reset-cells = <1>;
  712                         };
  713 
  714                         watchdog {
  715                                 compatible = "socionext,uniphier-wdt";
  716                         };
  717 
  718                         pvtctl: pvtctl {
  719                                 compatible = "socionext,uniphier-ld20-thermal";
  720                                 interrupts = <0 3 4>;
  721                                 #thermal-sensor-cells = <0>;
  722                                 socionext,tmod-calibration = <0x0f22 0x68ee>;
  723                         };
  724                 };
  725 
  726                 eth: ethernet@65000000 {
  727                         compatible = "socionext,uniphier-ld20-ave4";
  728                         status = "disabled";
  729                         reg = <0x65000000 0x8500>;
  730                         interrupts = <0 66 4>;
  731                         pinctrl-names = "default";
  732                         pinctrl-0 = <&pinctrl_ether_rgmii>;
  733                         clock-names = "ether";
  734                         clocks = <&sys_clk 6>;
  735                         reset-names = "ether";
  736                         resets = <&sys_rst 6>;
  737                         phy-mode = "rgmii-id";
  738                         local-mac-address = [00 00 00 00 00 00];
  739                         socionext,syscon-phy-mode = <&soc_glue 0>;
  740 
  741                         mdio: mdio {
  742                                 #address-cells = <1>;
  743                                 #size-cells = <0>;
  744                         };
  745                 };
  746 
  747                 usb: usb@65a00000 {
  748                         compatible = "socionext,uniphier-dwc3", "snps,dwc3";
  749                         status = "disabled";
  750                         reg = <0x65a00000 0xcd00>;
  751                         interrupt-names = "host";
  752                         interrupts = <0 134 4>;
  753                         pinctrl-names = "default";
  754                         pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb1>,
  755                                     <&pinctrl_usb2>, <&pinctrl_usb3>;
  756                         clock-names = "ref", "bus_early", "suspend";
  757                         clocks = <&sys_clk 14>, <&sys_clk 14>, <&sys_clk 14>;
  758                         resets = <&usb_rst 15>;
  759                         phys = <&usb_hsphy0>, <&usb_hsphy1>,
  760                                <&usb_hsphy2>, <&usb_hsphy3>,
  761                                <&usb_ssphy0>, <&usb_ssphy1>;
  762                         dr_mode = "host";
  763                 };
  764 
  765                 usb-glue@65b00000 {
  766                         compatible = "socionext,uniphier-ld20-dwc3-glue",
  767                                      "simple-mfd";
  768                         #address-cells = <1>;
  769                         #size-cells = <1>;
  770                         ranges = <0 0x65b00000 0x400>;
  771 
  772                         usb_rst: reset@0 {
  773                                 compatible = "socionext,uniphier-ld20-usb3-reset";
  774                                 reg = <0x0 0x4>;
  775                                 #reset-cells = <1>;
  776                                 clock-names = "link";
  777                                 clocks = <&sys_clk 14>;
  778                                 reset-names = "link";
  779                                 resets = <&sys_rst 14>;
  780                         };
  781 
  782                         usb_vbus0: regulator@100 {
  783                                 compatible = "socionext,uniphier-ld20-usb3-regulator";
  784                                 reg = <0x100 0x10>;
  785                                 clock-names = "link";
  786                                 clocks = <&sys_clk 14>;
  787                                 reset-names = "link";
  788                                 resets = <&sys_rst 14>;
  789                         };
  790 
  791                         usb_vbus1: regulator@110 {
  792                                 compatible = "socionext,uniphier-ld20-usb3-regulator";
  793                                 reg = <0x110 0x10>;
  794                                 clock-names = "link";
  795                                 clocks = <&sys_clk 14>;
  796                                 reset-names = "link";
  797                                 resets = <&sys_rst 14>;
  798                         };
  799 
  800                         usb_vbus2: regulator@120 {
  801                                 compatible = "socionext,uniphier-ld20-usb3-regulator";
  802                                 reg = <0x120 0x10>;
  803                                 clock-names = "link";
  804                                 clocks = <&sys_clk 14>;
  805                                 reset-names = "link";
  806                                 resets = <&sys_rst 14>;
  807                         };
  808 
  809                         usb_vbus3: regulator@130 {
  810                                 compatible = "socionext,uniphier-ld20-usb3-regulator";
  811                                 reg = <0x130 0x10>;
  812                                 clock-names = "link";
  813                                 clocks = <&sys_clk 14>;
  814                                 reset-names = "link";
  815                                 resets = <&sys_rst 14>;
  816                         };
  817 
  818                         usb_hsphy0: hs-phy@200 {
  819                                 compatible = "socionext,uniphier-ld20-usb3-hsphy";
  820                                 reg = <0x200 0x10>;
  821                                 #phy-cells = <0>;
  822                                 clock-names = "link", "phy";
  823                                 clocks = <&sys_clk 14>, <&sys_clk 16>;
  824                                 reset-names = "link", "phy";
  825                                 resets = <&sys_rst 14>, <&sys_rst 16>;
  826                                 vbus-supply = <&usb_vbus0>;
  827                                 nvmem-cell-names = "rterm", "sel_t", "hs_i";
  828                                 nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>,
  829                                               <&usb_hs_i0>;
  830                         };
  831 
  832                         usb_hsphy1: hs-phy@210 {
  833                                 compatible = "socionext,uniphier-ld20-usb3-hsphy";
  834                                 reg = <0x210 0x10>;
  835                                 #phy-cells = <0>;
  836                                 clock-names = "link", "phy";
  837                                 clocks = <&sys_clk 14>, <&sys_clk 16>;
  838                                 reset-names = "link", "phy";
  839                                 resets = <&sys_rst 14>, <&sys_rst 16>;
  840                                 vbus-supply = <&usb_vbus1>;
  841                                 nvmem-cell-names = "rterm", "sel_t", "hs_i";
  842                                 nvmem-cells = <&usb_rterm1>, <&usb_sel_t1>,
  843                                               <&usb_hs_i0>;
  844                         };
  845 
  846                         usb_hsphy2: hs-phy@220 {
  847                                 compatible = "socionext,uniphier-ld20-usb3-hsphy";
  848                                 reg = <0x220 0x10>;
  849                                 #phy-cells = <0>;
  850                                 clock-names = "link", "phy";
  851                                 clocks = <&sys_clk 14>, <&sys_clk 17>;
  852                                 reset-names = "link", "phy";
  853                                 resets = <&sys_rst 14>, <&sys_rst 17>;
  854                                 vbus-supply = <&usb_vbus2>;
  855                                 nvmem-cell-names = "rterm", "sel_t", "hs_i";
  856                                 nvmem-cells = <&usb_rterm2>, <&usb_sel_t2>,
  857                                               <&usb_hs_i2>;
  858                         };
  859 
  860                         usb_hsphy3: hs-phy@230 {
  861                                 compatible = "socionext,uniphier-ld20-usb3-hsphy";
  862                                 reg = <0x230 0x10>;
  863                                 #phy-cells = <0>;
  864                                 clock-names = "link", "phy";
  865                                 clocks = <&sys_clk 14>, <&sys_clk 17>;
  866                                 reset-names = "link", "phy";
  867                                 resets = <&sys_rst 14>, <&sys_rst 17>;
  868                                 vbus-supply = <&usb_vbus3>;
  869                                 nvmem-cell-names = "rterm", "sel_t", "hs_i";
  870                                 nvmem-cells = <&usb_rterm3>, <&usb_sel_t3>,
  871                                               <&usb_hs_i2>;
  872                         };
  873 
  874                         usb_ssphy0: ss-phy@300 {
  875                                 compatible = "socionext,uniphier-ld20-usb3-ssphy";
  876                                 reg = <0x300 0x10>;
  877                                 #phy-cells = <0>;
  878                                 clock-names = "link", "phy";
  879                                 clocks = <&sys_clk 14>, <&sys_clk 18>;
  880                                 reset-names = "link", "phy";
  881                                 resets = <&sys_rst 14>, <&sys_rst 18>;
  882                                 vbus-supply = <&usb_vbus0>;
  883                         };
  884 
  885                         usb_ssphy1: ss-phy@310 {
  886                                 compatible = "socionext,uniphier-ld20-usb3-ssphy";
  887                                 reg = <0x310 0x10>;
  888                                 #phy-cells = <0>;
  889                                 clock-names = "link", "phy";
  890                                 clocks = <&sys_clk 14>, <&sys_clk 19>;
  891                                 reset-names = "link", "phy";
  892                                 resets = <&sys_rst 14>, <&sys_rst 19>;
  893                                 vbus-supply = <&usb_vbus1>;
  894                         };
  895                 };
  896 
  897                 pcie: pcie@66000000 {
  898                         compatible = "socionext,uniphier-pcie", "snps,dw-pcie";
  899                         status = "disabled";
  900                         reg-names = "dbi", "link", "config";
  901                         reg = <0x66000000 0x1000>, <0x66010000 0x10000>,
  902                               <0x2fff0000 0x10000>;
  903                         #address-cells = <3>;
  904                         #size-cells = <2>;
  905                         clocks = <&sys_clk 24>;
  906                         resets = <&sys_rst 24>;
  907                         num-lanes = <1>;
  908                         num-viewport = <1>;
  909                         bus-range = <0x0 0xff>;
  910                         device_type = "pci";
  911                         ranges =
  912                         /* downstream I/O */
  913                                 <0x81000000 0 0x00000000 0x2ffe0000 0 0x00010000>,
  914                         /* non-prefetchable memory */
  915                                 <0x82000000 0 0x20000000 0x20000000 0 0x0ffe0000>;
  916                         #interrupt-cells = <1>;
  917                         interrupt-names = "dma", "msi";
  918                         interrupts = <0 224 4>, <0 225 4>;
  919                         interrupt-map-mask = <0 0 0 7>;
  920                         interrupt-map = <0 0 0 1 &pcie_intc 0>, /* INTA */
  921                                         <0 0 0 2 &pcie_intc 1>, /* INTB */
  922                                         <0 0 0 3 &pcie_intc 2>, /* INTC */
  923                                         <0 0 0 4 &pcie_intc 3>; /* INTD */
  924                         phy-names = "pcie-phy";
  925                         phys = <&pcie_phy>;
  926 
  927                         pcie_intc: legacy-interrupt-controller {
  928                                 interrupt-controller;
  929                                 #interrupt-cells = <1>;
  930                                 interrupt-parent = <&gic>;
  931                                 interrupts = <0 226 4>;
  932                         };
  933                 };
  934 
  935                 pcie_phy: phy@66038000 {
  936                         compatible = "socionext,uniphier-ld20-pcie-phy";
  937                         reg = <0x66038000 0x4000>;
  938                         #phy-cells = <0>;
  939                         clock-names = "link";
  940                         clocks = <&sys_clk 24>;
  941                         reset-names = "link";
  942                         resets = <&sys_rst 24>;
  943                         socionext,syscon = <&soc_glue>;
  944                 };
  945 
  946                 nand: nand-controller@68000000 {
  947                         compatible = "socionext,uniphier-denali-nand-v5b";
  948                         status = "disabled";
  949                         reg-names = "nand_data", "denali_reg";
  950                         reg = <0x68000000 0x20>, <0x68100000 0x1000>;
  951                         #address-cells = <1>;
  952                         #size-cells = <0>;
  953                         interrupts = <0 65 4>;
  954                         pinctrl-names = "default";
  955                         pinctrl-0 = <&pinctrl_nand>;
  956                         clock-names = "nand", "nand_x", "ecc";
  957                         clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
  958                         reset-names = "nand", "reg";
  959                         resets = <&sys_rst 2>, <&sys_rst 2>;
  960                 };
  961         };
  962 };
  963 
  964 #include "uniphier-pinctrl.dtsi"
  965 
  966 &pinctrl_aout1 {
  967         drive-strength = <4>;   /* default: 3.5mA */
  968 
  969         ao1dacck {
  970                 pins = "AO1DACCK";
  971                 drive-strength = <5>;   /* 5mA */
  972         };
  973 };
  974 
  975 &pinctrl_aoutiec1 {
  976         drive-strength = <4>;   /* default: 3.5mA */
  977 
  978         ao1arc {
  979                 pins = "AO1ARC";
  980                 drive-strength = <11>;  /* 11mA */
  981         };
  982 };

Cache object: 3f50734ced042163470f7253b5a84e27


[ 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.