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


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

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/rk3288-popmetal.dts

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

    1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
    2 /*
    3  * Copyright (c) 2014, 2015 Andy Yan <andy.yan@rock-chips.com>
    4  */
    5 
    6 /dts-v1/;
    7 #include <dt-bindings/input/input.h>
    8 #include "rk3288.dtsi"
    9 
   10 / {
   11         model = "PopMetal-RK3288";
   12         compatible = "chipspark,popmetal-rk3288", "rockchip,rk3288";
   13 
   14         memory@0 {
   15                 device_type = "memory";
   16                 reg = <0x0 0x0 0x0 0x80000000>;
   17         };
   18 
   19         ext_gmac: external-gmac-clock {
   20                 compatible = "fixed-clock";
   21                 clock-frequency = <125000000>;
   22                 clock-output-names = "ext_gmac";
   23                 #clock-cells = <0>;
   24         };
   25 
   26         gpio-keys {
   27                 compatible = "gpio-keys";
   28                 autorepeat;
   29 
   30                 pinctrl-names = "default";
   31                 pinctrl-0 = <&pwrbtn>;
   32 
   33                 key-power {
   34                         gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
   35                         linux,code = <KEY_POWER>;
   36                         label = "GPIO Key Power";
   37                         linux,input-type = <1>;
   38                         wakeup-source;
   39                         debounce-interval = <100>;
   40                 };
   41         };
   42 
   43         ir: ir-receiver {
   44                 compatible = "gpio-ir-receiver";
   45                 gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
   46                 pinctrl-names = "default";
   47                 pinctrl-0 = <&ir_int>;
   48         };
   49 
   50         vcc_flash: flash-regulator {
   51                 compatible = "regulator-fixed";
   52                 regulator-name = "vcc_flash";
   53                 regulator-min-microvolt = <1800000>;
   54                 regulator-max-microvolt = <1800000>;
   55                 vin-supply = <&vcc_io>;
   56         };
   57 
   58         vcc_sd: sdmmc-regulator {
   59                 compatible = "regulator-fixed";
   60                 gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
   61                 pinctrl-names = "default";
   62                 pinctrl-0 = <&sdmmc_pwr>;
   63                 regulator-name = "vcc_sd";
   64                 regulator-min-microvolt = <3300000>;
   65                 regulator-max-microvolt = <3300000>;
   66                 startup-delay-us = <100000>;
   67                 vin-supply = <&vcc_io>;
   68         };
   69 
   70         vcc_sys: vsys-regulator {
   71                 compatible = "regulator-fixed";
   72                 regulator-name = "vcc_sys";
   73                 regulator-min-microvolt = <5000000>;
   74                 regulator-max-microvolt = <5000000>;
   75                 regulator-always-on;
   76                 regulator-boot-on;
   77         };
   78 
   79         /*
   80          * A PT5128 creates both dovdd_1v8 and vcc28_dvp, controlled
   81          * by the dvp_pwr pin.
   82          */
   83         vcc18_dvp: vcc18-dvp-regulator {
   84                 compatible = "regulator-fixed";
   85                 regulator-name = "vcc18-dvp";
   86                 regulator-min-microvolt = <1800000>;
   87                 regulator-max-microvolt = <1800000>;
   88                 vin-supply = <&vcc28_dvp>;
   89         };
   90 
   91         vcc28_dvp: vcc28-dvp-regulator {
   92                 compatible = "regulator-fixed";
   93                 enable-active-high;
   94                 gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
   95                 pinctrl-names = "default";
   96                 pinctrl-0 = <&dvp_pwr>;
   97                 regulator-name = "vcc28_dvp";
   98                 regulator-min-microvolt = <2800000>;
   99                 regulator-max-microvolt = <2800000>;
  100                 regulator-always-on;
  101                 vin-supply = <&vcc_io>;
  102         };
  103 };
  104 
  105 &cpu0 {
  106         cpu-supply = <&vdd_cpu>;
  107 };
  108 
  109 &cpu1 {
  110         cpu-supply = <&vdd_cpu>;
  111 };
  112 
  113 &cpu2 {
  114         cpu-supply = <&vdd_cpu>;
  115 };
  116 
  117 &cpu3 {
  118         cpu-supply = <&vdd_cpu>;
  119 };
  120 
  121 &emmc {
  122         bus-width = <8>;
  123         cap-mmc-highspeed;
  124         mmc-ddr-1_8v;
  125         mmc-hs200-1_8v;
  126         non-removable;
  127         pinctrl-names = "default";
  128         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
  129         vmmc-supply = <&vcc_io>;
  130         vqmmc-supply = <&vcc_flash>;
  131         status = "okay";
  132 };
  133 
  134 &sdmmc {
  135         bus-width = <4>;
  136         cap-mmc-highspeed;
  137         cap-sd-highspeed;
  138         card-detect-delay = <200>;
  139         disable-wp;                     /* wp not hooked up */
  140         pinctrl-names = "default";
  141         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
  142         sd-uhs-sdr12;
  143         sd-uhs-sdr25;
  144         sd-uhs-sdr50;
  145         sd-uhs-sdr104;
  146         vmmc-supply = <&vcc_sd>;
  147         vqmmc-supply = <&vccio_sd>;
  148         status = "okay";
  149 };
  150 
  151 &gmac {
  152         phy-supply = <&vcc_lan>;
  153         phy-mode = "rgmii";
  154         clock_in_out = "input";
  155         snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
  156         snps,reset-active-low;
  157         snps,reset-delays-us = <0 10000 1000000>;
  158         assigned-clocks = <&cru SCLK_MAC>;
  159         assigned-clock-parents = <&ext_gmac>;
  160         pinctrl-names = "default";
  161         pinctrl-0 = <&rgmii_pins>;
  162         tx_delay = <0x30>;
  163         rx_delay = <0x10>;
  164         status = "okay";
  165 };
  166 
  167 &hdmi {
  168         ddc-i2c-bus = <&i2c5>;
  169         status = "okay";
  170 };
  171 
  172 &i2c0 {
  173         status = "okay";
  174         clock-frequency = <400000>;
  175 
  176         rk808: pmic@1b {
  177                 compatible = "rockchip,rk808";
  178                 reg = <0x1b>;
  179                 interrupt-parent = <&gpio0>;
  180                 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
  181                 pinctrl-names = "default";
  182                 pinctrl-0 = <&pmic_int &global_pwroff>;
  183                 rockchip,system-power-controller;
  184                 wakeup-source;
  185                 #clock-cells = <1>;
  186                 clock-output-names = "xin32k", "rk808-clkout2";
  187 
  188                 vcc1-supply = <&vcc_sys>;
  189                 vcc2-supply = <&vcc_sys>;
  190                 vcc3-supply = <&vcc_sys>;
  191                 vcc4-supply = <&vcc_sys>;
  192                 vcc6-supply = <&vcc_sys>;
  193                 vcc7-supply = <&vcc_sys>;
  194                 vcc8-supply = <&vcc_18>;
  195                 vcc9-supply = <&vcc_io>;
  196                 vcc10-supply = <&vcc_io>;
  197                 vcc11-supply = <&vcc_sys>;
  198                 vcc12-supply = <&vcc_io>;
  199                 vddio-supply = <&vcc_io>;
  200 
  201                 regulators {
  202                         vdd_cpu: DCDC_REG1 {
  203                                 regulator-always-on;
  204                                 regulator-boot-on;
  205                                 regulator-min-microvolt = <750000>;
  206                                 regulator-max-microvolt = <1350000>;
  207                                 regulator-name = "vdd_arm";
  208                                 regulator-state-mem {
  209                                         regulator-off-in-suspend;
  210                                 };
  211                         };
  212 
  213                         vdd_gpu: DCDC_REG2 {
  214                                 regulator-always-on;
  215                                 regulator-boot-on;
  216                                 regulator-min-microvolt = <850000>;
  217                                 regulator-max-microvolt = <1250000>;
  218                                 regulator-name = "vdd_gpu";
  219                                 regulator-state-mem {
  220                                         regulator-on-in-suspend;
  221                                         regulator-suspend-microvolt = <1000000>;
  222                                 };
  223                         };
  224 
  225                         vcc_ddr: DCDC_REG3 {
  226                                 regulator-always-on;
  227                                 regulator-boot-on;
  228                                 regulator-name = "vcc_ddr";
  229                                 regulator-state-mem {
  230                                         regulator-on-in-suspend;
  231                                 };
  232                         };
  233 
  234                         vcc_io: DCDC_REG4 {
  235                                 regulator-always-on;
  236                                 regulator-boot-on;
  237                                 regulator-min-microvolt = <3300000>;
  238                                 regulator-max-microvolt = <3300000>;
  239                                 regulator-name = "vcc_io";
  240                                 regulator-state-mem {
  241                                         regulator-on-in-suspend;
  242                                         regulator-suspend-microvolt = <3300000>;
  243                                 };
  244                         };
  245 
  246                         vcc_lan: LDO_REG1 {
  247                                 regulator-always-on;
  248                                 regulator-boot-on;
  249                                 regulator-min-microvolt = <3300000>;
  250                                 regulator-max-microvolt = <3300000>;
  251                                 regulator-name = "vcc_lan";
  252                                 regulator-state-mem {
  253                                         regulator-on-in-suspend;
  254                                         regulator-suspend-microvolt = <3300000>;
  255                                 };
  256                         };
  257 
  258                         vccio_sd: LDO_REG2 {
  259                                 regulator-always-on;
  260                                 regulator-boot-on;
  261                                 regulator-min-microvolt = <1800000>;
  262                                 regulator-max-microvolt = <3300000>;
  263                                 regulator-name = "vccio_sd";
  264                                 regulator-state-mem {
  265                                         regulator-off-in-suspend;
  266                                 };
  267                         };
  268 
  269                         vdd_10: LDO_REG3 {
  270                                 regulator-always-on;
  271                                 regulator-boot-on;
  272                                 regulator-min-microvolt = <1000000>;
  273                                 regulator-max-microvolt = <1000000>;
  274                                 regulator-name = "vdd_10";
  275                                 regulator-state-mem {
  276                                         regulator-on-in-suspend;
  277                                         regulator-suspend-microvolt = <1000000>;
  278                                 };
  279                         };
  280 
  281                         vcc18_lcd: LDO_REG4 {
  282                                 regulator-always-on;
  283                                 regulator-boot-on;
  284                                 regulator-min-microvolt = <1800000>;
  285                                 regulator-max-microvolt = <1800000>;
  286                                 regulator-name = "vcc18_lcd";
  287                                 regulator-state-mem {
  288                                         regulator-on-in-suspend;
  289                                         regulator-suspend-microvolt = <1800000>;
  290                                 };
  291                         };
  292 
  293                         ldo5: LDO_REG5 {
  294                                 regulator-always-on;
  295                                 regulator-min-microvolt = <1800000>;
  296                                 regulator-max-microvolt = <3300000>;
  297                                 regulator-name = "ldo5";
  298                         };
  299 
  300                         vdd10_lcd: LDO_REG6 {
  301                                 regulator-always-on;
  302                                 regulator-boot-on;
  303                                 regulator-min-microvolt = <1000000>;
  304                                 regulator-max-microvolt = <1000000>;
  305                                 regulator-name = "vdd10_lcd";
  306                                 regulator-state-mem {
  307                                         regulator-on-in-suspend;
  308                                         regulator-suspend-microvolt = <1000000>;
  309                                 };
  310                         };
  311 
  312                         vcc_18: LDO_REG7 {
  313                                 regulator-always-on;
  314                                 regulator-boot-on;
  315                                 regulator-min-microvolt = <1800000>;
  316                                 regulator-max-microvolt = <1800000>;
  317                                 regulator-name = "vcc_18";
  318                                 regulator-state-mem {
  319                                         regulator-on-in-suspend;
  320                                         regulator-suspend-microvolt = <1800000>;
  321                                 };
  322                         };
  323 
  324                         vcca_33: LDO_REG8 {
  325                                 regulator-always-on;
  326                                 regulator-boot-on;
  327                                 regulator-min-microvolt = <3300000>;
  328                                 regulator-max-microvolt = <3300000>;
  329                                 regulator-name = "vcca_33";
  330                                 regulator-state-mem {
  331                                         regulator-on-in-suspend;
  332                                         regulator-suspend-microvolt = <3300000>;
  333                                 };
  334                         };
  335 
  336                         vccio_wl: SWITCH_REG1 {
  337                                 regulator-always-on;
  338                                 regulator-boot-on;
  339                                 regulator-name = "vccio_wl";
  340                                 regulator-state-mem {
  341                                         regulator-on-in-suspend;
  342                                 };
  343                         };
  344 
  345                         vcc_lcd: SWITCH_REG2 {
  346                                 regulator-always-on;
  347                                 regulator-boot-on;
  348                                 regulator-name = "vcc_lcd";
  349                                 regulator-state-mem {
  350                                         regulator-on-in-suspend;
  351                                 };
  352                         };
  353                 };
  354         };
  355 };
  356 
  357 &i2c1 {
  358         status = "okay";
  359         clock-frequency = <400000>;
  360 
  361         ak8963: ak8963@d {
  362                 compatible = "asahi-kasei,ak8975";
  363                 reg = <0x0d>;
  364                 interrupt-parent = <&gpio8>;
  365                 interrupts = <RK_PA1 IRQ_TYPE_EDGE_RISING>;
  366                 pinctrl-names = "default";
  367                 pinctrl-0 = <&comp_int>;
  368                 vdd-supply = <&vcc_io>;
  369                 vid-supply = <&vcc_io>;
  370         };
  371 
  372         l3g4200d: l3g4200d@69 {
  373                 compatible = "st,l3g4200d-gyro";
  374                 st,drdy-int-pin = <2>;
  375                 reg = <0x69>;
  376                 vdd-supply = <&vcc_io>;
  377                 vddio-supply = <&vcc_io>;
  378         };
  379 
  380         mma8452: mma8452@1d {
  381                 compatible = "fsl,mma8452";
  382                 reg = <0x1d>;
  383                 interrupt-parent = <&gpio8>;
  384                 interrupts = <RK_PA0 IRQ_TYPE_EDGE_RISING>;
  385                 pinctrl-names = "default";
  386                 pinctrl-0 = <&gsensor_int>;
  387         };
  388 };
  389 
  390 &i2c2 {
  391         status = "okay";
  392 };
  393 
  394 &i2c3 {
  395         status = "okay";
  396 };
  397 
  398 &i2c4 {
  399         status = "okay";
  400 };
  401 
  402 &i2c5 {
  403         status = "okay";
  404 };
  405 
  406 &io_domains {
  407         status = "okay";
  408 
  409         audio-supply = <&vcca_33>;
  410         bb-supply = <&vcc_io>;
  411         dvp-supply = <&vcc18_dvp>;
  412         flash0-supply = <&vcc_flash>;
  413         flash1-supply = <&vcc_lan>;
  414         gpio30-supply = <&vcc_io>;
  415         gpio1830-supply = <&vcc_io>;
  416         lcdc-supply = <&vcc_io>;
  417         sdcard-supply = <&vccio_sd>;
  418         wifi-supply = <&vccio_wl>;
  419 };
  420 
  421 &pinctrl {
  422         ak8963 {
  423                 comp_int: comp-int {
  424                         rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
  425                 };
  426         };
  427 
  428         buttons {
  429                 pwrbtn: pwrbtn {
  430                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
  431                 };
  432         };
  433 
  434         dvp {
  435                 dvp_pwr: dvp-pwr {
  436                         rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
  437                 };
  438         };
  439 
  440         ir {
  441                 ir_int: ir-int {
  442                         rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
  443                 };
  444         };
  445 
  446         mma8452 {
  447                 gsensor_int: gsensor-int {
  448                         rockchip,pins = <8 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
  449                 };
  450         };
  451 
  452         pmic {
  453                 pmic_int: pmic-int {
  454                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
  455                 };
  456         };
  457 
  458         sdmmc {
  459                 sdmmc_pwr: sdmmc-pwr {
  460                         rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  461                 };
  462         };
  463 };
  464 
  465 &tsadc {
  466         rockchip,hw-tshut-mode = <0>;
  467         rockchip,hw-tshut-polarity = <0>;
  468         status = "okay";
  469 };
  470 
  471 &vopb {
  472         status = "okay";
  473 };
  474 
  475 &vopb_mmu {
  476         status = "okay";
  477 };
  478 
  479 &vopl {
  480         status = "okay";
  481 };
  482 
  483 &vopl_mmu {
  484         status = "okay";
  485 };
  486 
  487 &uart0 {
  488         status = "okay";
  489 };
  490 
  491 &uart1 {
  492         status = "okay";
  493 };
  494 
  495 &uart2 {
  496         status = "okay";
  497 };
  498 
  499 &uart3 {
  500         status = "okay";
  501 };
  502 
  503 &uart4 {
  504         status = "okay";
  505 };
  506 
  507 &usbphy {
  508         status = "okay";
  509 };
  510 
  511 &usb_otg {
  512         status = "okay";
  513 };

Cache object: 3e543a3302b1f6d63057bc0aa995176c


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