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-miqi.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) 2016 Heiko Stuebner <heiko@sntech.de>
    4  */
    5 
    6 /dts-v1/;
    7 #include <dt-bindings/input/input.h>
    8 #include "rk3288.dtsi"
    9 
   10 / {
   11         model = "mqmaker MiQi";
   12         compatible = "mqmaker,miqi", "rockchip,rk3288";
   13 
   14         chosen {
   15                 stdout-path = "serial2:115200n8";
   16         };
   17 
   18         memory@0 {
   19                 device_type = "memory";
   20                 reg = <0x0 0x0 0x0 0x80000000>;
   21         };
   22 
   23         ext_gmac: external-gmac-clock {
   24                 compatible = "fixed-clock";
   25                 #clock-cells = <0>;
   26                 clock-frequency = <125000000>;
   27                 clock-output-names = "ext_gmac";
   28         };
   29 
   30         leds {
   31                 compatible = "gpio-leds";
   32 
   33                 work_led: led-0 {
   34                         gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>;
   35                         label = "miqi:green:user";
   36                         linux,default-trigger = "timer";
   37                 };
   38         };
   39 
   40         vcc_flash: flash-regulator {
   41                 compatible = "regulator-fixed";
   42                 regulator-name = "vcc_flash";
   43                 regulator-min-microvolt = <1800000>;
   44                 regulator-max-microvolt = <1800000>;
   45                 vin-supply = <&vcc_io>;
   46         };
   47 
   48         vcc_host: usb-host-regulator {
   49                 compatible = "regulator-fixed";
   50                 enable-active-high;
   51                 gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
   52                 pinctrl-names = "default";
   53                 pinctrl-0 = <&host_vbus_drv>;
   54                 regulator-name = "vcc_host";
   55                 regulator-min-microvolt = <5000000>;
   56                 regulator-max-microvolt = <5000000>;
   57                 regulator-always-on;
   58                 vin-supply = <&vcc_sys>;
   59         };
   60 
   61         vcc_sd: sdmmc-regulator {
   62                 compatible = "regulator-fixed";
   63                 gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
   64                 pinctrl-names = "default";
   65                 pinctrl-0 = <&sdmmc_pwr>;
   66                 regulator-name = "vcc_sd";
   67                 regulator-min-microvolt = <3300000>;
   68                 regulator-max-microvolt = <3300000>;
   69                 startup-delay-us = <100000>;
   70                 vin-supply = <&vcc_io>;
   71         };
   72 
   73         vcc_sys: vsys-regulator {
   74                 compatible = "regulator-fixed";
   75                 regulator-name = "vcc_sys";
   76                 regulator-min-microvolt = <5000000>;
   77                 regulator-max-microvolt = <5000000>;
   78                 regulator-always-on;
   79                 regulator-boot-on;
   80         };
   81 };
   82 
   83 &cpu0 {
   84         cpu-supply = <&vdd_cpu>;
   85 };
   86 
   87 &cpu1 {
   88         cpu-supply = <&vdd_cpu>;
   89 };
   90 
   91 &cpu2 {
   92         cpu-supply = <&vdd_cpu>;
   93 };
   94 
   95 &cpu3 {
   96         cpu-supply = <&vdd_cpu>;
   97 };
   98 
   99 &emmc {
  100         bus-width = <8>;
  101         cap-mmc-highspeed;
  102         non-removable;
  103         pinctrl-names = "default";
  104         pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
  105         vmmc-supply = <&vcc_io>;
  106         vqmmc-supply = <&vcc_flash>;
  107         status = "okay";
  108 };
  109 
  110 &gmac {
  111         assigned-clocks = <&cru SCLK_MAC>;
  112         assigned-clock-parents = <&ext_gmac>;
  113         clock_in_out = "input";
  114         pinctrl-names = "default";
  115         pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
  116         phy-supply = <&vcc_lan>;
  117         phy-mode = "rgmii";
  118         snps,reset-active-low;
  119         snps,reset-delays-us = <0 10000 1000000>;
  120         snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
  121         tx_delay = <0x30>;
  122         rx_delay = <0x10>;
  123         status = "okay";
  124 };
  125 
  126 &gpu {
  127         mali-supply = <&vdd_gpu>;
  128         status = "okay";
  129 };
  130 
  131 &hdmi {
  132         ddc-i2c-bus = <&i2c5>;
  133         status = "okay";
  134 };
  135 
  136 &i2c0 {
  137         clock-frequency = <400000>;
  138         status = "okay";
  139 
  140         vdd_cpu: syr827@40 {
  141                 compatible = "silergy,syr827";
  142                 fcs,suspend-voltage-selector = <1>;
  143                 reg = <0x40>;
  144                 regulator-name = "vdd_cpu";
  145                 regulator-min-microvolt = <850000>;
  146                 regulator-max-microvolt = <1350000>;
  147                 regulator-always-on;
  148                 regulator-boot-on;
  149                 regulator-enable-ramp-delay = <300>;
  150                 regulator-ramp-delay = <8000>;
  151                 vin-supply = <&vcc_sys>;
  152         };
  153 
  154         vdd_gpu: syr828@41 {
  155                 compatible = "silergy,syr828";
  156                 fcs,suspend-voltage-selector = <1>;
  157                 reg = <0x41>;
  158                 regulator-name = "vdd_gpu";
  159                 regulator-min-microvolt = <850000>;
  160                 regulator-max-microvolt = <1350000>;
  161                 regulator-always-on;
  162                 vin-supply = <&vcc_sys>;
  163         };
  164 
  165         hym8563: hym8563@51 {
  166                 compatible = "haoyu,hym8563";
  167                 reg = <0x51>;
  168                 #clock-cells = <0>;
  169                 clock-frequency = <32768>;
  170                 clock-output-names = "xin32k";
  171         };
  172 
  173         act8846: act8846@5a {
  174                 compatible = "active-semi,act8846";
  175                 reg = <0x5a>;
  176                 pinctrl-names = "default";
  177                 pinctrl-0 = <&pmic_vsel>;
  178                 system-power-controller;
  179 
  180                 vp1-supply = <&vcc_sys>;
  181                 vp2-supply = <&vcc_sys>;
  182                 vp3-supply = <&vcc_sys>;
  183                 vp4-supply = <&vcc_sys>;
  184                 inl1-supply = <&vcc_sys>;
  185                 inl2-supply = <&vcc_sys>;
  186                 inl3-supply = <&vcc_20>;
  187 
  188                 regulators {
  189                         vcc_ddr: REG1 {
  190                                 regulator-name = "vcc_ddr";
  191                                 regulator-always-on;
  192                         };
  193 
  194                         vcc_io: REG2 {
  195                                 regulator-name = "vcc_io";
  196                                 regulator-min-microvolt = <3300000>;
  197                                 regulator-max-microvolt = <3300000>;
  198                                 regulator-always-on;
  199                         };
  200 
  201                         vdd_log: REG3 {
  202                                 regulator-name = "vdd_log";
  203                                 regulator-min-microvolt = <1100000>;
  204                                 regulator-max-microvolt = <1100000>;
  205                                 regulator-always-on;
  206                         };
  207 
  208                         vcc_20: REG4 {
  209                                 regulator-name = "vcc_20";
  210                                 regulator-min-microvolt = <2000000>;
  211                                 regulator-max-microvolt = <2000000>;
  212                                 regulator-always-on;
  213                         };
  214 
  215                         vccio_sd: REG5 {
  216                                 regulator-name = "vccio_sd";
  217                                 regulator-min-microvolt = <3300000>;
  218                                 regulator-max-microvolt = <3300000>;
  219                                 regulator-always-on;
  220                         };
  221 
  222                         vdd10_lcd: REG6 {
  223                                 regulator-name = "vdd10_lcd";
  224                                 regulator-min-microvolt = <1000000>;
  225                                 regulator-max-microvolt = <1000000>;
  226                                 regulator-always-on;
  227                         };
  228 
  229                         vcca_18: REG7 {
  230                                 regulator-name = "vcca_18";
  231                                 regulator-min-microvolt = <1800000>;
  232                                 regulator-max-microvolt = <1800000>;
  233                         };
  234 
  235                         vcca_33: REG8 {
  236                                 regulator-name = "vcca_33";
  237                                 regulator-min-microvolt = <3300000>;
  238                                 regulator-max-microvolt = <3300000>;
  239                         };
  240 
  241                         vcc_lan: REG9 {
  242                                 regulator-name = "vcc_lan";
  243                                 regulator-min-microvolt = <3300000>;
  244                                 regulator-max-microvolt = <3300000>;
  245                         };
  246 
  247                         vdd_10: REG10 {
  248                                 regulator-name = "vdd_10";
  249                                 regulator-min-microvolt = <1000000>;
  250                                 regulator-max-microvolt = <1000000>;
  251                                 regulator-always-on;
  252                         };
  253 
  254                         vcc_18: REG11 {
  255                                 regulator-name = "vcc_18";
  256                                 regulator-min-microvolt = <1800000>;
  257                                 regulator-max-microvolt = <1800000>;
  258                                 regulator-always-on;
  259                         };
  260 
  261                         vcc18_lcd: REG12 {
  262                                 regulator-name = "vcc18_lcd";
  263                                 regulator-min-microvolt = <1800000>;
  264                                 regulator-max-microvolt = <1800000>;
  265                                 regulator-always-on;
  266                         };
  267                 };
  268         };
  269 };
  270 
  271 &i2c1 {
  272         status = "okay";
  273 };
  274 
  275 &i2c2 {
  276         status = "okay";
  277 };
  278 
  279 &i2c4 {
  280         status = "okay";
  281 };
  282 
  283 &i2c5 {
  284         status = "okay";
  285 };
  286 
  287 &io_domains {
  288         status = "okay";
  289 
  290         audio-supply = <&vcca_33>;
  291         flash0-supply = <&vcc_flash>;
  292         flash1-supply = <&vcc_lan>;
  293         gpio30-supply = <&vcc_io>;
  294         gpio1830-supply = <&vcc_io>;
  295         lcdc-supply = <&vcc_io>;
  296         sdcard-supply = <&vccio_sd>;
  297         wifi-supply = <&vcc_18>;
  298 };
  299 
  300 &pinctrl {
  301         pcfg_output_high: pcfg-output-high {
  302                 output-high;
  303         };
  304 
  305         pcfg_output_low: pcfg-output-low {
  306                 output-low;
  307         };
  308 
  309         pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma {
  310                 bias-pull-up;
  311                 drive-strength = <12>;
  312         };
  313 
  314         act8846 {
  315                 pmic_int: pmic-int {
  316                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
  317                 };
  318 
  319                 pmic_sleep: pmic-sleep {
  320                         rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_output_low>;
  321                 };
  322 
  323                 pmic_vsel: pmic-vsel {
  324                         rockchip,pins = <7 RK_PA1 RK_FUNC_GPIO &pcfg_output_low>;
  325                 };
  326         };
  327 
  328         gmac {
  329                 phy_int: phy-int {
  330                         rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
  331                 };
  332 
  333                 phy_pmeb: phy-pmeb {
  334                         rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
  335                 };
  336 
  337                 phy_rst: phy-rst {
  338                         rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
  339                 };
  340         };
  341 
  342         sdmmc {
  343                 /*
  344                  * Default drive strength isn't enough to achieve even
  345                  * high-speed mode on firefly board so bump up to 12ma.
  346                  */
  347                 sdmmc_bus4: sdmmc-bus4 {
  348                         rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>,
  349                                         <6 RK_PC1 1 &pcfg_pull_up_drv_12ma>,
  350                                         <6 RK_PC2 1 &pcfg_pull_up_drv_12ma>,
  351                                         <6 RK_PC3 1 &pcfg_pull_up_drv_12ma>;
  352                 };
  353 
  354                 sdmmc_clk: sdmmc-clk {
  355                         rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>;
  356                 };
  357 
  358                 sdmmc_cmd: sdmmc-cmd {
  359                         rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>;
  360                 };
  361 
  362                 sdmmc_pwr: sdmmc-pwr {
  363                         rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  364                 };
  365         };
  366 
  367         usb_host {
  368                 host_vbus_drv: host-vbus-drv {
  369                         rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
  370                 };
  371         };
  372 };
  373 
  374 &saradc {
  375         vref-supply = <&vcc_18>;
  376         status = "okay";
  377 };
  378 
  379 &sdmmc {
  380         bus-width = <4>;
  381         cap-mmc-highspeed;
  382         cap-sd-highspeed;
  383         card-detect-delay = <200>;
  384         disable-wp;
  385         pinctrl-names = "default";
  386         pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
  387         vmmc-supply = <&vcc_sd>;
  388         vqmmc-supply = <&vccio_sd>;
  389         status = "okay";
  390 };
  391 
  392 &tsadc {
  393         rockchip,hw-tshut-mode = <0>;
  394         rockchip,hw-tshut-polarity = <0>;
  395         status = "okay";
  396 };
  397 
  398 &uart2 {
  399         status = "okay";
  400 };
  401 
  402 &uart3 {
  403         status = "okay";
  404 };
  405 
  406 &usbphy {
  407         status = "okay";
  408 };
  409 
  410 &usb_host1 {
  411         status = "okay";
  412 };
  413 
  414 &usb_otg {
  415         /*
  416          * The otg controller is the only system power source,
  417          * so needs to always stay in device mode.
  418          */
  419         dr_mode = "peripheral";
  420         status = "okay";
  421 };
  422 
  423 &vopb {
  424         status = "okay";
  425 };
  426 
  427 &vopb_mmu {
  428         status = "okay";
  429 };
  430 
  431 &vopl {
  432         status = "okay";
  433 };
  434 
  435 &vopl_mmu {
  436         status = "okay";
  437 };
  438 
  439 &wdt {
  440         status = "okay";
  441 };

Cache object: 8bb2fbf96613760ca3dc4dcc75f774d6


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