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/exynos/exynos7885.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
    2 /*
    3  * Samsung Exynos7885 SoC device tree source
    4  *
    5  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
    6  * Copyright (c) 2021 Dávid Virág
    7  */
    8 
    9 #include <dt-bindings/clock/exynos7885.h>
   10 #include <dt-bindings/interrupt-controller/arm-gic.h>
   11 
   12 / {
   13         compatible = "samsung,exynos7885";
   14         #address-cells = <2>;
   15         #size-cells = <1>;
   16 
   17         interrupt-parent = <&gic>;
   18 
   19         aliases {
   20                 pinctrl0 = &pinctrl_alive;
   21                 pinctrl1 = &pinctrl_dispaud;
   22                 pinctrl2 = &pinctrl_fsys;
   23                 pinctrl3 = &pinctrl_top;
   24         };
   25 
   26         arm-a53-pmu {
   27                 compatible = "arm,cortex-a53-pmu";
   28                 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
   29                              <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
   30                              <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
   31                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
   32                              <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
   33                              <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
   34                 interrupt-affinity = <&cpu0>,
   35                                      <&cpu1>,
   36                                      <&cpu2>,
   37                                      <&cpu3>,
   38                                      <&cpu4>,
   39                                      <&cpu5>;
   40         };
   41 
   42         arm-a73-pmu {
   43                 compatible = "arm,cortex-a73-pmu";
   44                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
   45                              <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
   46                 interrupt-affinity = <&cpu6>,
   47                                      <&cpu7>;
   48         };
   49 
   50         cpus {
   51                 #address-cells = <1>;
   52                 #size-cells = <0>;
   53 
   54                 cpu-map {
   55                         cluster0 {
   56                                 core0 {
   57                                         cpu = <&cpu0>;
   58                                 };
   59                                 core1 {
   60                                         cpu = <&cpu1>;
   61                                 };
   62                                 core2 {
   63                                         cpu = <&cpu2>;
   64                                 };
   65                                 core3 {
   66                                         cpu = <&cpu3>;
   67                                 };
   68                                 core4 {
   69                                         cpu = <&cpu4>;
   70                                 };
   71                                 core5 {
   72                                         cpu = <&cpu5>;
   73                                 };
   74                         };
   75 
   76                         cluster1 {
   77                                 core0 {
   78                                         cpu = <&cpu6>;
   79                                 };
   80                                 core1 {
   81                                         cpu = <&cpu7>;
   82                                 };
   83                         };
   84                 };
   85 
   86                 cpu0: cpu@100 {
   87                         device_type = "cpu";
   88                         compatible = "arm,cortex-a53";
   89                         reg = <0x100>;
   90                         enable-method = "psci";
   91                 };
   92 
   93                 cpu1: cpu@101 {
   94                         device_type = "cpu";
   95                         compatible = "arm,cortex-a53";
   96                         reg = <0x101>;
   97                         enable-method = "psci";
   98                 };
   99 
  100                 cpu2: cpu@102 {
  101                         device_type = "cpu";
  102                         compatible = "arm,cortex-a53";
  103                         reg = <0x102>;
  104                         enable-method = "psci";
  105                 };
  106 
  107                 cpu3: cpu@103 {
  108                         device_type = "cpu";
  109                         compatible = "arm,cortex-a53";
  110                         reg = <0x103>;
  111                         enable-method = "psci";
  112                 };
  113 
  114                 cpu4: cpu@200 {
  115                         device_type = "cpu";
  116                         compatible = "arm,cortex-a53";
  117                         reg = <0x200>;
  118                         enable-method = "psci";
  119                 };
  120 
  121                 cpu5: cpu@201 {
  122                         device_type = "cpu";
  123                         compatible = "arm,cortex-a53";
  124                         reg = <0x201>;
  125                         enable-method = "psci";
  126                 };
  127 
  128                 cpu6: cpu@0 {
  129                         device_type = "cpu";
  130                         compatible = "arm,cortex-a73";
  131                         reg = <0x0>;
  132                         enable-method = "psci";
  133                 };
  134 
  135                 cpu7: cpu@1 {
  136                         device_type = "cpu";
  137                         compatible = "arm,cortex-a73";
  138                         reg = <0x1>;
  139                         enable-method = "psci";
  140                 };
  141         };
  142 
  143         psci {
  144                 compatible = "arm,psci";
  145                 method = "smc";
  146                 cpu_suspend = <0xc4000001>;
  147                 cpu_off = <0x84000002>;
  148                 cpu_on = <0xc4000003>;
  149         };
  150 
  151         timer {
  152                 compatible = "arm,armv8-timer";
  153                 /* Hypervisor Virtual Timer interrupt is not wired to GIC */
  154                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
  155                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
  156                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
  157                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
  158         };
  159 
  160         fixed-rate-clocks {
  161                 oscclk: osc-clock {
  162                         compatible = "fixed-clock";
  163                         #clock-cells = <0>;
  164                         clock-output-names = "oscclk";
  165                 };
  166         };
  167 
  168         soc: soc@0 {
  169                 compatible = "simple-bus";
  170                 #address-cells = <1>;
  171                 #size-cells = <1>;
  172                 ranges = <0x0 0x0 0x0 0x20000000>;
  173 
  174                 chipid@10000000 {
  175                         compatible = "samsung,exynos850-chipid";
  176                         reg = <0x10000000 0x24>;
  177                 };
  178 
  179                 gic: interrupt-controller@12301000 {
  180                         compatible = "arm,gic-400";
  181                         #interrupt-cells = <3>;
  182                         #address-cells = <0>;
  183                         interrupt-controller;
  184                         reg = <0x12301000 0x1000>,
  185                               <0x12302000 0x2000>,
  186                               <0x12304000 0x2000>,
  187                               <0x12306000 0x2000>;
  188                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
  189                                                  IRQ_TYPE_LEVEL_HIGH)>;
  190                 };
  191 
  192                 cmu_peri: clock-controller@10010000 {
  193                         compatible = "samsung,exynos7885-cmu-peri";
  194                         reg = <0x10010000 0x8000>;
  195                         #clock-cells = <1>;
  196 
  197                         clocks = <&oscclk>,
  198                                  <&cmu_top CLK_DOUT_PERI_BUS>,
  199                                  <&cmu_top CLK_DOUT_PERI_SPI0>,
  200                                  <&cmu_top CLK_DOUT_PERI_SPI1>,
  201                                  <&cmu_top CLK_DOUT_PERI_UART0>,
  202                                  <&cmu_top CLK_DOUT_PERI_UART1>,
  203                                  <&cmu_top CLK_DOUT_PERI_UART2>,
  204                                  <&cmu_top CLK_DOUT_PERI_USI0>,
  205                                  <&cmu_top CLK_DOUT_PERI_USI1>,
  206                                  <&cmu_top CLK_DOUT_PERI_USI2>;
  207                         clock-names = "oscclk",
  208                                       "dout_peri_bus",
  209                                       "dout_peri_spi0",
  210                                       "dout_peri_spi1",
  211                                       "dout_peri_uart0",
  212                                       "dout_peri_uart1",
  213                                       "dout_peri_uart2",
  214                                       "dout_peri_usi0",
  215                                       "dout_peri_usi1",
  216                                       "dout_peri_usi2";
  217                 };
  218 
  219                 cmu_core: clock-controller@12000000 {
  220                         compatible = "samsung,exynos7885-cmu-core";
  221                         reg = <0x12000000 0x8000>;
  222                         #clock-cells = <1>;
  223 
  224                         clocks = <&oscclk>,
  225                                  <&cmu_top CLK_DOUT_CORE_BUS>,
  226                                  <&cmu_top CLK_DOUT_CORE_CCI>,
  227                                  <&cmu_top CLK_DOUT_CORE_G3D>;
  228                         clock-names = "oscclk",
  229                                       "dout_core_bus",
  230                                       "dout_core_cci",
  231                                       "dout_core_g3d";
  232                 };
  233 
  234                 cmu_top: clock-controller@12060000 {
  235                         compatible = "samsung,exynos7885-cmu-top";
  236                         reg = <0x12060000 0x8000>;
  237                         #clock-cells = <1>;
  238 
  239                         clocks = <&oscclk>;
  240                         clock-names = "oscclk";
  241                 };
  242 
  243                 cmu_fsys: clock-controller@13400000 {
  244                         compatible = "samsung,exynos7885-cmu-fsys";
  245                         reg = <0x13400000 0x8000>;
  246                         #clock-cells = <1>;
  247 
  248                         clocks = <&oscclk>,
  249                                  <&cmu_top CLK_DOUT_FSYS_BUS>,
  250                                  <&cmu_top CLK_DOUT_FSYS_MMC_CARD>,
  251                                  <&cmu_top CLK_DOUT_FSYS_MMC_EMBD>,
  252                                  <&cmu_top CLK_DOUT_FSYS_MMC_SDIO>,
  253                                  <&cmu_top CLK_DOUT_FSYS_USB30DRD>;
  254                         clock-names = "oscclk",
  255                                       "dout_fsys_bus",
  256                                       "dout_fsys_mmc_card",
  257                                       "dout_fsys_mmc_embd",
  258                                       "dout_fsys_mmc_sdio",
  259                                       "dout_fsys_usb30drd";
  260                 };
  261 
  262                 pinctrl_alive: pinctrl@11cb0000 {
  263                         compatible = "samsung,exynos7885-pinctrl";
  264                         reg = <0x11cb0000 0x1000>;
  265 
  266                         wakeup-interrupt-controller {
  267                                 compatible = "samsung,exynos7-wakeup-eint";
  268                                 interrupt-parent = <&gic>;
  269                                 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
  270                         };
  271                 };
  272 
  273                 pinctrl_fsys: pinctrl@13430000 {
  274                         compatible = "samsung,exynos7885-pinctrl";
  275                         reg = <0x13430000 0x1000>;
  276                         interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
  277                 };
  278 
  279                 pinctrl_top: pinctrl@139b0000 {
  280                         compatible = "samsung,exynos7885-pinctrl";
  281                         reg = <0x139b0000 0x1000>;
  282                         interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
  283                 };
  284 
  285                 pinctrl_dispaud: pinctrl@148f0000 {
  286                         compatible = "samsung,exynos7885-pinctrl";
  287                         reg = <0x148f0000 0x1000>;
  288                         interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
  289                 };
  290 
  291                 pmu_system_controller: system-controller@11c80000 {
  292                         compatible = "samsung,exynos7-pmu", "syscon";
  293                         reg = <0x11c80000 0x10000>;
  294                 };
  295 
  296                 mmc_0: mmc@13500000 {
  297                         compatible = "samsung,exynos7-dw-mshc-smu";
  298                         reg = <0x13500000 0x2000>;
  299                         interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
  300                         #address-cells = <1>;
  301                         #size-cells = <0>;
  302                         clocks = <&cmu_fsys CLK_GOUT_MMC_EMBD_ACLK>,
  303                                  <&cmu_fsys CLK_GOUT_MMC_EMBD_SDCLKIN>;
  304                         clock-names = "biu", "ciu";
  305                         fifo-depth = <0x40>;
  306                         status = "disabled";
  307                 };
  308 
  309                 serial_0: serial@13800000 {
  310                         compatible = "samsung,exynos5433-uart";
  311                         reg = <0x13800000 0x100>;
  312                         interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
  313                         pinctrl-names = "default";
  314                         pinctrl-0 = <&uart0_bus>;
  315                         clocks = <&cmu_peri CLK_GOUT_UART0_PCLK>,
  316                                  <&cmu_peri CLK_GOUT_UART0_EXT_UCLK>;
  317                         clock-names = "uart", "clk_uart_baud0";
  318                         samsung,uart-fifosize = <64>;
  319                         status = "disabled";
  320                 };
  321 
  322                 serial_1: serial@13810000 {
  323                         compatible = "samsung,exynos5433-uart";
  324                         reg = <0x13810000 0x100>;
  325                         interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
  326                         pinctrl-names = "default";
  327                         pinctrl-0 = <&uart1_bus>;
  328                         clocks = <&cmu_peri CLK_GOUT_UART1_PCLK>,
  329                                  <&cmu_peri CLK_GOUT_UART1_EXT_UCLK>;
  330                         clock-names = "uart", "clk_uart_baud0";
  331                         samsung,uart-fifosize = <256>;
  332                         status = "disabled";
  333                 };
  334 
  335                 serial_2: serial@13820000 {
  336                         compatible = "samsung,exynos5433-uart";
  337                         reg = <0x13820000 0x100>;
  338                         interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>;
  339                         pinctrl-names = "default";
  340                         pinctrl-0 = <&uart2_bus>;
  341                         clocks = <&cmu_peri CLK_GOUT_UART2_PCLK>,
  342                                  <&cmu_peri CLK_GOUT_UART2_EXT_UCLK>;
  343                         clock-names = "uart", "clk_uart_baud0";
  344                         samsung,uart-fifosize = <256>;
  345                         status = "disabled";
  346                 };
  347 
  348                 i2c_0: i2c@13830000 {
  349                         compatible = "samsung,s3c2440-i2c";
  350                         reg = <0x13830000 0x100>;
  351                         interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
  352                         #address-cells = <1>;
  353                         #size-cells = <0>;
  354                         pinctrl-names = "default";
  355                         pinctrl-0 = <&i2c0_bus>;
  356                         clocks = <&cmu_peri CLK_GOUT_I2C0_PCLK>;
  357                         clock-names = "i2c";
  358                         status = "disabled";
  359                 };
  360 
  361                 i2c_1: i2c@13840000 {
  362                         compatible = "samsung,s3c2440-i2c";
  363                         reg = <0x13840000 0x100>;
  364                         interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
  365                         #address-cells = <1>;
  366                         #size-cells = <0>;
  367                         pinctrl-names = "default";
  368                         pinctrl-0 = <&i2c1_bus>;
  369                         clocks = <&cmu_peri CLK_GOUT_I2C1_PCLK>;
  370                         clock-names = "i2c";
  371                         status = "disabled";
  372                 };
  373 
  374                 i2c_2: i2c@13850000 {
  375                         compatible = "samsung,s3c2440-i2c";
  376                         reg = <0x13850000 0x100>;
  377                         interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>;
  378                         #address-cells = <1>;
  379                         #size-cells = <0>;
  380                         pinctrl-names = "default";
  381                         pinctrl-0 = <&i2c2_bus>;
  382                         clocks = <&cmu_peri CLK_GOUT_I2C2_PCLK>;
  383                         clock-names = "i2c";
  384                         status = "disabled";
  385                 };
  386 
  387                 i2c_3: i2c@13860000 {
  388                         compatible = "samsung,s3c2440-i2c";
  389                         reg = <0x13860000 0x100>;
  390                         interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>;
  391                         #address-cells = <1>;
  392                         #size-cells = <0>;
  393                         pinctrl-names = "default";
  394                         pinctrl-0 = <&i2c3_bus>;
  395                         clocks = <&cmu_peri CLK_GOUT_I2C3_PCLK>;
  396                         clock-names = "i2c";
  397                         status = "disabled";
  398                 };
  399 
  400                 i2c_4: i2c@13870000 {
  401                         compatible = "samsung,s3c2440-i2c";
  402                         reg = <0x13870000 0x100>;
  403                         interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
  404                         #address-cells = <1>;
  405                         #size-cells = <0>;
  406                         pinctrl-names = "default";
  407                         pinctrl-0 = <&i2c4_bus>;
  408                         clocks = <&cmu_peri CLK_GOUT_I2C4_PCLK>;
  409                         clock-names = "i2c";
  410                         status = "disabled";
  411                 };
  412 
  413                 i2c_5: i2c@13880000 {
  414                         compatible = "samsung,s3c2440-i2c";
  415                         reg = <0x13880000 0x100>;
  416                         interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>;
  417                         #address-cells = <1>;
  418                         #size-cells = <0>;
  419                         pinctrl-names = "default";
  420                         pinctrl-0 = <&i2c5_bus>;
  421                         clocks = <&cmu_peri CLK_GOUT_I2C5_PCLK>;
  422                         clock-names = "i2c";
  423                         status = "disabled";
  424                 };
  425 
  426                 i2c_6: i2c@13890000 {
  427                         compatible = "samsung,s3c2440-i2c";
  428                         reg = <0x13890000 0x100>;
  429                         interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>;
  430                         #address-cells = <1>;
  431                         #size-cells = <0>;
  432                         pinctrl-names = "default";
  433                         pinctrl-0 = <&i2c6_bus>;
  434                         clocks = <&cmu_peri CLK_GOUT_I2C6_PCLK>;
  435                         clock-names = "i2c";
  436                         status = "disabled";
  437                 };
  438 
  439                 i2c_7: i2c@11cd0000 {
  440                         compatible = "samsung,s3c2440-i2c";
  441                         reg = <0x11cd0000 0x100>;
  442                         interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
  443                         #address-cells = <1>;
  444                         #size-cells = <0>;
  445                         pinctrl-names = "default";
  446                         pinctrl-0 = <&i2c7_bus>;
  447                         clocks = <&cmu_peri CLK_GOUT_I2C7_PCLK>;
  448                         clock-names = "i2c";
  449                         status = "disabled";
  450                 };
  451         };
  452 };
  453 
  454 #include "exynos7885-pinctrl.dtsi"
  455 #include "arm/exynos-syscon-restart.dtsi"

Cache object: 3a1f90b8043d5f1e02968ad6fe7718df


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