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/broadcom/bcm4908/bcm4908.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-later OR MIT
    2 
    3 #include <dt-bindings/interrupt-controller/irq.h>
    4 #include <dt-bindings/interrupt-controller/arm-gic.h>
    5 #include <dt-bindings/phy/phy.h>
    6 #include <dt-bindings/soc/bcm-pmb.h>
    7 
    8 /dts-v1/;
    9 
   10 / {
   11         interrupt-parent = <&gic>;
   12 
   13         #address-cells = <2>;
   14         #size-cells = <2>;
   15 
   16         aliases {
   17                 serial0 = &uart0;
   18         };
   19 
   20         chosen {
   21                 stdout-path = "serial0:115200n8";
   22         };
   23 
   24         cpus {
   25                 #address-cells = <1>;
   26                 #size-cells = <0>;
   27 
   28                 cpu0: cpu@0 {
   29                         device_type = "cpu";
   30                         compatible = "brcm,brahma-b53";
   31                         reg = <0x0>;
   32                         enable-method = "spin-table";
   33                         cpu-release-addr = <0x0 0xfff8>;
   34                         next-level-cache = <&l2>;
   35                 };
   36 
   37                 cpu1: cpu@1 {
   38                         device_type = "cpu";
   39                         compatible = "brcm,brahma-b53";
   40                         reg = <0x1>;
   41                         enable-method = "spin-table";
   42                         cpu-release-addr = <0x0 0xfff8>;
   43                         next-level-cache = <&l2>;
   44                 };
   45 
   46                 cpu2: cpu@2 {
   47                         device_type = "cpu";
   48                         compatible = "brcm,brahma-b53";
   49                         reg = <0x2>;
   50                         enable-method = "spin-table";
   51                         cpu-release-addr = <0x0 0xfff8>;
   52                         next-level-cache = <&l2>;
   53                 };
   54 
   55                 cpu3: cpu@3 {
   56                         device_type = "cpu";
   57                         compatible = "brcm,brahma-b53";
   58                         reg = <0x3>;
   59                         enable-method = "spin-table";
   60                         cpu-release-addr = <0x0 0xfff8>;
   61                         next-level-cache = <&l2>;
   62                 };
   63 
   64                 l2: l2-cache0 {
   65                         compatible = "cache";
   66                 };
   67         };
   68 
   69         axi@81000000 {
   70                 compatible = "simple-bus";
   71                 #address-cells = <1>;
   72                 #size-cells = <1>;
   73                 ranges = <0x00 0x00 0x81000000 0x4000>;
   74 
   75                 gic: interrupt-controller@1000 {
   76                         compatible = "arm,gic-400";
   77                         #interrupt-cells = <3>;
   78                         #address-cells = <0>;
   79                         interrupt-controller;
   80                         reg = <0x1000 0x1000>,
   81                               <0x2000 0x2000>;
   82                 };
   83         };
   84 
   85         timer {
   86                 compatible = "arm,armv8-timer";
   87                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
   88                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
   89                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
   90                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
   91         };
   92 
   93         pmu {
   94                 compatible = "arm,cortex-a53-pmu";
   95                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
   96                              <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
   97                              <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
   98                              <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
   99                 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  100         };
  101 
  102         clocks {
  103                 periph_clk: periph_clk {
  104                         compatible = "fixed-clock";
  105                         #clock-cells = <0>;
  106                         clock-frequency = <50000000>;
  107                         clock-output-names = "periph";
  108                 };
  109         };
  110 
  111         soc {
  112                 compatible = "simple-bus";
  113                 #address-cells = <1>;
  114                 #size-cells = <1>;
  115                 ranges = <0x00 0x00 0x80000000 0x281000>;
  116 
  117                 enet: ethernet@2000 {
  118                         compatible = "brcm,bcm4908-enet";
  119                         reg = <0x2000 0x1000>;
  120 
  121                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
  122                                      <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  123                         interrupt-names = "rx", "tx";
  124                 };
  125 
  126                 usb_phy: usb-phy@c200 {
  127                         compatible = "brcm,bcm4908-usb-phy";
  128                         reg = <0xc200 0x100>;
  129                         reg-names = "ctrl";
  130                         power-domains = <&pmb BCM_PMB_HOST_USB>;
  131                         dr_mode = "host";
  132                         brcm,has-xhci;
  133                         brcm,has-eohci;
  134                         #phy-cells = <1>;
  135                         status = "disabled";
  136                 };
  137 
  138                 ehci: usb@c300 {
  139                         compatible = "generic-ehci";
  140                         reg = <0xc300 0x100>;
  141                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  142                         phys = <&usb_phy PHY_TYPE_USB2>;
  143                         status = "disabled";
  144                 };
  145 
  146                 ohci: usb@c400 {
  147                         compatible = "generic-ohci";
  148                         reg = <0xc400 0x100>;
  149                         interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  150                         phys = <&usb_phy PHY_TYPE_USB2>;
  151                         status = "disabled";
  152                 };
  153 
  154                 xhci: usb@d000 {
  155                         compatible = "generic-xhci";
  156                         reg = <0xd000 0x8c8>;
  157                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  158                         phys = <&usb_phy PHY_TYPE_USB3>;
  159                         status = "disabled";
  160                 };
  161 
  162                 bus@80000 {
  163                         compatible = "simple-bus";
  164                         #size-cells = <1>;
  165                         #address-cells = <1>;
  166                         ranges = <0 0x80000 0x50000>;
  167 
  168                         ethernet-switch@0 {
  169                                 compatible = "brcm,bcm4908-switch";
  170                                 reg = <0x0 0x40000>,
  171                                       <0x40000 0x110>,
  172                                       <0x40340 0x30>,
  173                                       <0x40380 0x30>,
  174                                       <0x40600 0x34>,
  175                                       <0x40800 0x208>;
  176                                 reg-names = "core", "reg", "intrl2_0",
  177                                             "intrl2_1", "fcb", "acb";
  178                                 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
  179                                              <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
  180                                 brcm,num-gphy = <5>;
  181                                 brcm,num-rgmii-ports = <2>;
  182 
  183                                 #address-cells = <1>;
  184                                 #size-cells = <0>;
  185 
  186                                 ports: ports {
  187                                         #address-cells = <1>;
  188                                         #size-cells = <0>;
  189 
  190                                         port@0 {
  191                                                 reg = <0>;
  192                                                 phy-mode = "internal";
  193                                                 phy-handle = <&phy8>;
  194                                         };
  195 
  196                                         port@1 {
  197                                                 reg = <1>;
  198                                                 phy-mode = "internal";
  199                                                 phy-handle = <&phy9>;
  200                                         };
  201 
  202                                         port@2 {
  203                                                 reg = <2>;
  204                                                 phy-mode = "internal";
  205                                                 phy-handle = <&phy10>;
  206                                         };
  207 
  208                                         port@3 {
  209                                                 reg = <3>;
  210                                                 phy-mode = "internal";
  211                                                 phy-handle = <&phy11>;
  212                                         };
  213 
  214                                         port@8 {
  215                                                 reg = <8>;
  216                                                 phy-mode = "internal";
  217                                                 ethernet = <&enet>;
  218 
  219                                                 fixed-link {
  220                                                         speed = <1000>;
  221                                                         full-duplex;
  222                                                 };
  223                                         };
  224                                 };
  225                         };
  226 
  227                         mdio: mdio@405c0 {
  228                                 compatible = "brcm,unimac-mdio";
  229                                 reg = <0x405c0 0x8>;
  230                                 reg-names = "mdio";
  231                                 #size-cells = <0>;
  232                                 #address-cells = <1>;
  233 
  234                                 phy8: ethernet-phy@8 {
  235                                         reg = <8>;
  236                                 };
  237 
  238                                 phy9: ethernet-phy@9 {
  239                                         reg = <9>;
  240                                 };
  241 
  242                                 phy10: ethernet-phy@a {
  243                                         reg = <10>;
  244                                 };
  245 
  246                                 phy11: ethernet-phy@b {
  247                                         reg = <11>;
  248                                 };
  249 
  250                                 phy12: ethernet-phy@c {
  251                                         reg = <12>;
  252                                 };
  253                         };
  254                 };
  255 
  256                 procmon: syscon@280000 {
  257                         compatible = "simple-bus";
  258                         reg = <0x280000 0x1000>;
  259                         ranges;
  260 
  261                         #address-cells = <1>;
  262                         #size-cells = <1>;
  263 
  264                         pmb: power-controller@2800c0 {
  265                                 compatible = "brcm,bcm4908-pmb";
  266                                 reg = <0x2800c0 0x40>;
  267                                 #power-domain-cells = <1>;
  268                         };
  269                 };
  270         };
  271 
  272         bus@ff800000 {
  273                 compatible = "simple-bus";
  274                 #address-cells = <1>;
  275                 #size-cells = <1>;
  276                 ranges = <0x00 0x00 0xff800000 0x3000>;
  277 
  278                 twd: timer-mfd@400 {
  279                         compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
  280                         reg = <0x400 0x4c>;
  281                         ranges = <0x0 0x400 0x4c>;
  282 
  283                         #address-cells = <1>;
  284                         #size-cells = <1>;
  285 
  286                         watchdog@28 {
  287                                 compatible = "brcm,bcm6345-wdt";
  288                                 reg = <0x28 0x8>;
  289                         };
  290                 };
  291 
  292                 gpio0: gpio-controller@500 {
  293                         compatible = "brcm,bcm6345-gpio";
  294                         reg-names = "dirout", "dat";
  295                         reg = <0x500 0x28>, <0x528 0x28>;
  296 
  297                         #gpio-cells = <2>;
  298                         gpio-controller;
  299                 };
  300 
  301                 pinctrl@560 {
  302                         compatible = "brcm,bcm4908-pinctrl";
  303                         reg = <0x560 0x10>;
  304 
  305                         pins_led_0_a: led_0-a-pins {
  306                                 function = "led_0";
  307                                 groups = "led_0_grp_a";
  308                         };
  309 
  310                         pins_led_1_a: led_1-a-pins {
  311                                 function = "led_1";
  312                                 groups = "led_1_grp_a";
  313                         };
  314 
  315                         pins_led_2_a: led_2-a-pins {
  316                                 function = "led_2";
  317                                 groups = "led_2_grp_a";
  318                         };
  319 
  320                         pins_led_3_a: led_3-a-pins {
  321                                 function = "led_3";
  322                                 groups = "led_3_grp_a";
  323                         };
  324 
  325                         pins_led_4_a: led_4-a-pins {
  326                                 function = "led_4";
  327                                 groups = "led_4_grp_a";
  328                         };
  329 
  330                         pins_led_5_a: led_5-a-pins {
  331                                 function = "led_5";
  332                                 groups = "led_5_grp_a";
  333                         };
  334 
  335                         pins_led_6_a: led_6-a-pins {
  336                                 function = "led_6";
  337                                 groups = "led_6_grp_a";
  338                         };
  339 
  340                         pins_led_7_a: led_7-a-pins {
  341                                 function = "led_7";
  342                                 groups = "led_7_grp_a";
  343                         };
  344 
  345                         pins_led_8_a: led_8-a-pins {
  346                                 function = "led_8";
  347                                 groups = "led_8_grp_a";
  348                         };
  349 
  350                         pins_led_9_a: led_9-a-pins {
  351                                 function = "led_9";
  352                                 groups = "led_9_grp_a";
  353                         };
  354 
  355                         pins_led_21_a: led_21-a-pins {
  356                                 function = "led_21";
  357                                 groups = "led_21_grp_a";
  358                         };
  359 
  360                         pins_led_22_a: led_22-a-pins {
  361                                 function = "led_22";
  362                                 groups = "led_22_grp_a";
  363                         };
  364 
  365                         pins_led_26_a: led_26-a-pins {
  366                                 function = "led_26";
  367                                 groups = "led_26_grp_a";
  368                         };
  369 
  370                         pins_led_27_a: led_27-a-pins {
  371                                 function = "led_27";
  372                                 groups = "led_27_grp_a";
  373                         };
  374 
  375                         pins_led_28_a: led_28-a-pins {
  376                                 function = "led_28";
  377                                 groups = "led_28_grp_a";
  378                         };
  379 
  380                         pins_led_29_a: led_29-a-pins {
  381                                 function = "led_29";
  382                                 groups = "led_29_grp_a";
  383                         };
  384 
  385                         pins_led_30_a: led_30-a-pins {
  386                                 function = "led_30";
  387                                 groups = "led_30_grp_a";
  388                         };
  389 
  390                         pins_hs_uart: hs_uart-pins {
  391                                 function = "hs_uart";
  392                                 groups = "hs_uart_grp";
  393                         };
  394 
  395                         pins_i2c_a: i2c-a-pins {
  396                                 function = "i2c";
  397                                 groups = "i2c_grp_a";
  398                         };
  399 
  400                         pins_i2c_b: i2c-b-pins {
  401                                 function = "i2c";
  402                                 groups = "i2c_grp_b";
  403                         };
  404 
  405                         pins_i2s: i2s-pins {
  406                                 function = "i2s";
  407                                 groups = "i2s_grp";
  408                         };
  409 
  410                         pins_nand_ctrl: nand_ctrl-pins {
  411                                 function = "nand_ctrl";
  412                                 groups = "nand_ctrl_grp";
  413                         };
  414 
  415                         pins_nand_data: nand_data-pins {
  416                                 function = "nand_data";
  417                                 groups = "nand_data_grp";
  418                         };
  419 
  420                         pins_emmc_ctrl: emmc_ctrl-pins {
  421                                 function = "emmc_ctrl";
  422                                 groups = "emmc_ctrl_grp";
  423                         };
  424 
  425                         pins_usb0_pwr: usb0_pwr-pins {
  426                                 function = "usb0_pwr";
  427                                 groups = "usb0_pwr_grp";
  428                         };
  429 
  430                         pins_usb1_pwr: usb1_pwr-pins {
  431                                 function = "usb1_pwr";
  432                                 groups = "usb1_pwr_grp";
  433                         };
  434                 };
  435 
  436                 uart0: serial@640 {
  437                         compatible = "brcm,bcm6345-uart";
  438                         reg = <0x640 0x18>;
  439                         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  440                         clocks = <&periph_clk>;
  441                         clock-names = "refclk";
  442                         status = "okay";
  443                 };
  444 
  445                 nand-controller@1800 {
  446                         #address-cells = <1>;
  447                         #size-cells = <0>;
  448                         compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
  449                         reg = <0x1800 0x600>, <0x2000 0x10>;
  450                         reg-names = "nand", "nand-int-base";
  451                         interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  452                         interrupt-names = "nand";
  453                         status = "okay";
  454 
  455                         nandcs: nand@0 {
  456                                 compatible = "brcm,nandcs";
  457                                 reg = <0>;
  458                         };
  459                 };
  460 
  461                 i2c@2100 {
  462                         compatible = "brcm,brcmper-i2c";
  463                         reg = <0x2100 0x58>;
  464                         clock-frequency = <97500>;
  465                         pinctrl-names = "default";
  466                         pinctrl-0 = <&pins_i2c_a>;
  467                         status = "disabled";
  468                 };
  469 
  470                 misc@2600 {
  471                         compatible = "brcm,misc", "simple-mfd";
  472                         reg = <0x2600 0xe4>;
  473 
  474                         #address-cells = <1>;
  475                         #size-cells = <1>;
  476                         ranges = <0x00 0x2600 0xe4>;
  477 
  478                         reset-controller@2644 {
  479                                 compatible = "brcm,bcm4908-misc-pcie-reset";
  480                                 reg = <0x44 0x04>;
  481                                 #reset-cells = <1>;
  482                         };
  483                 };
  484         };
  485 
  486         reboot {
  487                 compatible = "syscon-reboot";
  488                 regmap = <&twd>;
  489                 offset = <0x34>;
  490                 mask = <1>;
  491         };
  492 };

Cache object: 0af7308cfad738682f924b7e920990a2


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