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/qcom-apq8060-dragonboard.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 BSD-2-Clause)
    2 #include <dt-bindings/input/input.h>
    3 #include <dt-bindings/gpio/gpio.h>
    4 #include <dt-bindings/leds/common.h>
    5 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
    6 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
    7 #include "qcom-msm8660.dtsi"
    8 
    9 / {
   10         model = "Qualcomm APQ8060 Dragonboard";
   11         compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
   12 
   13         aliases {
   14                 serial0 = &gsbi12_serial;
   15         };
   16 
   17         chosen {
   18                 stdout-path = "serial0:115200n8";
   19         };
   20 
   21         regulators {
   22                 compatible = "simple-bus";
   23 
   24                 /* Main power of the board: 3.7V */
   25                 vph: regulator-fixed {
   26                         compatible = "regulator-fixed";
   27                         regulator-min-microvolt = <3700000>;
   28                         regulator-max-microvolt = <3700000>;
   29                         regulator-name = "VPH";
   30                         regulator-type = "voltage";
   31                         regulator-always-on;
   32                         regulator-boot-on;
   33                 };
   34 
   35                 /* GPIO controlled ethernet power regulator */
   36                 dragon_veth: xc622a331mrg {
   37                         compatible = "regulator-fixed";
   38                         regulator-name = "XC6222A331MR-G";
   39                         regulator-min-microvolt = <3300000>;
   40                         regulator-max-microvolt = <3300000>;
   41                         vin-supply = <&vph>;
   42                         gpio = <&pm8058_gpio 40 GPIO_ACTIVE_HIGH>;
   43                         enable-active-high;
   44                         pinctrl-names = "default";
   45                         pinctrl-0 = <&dragon_veth_gpios>;
   46                         regulator-always-on;
   47                 };
   48 
   49                 /* VDDvario fixed regulator */
   50                 dragon_vario: nds332p {
   51                         compatible = "regulator-fixed";
   52                         regulator-name = "NDS332P";
   53                         regulator-min-microvolt = <1800000>;
   54                         regulator-max-microvolt = <1800000>;
   55                         vin-supply = <&pm8058_s3>;
   56                 };
   57 
   58                 /* This is a levelshifter for SDCC5 */
   59                 dragon_vio_txb: txb0104rgyr {
   60                         compatible = "regulator-fixed";
   61                         regulator-name = "Dragon SDCC levelshifter";
   62                         vin-supply = <&pm8058_l14>;
   63                         regulator-always-on;
   64                 };
   65         };
   66 
   67         /*
   68          * Capella CM3605 light and proximity sensor mounted directly
   69          * on the sensor board.
   70          */
   71         cm3605 {
   72                 compatible = "capella,cm3605";
   73                 vdd-supply = <&pm8058_l14>; // 2.85V
   74                 aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>;
   75                 capella,aset-resistance-ohms = <100000>;
   76                 /* Trig on both edges - getting close or far away */
   77                 interrupts-extended = <&pm8058_gpio 34 IRQ_TYPE_EDGE_BOTH>;
   78                 /* MPP05 analog input to the XOADC */
   79                 io-channels = <&xoadc 0x00 0x05>;
   80                 io-channel-names = "aout";
   81                 pinctrl-names = "default";
   82                 pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
   83         };
   84 
   85         soc {
   86                 pinctrl@800000 {
   87                         /* eMMC pins, all 8 data lines connected */
   88                         dragon_sdcc1_pins: sdcc1 {
   89                                 mux {
   90                                         pins = "gpio159", "gpio160", "gpio161",
   91                                              "gpio162", "gpio163", "gpio164",
   92                                              "gpio165", "gpio166", "gpio167",
   93                                              "gpio168";
   94                                              function = "sdc1";
   95                                 };
   96                                 clk {
   97                                         pins = "gpio167"; /* SDC1 CLK */
   98                                         drive-strength = <16>;
   99                                         bias-disable;
  100                                 };
  101                                 cmd {
  102                                         pins = "gpio168"; /* SDC1 CMD */
  103                                         drive-strength = <10>;
  104                                         bias-pull-up;
  105                                 };
  106                                 data {
  107                                         /* SDC1 D0 to D7 */
  108                                         pins = "gpio159", "gpio160", "gpio161", "gpio162",
  109                                              "gpio163", "gpio164", "gpio165", "gpio166";
  110                                         drive-strength = <10>;
  111                                         bias-pull-up;
  112                                 };
  113                         };
  114 
  115                         /*
  116                          * The SDCC3 pins are hardcoded (non-muxable) but need some pin
  117                          * configuration.
  118                          */
  119                         dragon_sdcc3_pins: sdcc3 {
  120                                 clk {
  121                                         pins = "sdc3_clk";
  122                                         drive-strength = <8>;
  123                                         bias-disable;
  124                                 };
  125                                 cmd {
  126                                         pins = "sdc3_cmd";
  127                                         drive-strength = <8>;
  128                                         bias-pull-up;
  129                                 };
  130                                 data {
  131                                         pins = "sdc3_data";
  132                                         drive-strength = <8>;
  133                                         bias-pull-up;
  134                                 };
  135                         };
  136 
  137                         /* Second SD card slot pins */
  138                         dragon_sdcc5_pins: sdcc5 {
  139                                 mux {
  140                                         pins = "gpio95", "gpio96", "gpio97",
  141                                             "gpio98", "gpio99", "gpio100";
  142                                         function = "sdc5";
  143                                 };
  144                                 clk {
  145                                         pins = "gpio97"; /* SDC5 CLK */
  146                                         drive-strength = <16>;
  147                                         bias-disable;
  148                                 };
  149                                 cmd {
  150                                         pins = "gpio95"; /* SDC5 CMD */
  151                                         drive-strength = <10>;
  152                                         bias-pull-up;
  153                                 };
  154                                 data {
  155                                         /* SDC5 D0 to D3 */
  156                                         pins = "gpio96", "gpio98", "gpio99", "gpio100";
  157                                         drive-strength = <10>;
  158                                         bias-pull-up;
  159                                 };
  160                         };
  161 
  162                         dragon_gsbi8_i2c_pins: gsbi8_i2c {
  163                                 mux {
  164                                         pins = "gpio64", "gpio65";
  165                                         function = "gsbi8";
  166                                 };
  167                                 pinconf {
  168                                         pins = "gpio64", "gpio65";
  169                                         drive-strength = <16>;
  170                                         /* These have external pull-up 2.2kOhm to 1.8V */
  171                                         bias-disable;
  172                                 };
  173                         };
  174 
  175                         dragon_gsbi12_i2c_pins: gsbi12_i2c {
  176                                 mux {
  177                                         pins = "gpio115", "gpio116";
  178                                         function = "gsbi12";
  179                                 };
  180                                 pinconf {
  181                                         pins = "gpio115", "gpio116";
  182                                         drive-strength = <16>;
  183                                         /* These have external pull-up 4.7kOhm to 1.8V */
  184                                         bias-disable;
  185                                 };
  186                         };
  187 
  188                         /* Primary serial port uart 0 pins */
  189                         dragon_gsbi12_serial_pins: gsbi12_serial {
  190                                 mux {
  191                                         pins = "gpio117", "gpio118";
  192                                         function = "gsbi12";
  193                                 };
  194                                 tx {
  195                                         pins = "gpio117";
  196                                         drive-strength = <8>;
  197                                         bias-disable;
  198                                 };
  199                                 rx {
  200                                         pins = "gpio118";
  201                                         drive-strength = <2>;
  202                                         bias-pull-up;
  203                                 };
  204                         };
  205 
  206                         dragon_ebi2_pins: ebi2 {
  207                                 /*
  208                                  * Pins used by EBI2 on the Dragonboard, actually only
  209                                  * CS2 is used by a real peripheral. CS0 is just
  210                                  * routed to a test point.
  211                                  */
  212                                 mux0 {
  213                                         pins =
  214                                             /* "gpio39", CS1A_N this is not good to mux */
  215                                             "gpio40", /* CS2A_N */
  216                                             "gpio134"; /* CS0_N testpoint TP29 */
  217                                         function = "ebi2cs";
  218                                 };
  219                                 mux1 {
  220                                         pins =
  221                                             /* EBI2_ADDR_7 downto EBI2_ADDR_0 address bus */
  222                                             "gpio123", "gpio124", "gpio125", "gpio126",
  223                                             "gpio127", "gpio128", "gpio129", "gpio130",
  224                                             /* EBI2_DATA_15 downto EBI2_DATA_0 data bus */
  225                                             "gpio135", "gpio136", "gpio137", "gpio138",
  226                                             "gpio139", "gpio140", "gpio141", "gpio142",
  227                                             "gpio143", "gpio144", "gpio145", "gpio146",
  228                                             "gpio147", "gpio148", "gpio149", "gpio150",
  229                                             "gpio151", /* EBI2_OE_N */
  230                                             "gpio153", /* EBI2_ADV */
  231                                             "gpio157"; /* EBI2_WE_N */
  232                                         function = "ebi2";
  233                                 };
  234                         };
  235 
  236                         /* Interrupt line for the KXSD9 accelerometer */
  237                         dragon_kxsd9_gpios: kxsd9 {
  238                                 irq {
  239                                         pins = "gpio57"; /* IRQ line */
  240                                         bias-pull-up;
  241                                 };
  242                         };
  243                 };
  244 
  245                 qcom,ssbi@500000 {
  246                         pmic@0 {
  247                                 keypad@148 {
  248                                         linux,keymap = <
  249                                         MATRIX_KEY(0, 0, KEY_MENU)
  250                                         MATRIX_KEY(0, 2, KEY_1)
  251                                         MATRIX_KEY(0, 3, KEY_4)
  252                                         MATRIX_KEY(0, 4, KEY_7)
  253                                         MATRIX_KEY(1, 0, KEY_UP)
  254                                         MATRIX_KEY(1, 1, KEY_LEFT)
  255                                         MATRIX_KEY(1, 2, KEY_DOWN)
  256                                         MATRIX_KEY(1, 3, KEY_5)
  257                                         MATRIX_KEY(1, 3, KEY_8)
  258                                         MATRIX_KEY(2, 0, KEY_HOME)
  259                                         MATRIX_KEY(2, 1, KEY_REPLY)
  260                                         MATRIX_KEY(2, 2, KEY_2)
  261                                         MATRIX_KEY(2, 3, KEY_6)
  262                                         MATRIX_KEY(3, 0, KEY_VOLUMEUP)
  263                                         MATRIX_KEY(3, 1, KEY_RIGHT)
  264                                         MATRIX_KEY(3, 2, KEY_3)
  265                                         MATRIX_KEY(3, 3, KEY_9)
  266                                         MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE)
  267                                         MATRIX_KEY(4, 0, KEY_VOLUMEDOWN)
  268                                         MATRIX_KEY(4, 1, KEY_BACK)
  269                                         MATRIX_KEY(4, 2, KEY_CAMERA)
  270                                         MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE)
  271                                         >;
  272                                         keypad,num-rows = <6>;
  273                                         keypad,num-columns = <5>;
  274                                 };
  275 
  276                                 gpio@150 {
  277                                         dragon_ethernet_gpios: ethernet-state {
  278                                                 pinconf {
  279                                                         pins = "gpio7";
  280                                                         function = "normal";
  281                                                         input-enable;
  282                                                         bias-disable;
  283                                                         power-source = <PM8058_GPIO_S3>;
  284                                                 };
  285                                         };
  286                                         dragon_bmp085_gpios: bmp085-state {
  287                                                 pinconf {
  288                                                         pins = "gpio16";
  289                                                         function = "normal";
  290                                                         input-enable;
  291                                                         bias-disable;
  292                                                         power-source = <PM8058_GPIO_S3>;
  293                                                 };
  294                                         };
  295                                         dragon_mpu3050_gpios: mpu3050-state {
  296                                                 pinconf {
  297                                                         pins = "gpio17";
  298                                                         function = "normal";
  299                                                         input-enable;
  300                                                         bias-disable;
  301                                                         power-source = <PM8058_GPIO_S3>;
  302                                                 };
  303                                         };
  304                                         dragon_sdcc3_gpios: sdcc3-state {
  305                                                 pinconf {
  306                                                         pins = "gpio22";
  307                                                         function = "normal";
  308                                                         input-enable;
  309                                                         bias-disable;
  310                                                         power-source = <PM8058_GPIO_S3>;
  311                                                 };
  312                                         };
  313                                         dragon_sdcc5_gpios: sdcc5-state {
  314                                                 pinconf {
  315                                                         pins = "gpio26";
  316                                                         function = "normal";
  317                                                         input-enable;
  318                                                         bias-pull-up;
  319                                                         qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
  320                                                         power-source = <PM8058_GPIO_S3>;
  321                                                 };
  322                                         };
  323                                         dragon_ak8975_gpios: ak8975-state {
  324                                                 pinconf {
  325                                                         pins = "gpio33";
  326                                                         function = "normal";
  327                                                         input-enable;
  328                                                         bias-disable;
  329                                                         power-source = <PM8058_GPIO_S3>;
  330                                                 };
  331                                         };
  332                                         dragon_cm3605_gpios: cm3605-state {
  333                                                 /* Pin 34 connected to the proxy IRQ */
  334                                                 gpio34-pins {
  335                                                         pins = "gpio34";
  336                                                         function = "normal";
  337                                                         input-enable;
  338                                                         bias-disable;
  339                                                         power-source = <PM8058_GPIO_S3>;
  340                                                 };
  341                                                 /* Pin 35 connected to ASET */
  342                                                 gpio35-pins {
  343                                                         pins = "gpio35";
  344                                                         function = "normal";
  345                                                         output-high;
  346                                                         bias-disable;
  347                                                         power-source = <PM8058_GPIO_S3>;
  348                                                 };
  349                                         };
  350                                         dragon_veth_gpios: veth-state {
  351                                                 pinconf {
  352                                                         pins = "gpio40";
  353                                                         function = "normal";
  354                                                         bias-disable;
  355                                                         drive-push-pull;
  356                                                 };
  357                                         };
  358                                 };
  359 
  360                                 mpps@50 {
  361                                         dragon_cm3605_mpps: cm3605-mpps-state {
  362                                                 mpp5 {
  363                                                         pins = "mpp5";
  364                                                         function = "analog";
  365                                                         input-enable;
  366                                                         bias-high-impedance;
  367                                                         /* Let's use channel 5 */
  368                                                         qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
  369                                                         power-source = <PM8058_GPIO_S3>;
  370                                                 };
  371                                         };
  372                                 };
  373 
  374                                 xoadc@197 {
  375                                         /* Reference voltage 2.2 V */
  376                                         xoadc-ref-supply = <&pm8058_l18>;
  377 
  378                                         /* Board-specific channels */
  379                                         mpp5@5 {
  380                                                 /* Connected to AOUT of ALS sensor */
  381                                                 reg = <0x00 0x05>;
  382                                         };
  383                                         mpp6@6 {
  384                                                 /* Connected to test point TP43 */
  385                                                 reg = <0x00 0x06>;
  386                                         };
  387                                         mpp7@7 {
  388                                                 /* Connected to battery thermistor */
  389                                                 reg = <0x00 0x07>;
  390                                         };
  391                                         mpp8@8 {
  392                                                 /* Connected to battery ID detector */
  393                                                 reg = <0x00 0x08>;
  394                                         };
  395                                         mpp9@9 {
  396                                                 /* Connected to XO thermistor */
  397                                                 reg = <0x00 0x09>;
  398                                         };
  399                                 };
  400 
  401                                 led@48 {
  402                                         /*
  403                                          * The keypad LED @0x48 is routed to
  404                                          * the sensor board where it is
  405                                          * connected to an infrared LED
  406                                          * SFH4650 (60mW, @850nm) next to the
  407                                          * ambient light and proximity sensor
  408                                          * Capella Microsystems CM3605.
  409                                          */
  410                                         compatible = "qcom,pm8058-keypad-led";
  411                                         reg = <0x48>;
  412                                         label = "pm8058:infrared:proximitysensor";
  413                                         default-state = "off";
  414                                         linux,default-trigger = "cm3605";
  415                                 };
  416                                 led@131 {
  417                                         compatible = "qcom,pm8058-led";
  418                                         reg = <0x131>;
  419                                         label = "pm8058:red";
  420                                         color = <LED_COLOR_ID_RED>;
  421                                         default-state = "off";
  422                                 };
  423                                 led@132 {
  424                                         /*
  425                                          * This is actually green too on my
  426                                          * board, but documented as yellow.
  427                                          */
  428                                         compatible = "qcom,pm8058-led";
  429                                         reg = <0x132>;
  430                                         label = "pm8058:yellow";
  431                                         color = <LED_COLOR_ID_YELLOW>;
  432                                         default-state = "off";
  433                                         linux,default-trigger = "mmc0";
  434                                 };
  435                                 led@133 {
  436                                         compatible = "qcom,pm8058-led";
  437                                         reg = <0x133>;
  438                                         label = "pm8058:green";
  439                                         function = LED_FUNCTION_HEARTBEAT;
  440                                         color = <LED_COLOR_ID_GREEN>;
  441                                         default-state = "on";
  442                                         linux,default-trigger = "heartbeat";
  443                                 };
  444                         };
  445                 };
  446 
  447                 gsbi@19800000 {
  448                         status = "okay";
  449                         qcom,mode = <GSBI_PROT_I2C>;
  450 
  451                         i2c@19880000 {
  452                                 status = "okay";
  453                                 pinctrl-names = "default";
  454                                 pinctrl-0 = <&dragon_gsbi8_i2c_pins>;
  455 
  456                                 eeprom@52 {
  457                                         /* A 16KiB Platform ID EEPROM on the CPU carrier board */
  458                                         compatible = "atmel,24c128";
  459                                         reg = <0x52>;
  460                                         vcc-supply = <&pm8058_s3>;
  461                                         pagesize = <64>;
  462                                 };
  463                                 wm8903: wm8903@1a {
  464                                         /* This Woolfson Micro device has an unrouted interrupt line */
  465                                         compatible = "wlf,wm8903";
  466                                         reg = <0x1a>;
  467 
  468                                         AVDD-supply = <&pm8058_l16>;
  469                                         CPVDD-supply = <&pm8058_l16>;
  470                                         DBVDD-supply = <&pm8058_s3>;
  471                                         DCVDD-supply = <&pm8058_l0>;
  472 
  473                                         gpio-controller;
  474                                         #gpio-cells = <2>;
  475 
  476                                         micdet-cfg = <0>;
  477                                         micdet-delay = <100>;
  478                                         gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
  479                                 };
  480                         };
  481                 };
  482 
  483                 gsbi@19c00000 {
  484                         status = "okay";
  485                         qcom,mode = <GSBI_PROT_I2C_UART>;
  486 
  487                         serial@19c40000 {
  488                                 status = "okay";
  489                                 pinctrl-names = "default";
  490                                 pinctrl-0 = <&dragon_gsbi12_serial_pins>;
  491                         };
  492 
  493                         i2c@19c80000 {
  494                                 status = "okay";
  495                                 pinctrl-names = "default";
  496                                 pinctrl-0 = <&dragon_gsbi12_i2c_pins>;
  497 
  498                                 ak8975@c {
  499                                         compatible = "asahi-kasei,ak8975";
  500                                         reg = <0x0c>;
  501                                         interrupt-parent = <&pm8058_gpio>;
  502                                         interrupts = <33 IRQ_TYPE_EDGE_RISING>;
  503                                         pinctrl-names = "default";
  504                                         pinctrl-0 = <&dragon_ak8975_gpios>;
  505                                         vid-supply = <&pm8058_lvs0>; // 1.8V
  506                                         vdd-supply = <&pm8058_l14>; // 2.85V
  507                                 };
  508                                 bmp085@77 {
  509                                         compatible = "bosch,bmp085";
  510                                         reg = <0x77>;
  511                                         interrupt-parent = <&pm8058_gpio>;
  512                                         interrupts = <16 IRQ_TYPE_EDGE_RISING>;
  513                                         reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>;
  514                                         pinctrl-names = "default";
  515                                         pinctrl-0 = <&dragon_bmp085_gpios>;
  516                                         vddd-supply = <&pm8058_lvs0>; // 1.8V
  517                                         vdda-supply = <&pm8058_l14>; // 2.85V
  518                                 };
  519                                 mpu3050@68 {
  520                                         compatible = "invensense,mpu3050";
  521                                         reg = <0x68>;
  522                                         /*
  523                                          * GPIO17 is pulled high by a 10k
  524                                          * resistor to VLOGIC so needs to be
  525                                          * active low/falling edge.
  526                                          */
  527                                         interrupts-extended = <&pm8058_gpio 17 IRQ_TYPE_EDGE_FALLING>;
  528                                         pinctrl-names = "default";
  529                                         pinctrl-0 = <&dragon_mpu3050_gpios>;
  530                                         vlogic-supply = <&pm8058_lvs0>; // 1.8V
  531                                         vdd-supply = <&pm8058_l14>; // 2.85V
  532 
  533                                         /*
  534                                          * The MPU-3050 acts as a hub for the
  535                                          * accelerometer.
  536                                          */
  537                                         i2c-gate {
  538                                                 #address-cells = <1>;
  539                                                 #size-cells = <0>;
  540 
  541                                                 kxsd9@18 {
  542                                                         compatible = "kionix,kxsd9";
  543                                                         reg = <0x18>;
  544                                                         interrupt-parent = <&tlmm>;
  545                                                         interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
  546                                                         pinctrl-names = "default";
  547                                                         pinctrl-0 = <&dragon_kxsd9_gpios>;
  548                                                         iovdd-supply = <&pm8058_lvs0>; // 1.8V
  549                                                         vdd-supply = <&pm8058_l14>; // 2.85V
  550                                                 };
  551                                         };
  552                                 };
  553                         };
  554                 };
  555 
  556                 external-bus@1a100000 {
  557                         /* The EBI2 will instantiate first, then populate its children */
  558                         status = "okay";
  559                         pinctrl-names = "default";
  560                         pinctrl-0 = <&dragon_ebi2_pins>;
  561 
  562                         /*
  563                          * An on-board SMSC LAN9221 chip for "debug ethernet",
  564                          * which is actually just an ordinary ethernet on the
  565                          * EBI2. This has a 25MHz chrystal next to it, so no
  566                          * clocking is needed.
  567                          */
  568                         ethernet@2,0 {
  569                                 compatible = "smsc,lan9221", "smsc,lan9115";
  570                                 reg = <2 0x0 0x100>;
  571                                 /*
  572                                  * The second interrupt is the PME interrupt
  573                                  * for network wakeup, connected to the TLMM.
  574                                  */
  575                                 interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FALLING>,
  576                                                     <&tlmm 29 IRQ_TYPE_EDGE_RISING>;
  577                                 reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
  578                                 vdd33a-supply = <&dragon_veth>;
  579                                 vddvario-supply = <&dragon_vario>;
  580                                 pinctrl-names = "default";
  581                                 pinctrl-0 = <&dragon_ethernet_gpios>;
  582                                 phy-mode = "mii";
  583                                 reg-io-width = <2>;
  584                                 smsc,force-external-phy;
  585                                 smsc,irq-push-pull;
  586 
  587                                 /*
  588                                  * SLOW chipselect config
  589                                  * Delay 9 cycles (140ns@64MHz) between SMSC
  590                                  * LAN9221 Ethernet controller reads and writes
  591                                  * on CS2.
  592                                  */
  593                                 qcom,xmem-recovery-cycles = <0>;
  594                                 qcom,xmem-write-hold-cycles = <3>;
  595                                 qcom,xmem-write-delta-cycles = <31>;
  596                                 qcom,xmem-read-delta-cycles = <28>;
  597                                 qcom,xmem-write-wait-cycles = <9>;
  598                                 qcom,xmem-read-wait-cycles = <9>;
  599                         };
  600                 };
  601 
  602                 rpm@104000 {
  603                         /*
  604                          * Set up of the PMIC RPM regulators for this board
  605                          * PM8901 supplies "preliminary regulators" whatever
  606                          * that means
  607                          */
  608                         pm8901-regulators {
  609                                 vdd_l0-supply = <&pm8901_s4>;
  610                                 vdd_l1-supply = <&vph>;
  611                                 vdd_l2-supply = <&vph>;
  612                                 vdd_l3-supply = <&vph>;
  613                                 vdd_l4-supply = <&vph>;
  614                                 vdd_l5-supply = <&vph>;
  615                                 vdd_l6-supply = <&vph>;
  616                                 /* vdd_s0-supply, vdd_s1-supply: SAW regulators */
  617                                 vdd_s2-supply = <&vph>;
  618                                 vdd_s3-supply = <&vph>;
  619                                 vdd_s4-supply = <&vph>;
  620                                 lvs0_in-supply = <&pm8058_s3>;
  621                                 lvs1_in-supply = <&pm8901_s4>;
  622                                 lvs2_in-supply = <&pm8058_l0>;
  623                                 lvs3_in-supply = <&pm8058_s2>;
  624                                 mvs_in-supply = <&pm8058_s3>;
  625 
  626                                 l0 {
  627                                         regulator-min-microvolt = <1200000>;
  628                                         regulator-max-microvolt = <1200000>;
  629                                         bias-pull-down;
  630                                 };
  631                                 l1 {
  632                                         regulator-min-microvolt = <3300000>;
  633                                         regulator-max-microvolt = <3300000>;
  634                                         bias-pull-down;
  635                                 };
  636                                 l2 {
  637                                         regulator-min-microvolt = <2850000>;
  638                                         regulator-max-microvolt = <3300000>;
  639                                         bias-pull-down;
  640                                 };
  641                                 l3 {
  642                                         regulator-min-microvolt = <3300000>;
  643                                         regulator-max-microvolt = <3300000>;
  644                                         bias-pull-down;
  645                                 };
  646                                 l4 {
  647                                         regulator-min-microvolt = <2600000>;
  648                                         regulator-max-microvolt = <2600000>;
  649                                         bias-pull-down;
  650                                 };
  651                                 l5 {
  652                                         regulator-min-microvolt = <2850000>;
  653                                         regulator-max-microvolt = <2850000>;
  654                                         bias-pull-down;
  655                                 };
  656                                 l6 {
  657                                         regulator-min-microvolt = <2200000>;
  658                                         regulator-max-microvolt = <2200000>;
  659                                         bias-pull-down;
  660                                 };
  661 
  662                                 /* s0 and s1 are SAW regulators controlled over SPM */
  663                                 s2 {
  664                                         regulator-min-microvolt = <1300000>;
  665                                         regulator-max-microvolt = <1300000>;
  666                                         qcom,switch-mode-frequency = <1600000>;
  667                                         bias-pull-down;
  668                                 };
  669                                 s3 {
  670                                         regulator-min-microvolt = <1100000>;
  671                                         regulator-max-microvolt = <1100000>;
  672                                         qcom,switch-mode-frequency = <1600000>;
  673                                         bias-pull-down;
  674                                 };
  675                                 s4 {
  676                                         regulator-min-microvolt = <1225000>;
  677                                         regulator-max-microvolt = <1225000>;
  678                                         qcom,switch-mode-frequency = <1600000>;
  679                                         bias-pull-down;
  680                                 };
  681 
  682                                 /* LVS0 thru 3 and mvs are just switches */
  683                                 lvs0 {
  684                                         regulator-always-on;
  685                                 };
  686                                 lvs1 { };
  687                                 lvs2 { };
  688                                 lvs3 { };
  689                                 mvs { };
  690 
  691                         };
  692 
  693                         pm8058-regulators {
  694                                 vdd_l0_l1_lvs-supply = <&pm8058_s3>;
  695                                 vdd_l2_l11_l12-supply = <&vph>;
  696                                 vdd_l3_l4_l5-supply = <&vph>;
  697                                 vdd_l6_l7-supply = <&vph>;
  698                                 vdd_l8-supply = <&vph>;
  699                                 vdd_l9-supply = <&vph>;
  700                                 vdd_l10-supply = <&vph>;
  701                                 vdd_l13_l16-supply = <&pm8058_s4>;
  702                                 vdd_l14_l15-supply = <&vph>;
  703                                 vdd_l17_l18-supply = <&vph>;
  704                                 vdd_l19_l20-supply = <&vph>;
  705                                 vdd_l21-supply = <&pm8058_s3>;
  706                                 vdd_l22-supply = <&pm8058_s3>;
  707                                 vdd_l23_l24_l25-supply = <&pm8058_s3>;
  708                                 vdd_s0-supply = <&vph>;
  709                                 vdd_s1-supply = <&vph>;
  710                                 vdd_s2-supply = <&vph>;
  711                                 vdd_s3-supply = <&vph>;
  712                                 vdd_s4-supply = <&vph>;
  713                                 vdd_ncp-supply = <&vph>;
  714 
  715                                 l0 {
  716                                         regulator-min-microvolt = <1200000>;
  717                                         regulator-max-microvolt = <1200000>;
  718                                         bias-pull-down;
  719                                 };
  720                                 l1 {
  721                                         regulator-min-microvolt = <1200000>;
  722                                         regulator-max-microvolt = <1200000>;
  723                                         bias-pull-down;
  724                                 };
  725                                 l2 {
  726                                         regulator-min-microvolt = <1800000>;
  727                                         regulator-max-microvolt = <2600000>;
  728                                         bias-pull-down;
  729                                 };
  730                                 l3 {
  731                                         regulator-min-microvolt = <1800000>;
  732                                         regulator-max-microvolt = <1800000>;
  733                                         bias-pull-down;
  734                                 };
  735                                 l4 {
  736                                         regulator-min-microvolt = <2850000>;
  737                                         regulator-max-microvolt = <2850000>;
  738                                         bias-pull-down;
  739                                 };
  740                                 l5 {
  741                                         regulator-min-microvolt = <2850000>;
  742                                         regulator-max-microvolt = <2850000>;
  743                                         bias-pull-down;
  744                                 };
  745                                 l6 {
  746                                         regulator-min-microvolt = <3000000>;
  747                                         regulator-max-microvolt = <3600000>;
  748                                         bias-pull-down;
  749                                 };
  750                                 l7 {
  751                                         regulator-min-microvolt = <1800000>;
  752                                         regulator-max-microvolt = <1800000>;
  753                                         bias-pull-down;
  754                                 };
  755                                 l8 {
  756                                         regulator-min-microvolt = <2900000>;
  757                                         regulator-max-microvolt = <3050000>;
  758                                         bias-pull-down;
  759                                 };
  760                                 l9 {
  761                                         regulator-min-microvolt = <1800000>;
  762                                         regulator-max-microvolt = <1800000>;
  763                                         bias-pull-down;
  764                                 };
  765                                 l10 {
  766                                         regulator-min-microvolt = <2600000>;
  767                                         regulator-max-microvolt = <2600000>;
  768                                         bias-pull-down;
  769                                 };
  770                                 l11 {
  771                                         regulator-min-microvolt = <1500000>;
  772                                         regulator-max-microvolt = <1500000>;
  773                                         bias-pull-down;
  774                                 };
  775                                 l12 {
  776                                         regulator-min-microvolt = <2900000>;
  777                                         regulator-max-microvolt = <2900000>;
  778                                         bias-pull-down;
  779                                 };
  780                                 l13 {
  781                                         regulator-min-microvolt = <2050000>;
  782                                         regulator-max-microvolt = <2050000>;
  783                                         bias-pull-down;
  784                                 };
  785                                 l14 {
  786                                         regulator-min-microvolt = <2850000>;
  787                                         regulator-max-microvolt = <2850000>;
  788                                 };
  789                                 l15 {
  790                                         regulator-min-microvolt = <2850000>;
  791                                         regulator-max-microvolt = <2850000>;
  792                                         bias-pull-down;
  793                                 };
  794                                 l16 {
  795                                         regulator-min-microvolt = <1800000>;
  796                                         regulator-max-microvolt = <1800000>;
  797                                         bias-pull-down;
  798                                         regulator-always-on;
  799                                 };
  800                                 l17 {
  801                                         // 1.5V according to schematic
  802                                         regulator-min-microvolt = <2600000>;
  803                                         regulator-max-microvolt = <2600000>;
  804                                         bias-pull-down;
  805                                 };
  806                                 l18 {
  807                                         regulator-min-microvolt = <2200000>;
  808                                         regulator-max-microvolt = <2200000>;
  809                                         bias-pull-down;
  810                                 };
  811                                 l19 {
  812                                         regulator-min-microvolt = <2500000>;
  813                                         regulator-max-microvolt = <2500000>;
  814                                         bias-pull-down;
  815                                 };
  816                                 l20 {
  817                                         regulator-min-microvolt = <1800000>;
  818                                         regulator-max-microvolt = <1800000>;
  819                                         bias-pull-down;
  820                                 };
  821                                 l21 {
  822                                         // 1.1 V according to schematic
  823                                         regulator-min-microvolt = <1200000>;
  824                                         regulator-max-microvolt = <1200000>;
  825                                         bias-pull-down;
  826                                         regulator-always-on;
  827                                 };
  828                                 l22 {
  829                                         // 1.2 V according to schematic
  830                                         regulator-min-microvolt = <1150000>;
  831                                         regulator-max-microvolt = <1150000>;
  832                                         bias-pull-down;
  833                                 };
  834                                 l23 {
  835                                         // Unused
  836                                         regulator-min-microvolt = <1200000>;
  837                                         regulator-max-microvolt = <1200000>;
  838                                         bias-pull-down;
  839                                 };
  840                                 l24 {
  841                                         // Unused
  842                                         regulator-min-microvolt = <1200000>;
  843                                         regulator-max-microvolt = <1200000>;
  844                                         bias-pull-down;
  845                                 };
  846                                 l25 {
  847                                         regulator-min-microvolt = <1200000>;
  848                                         regulator-max-microvolt = <1200000>;
  849                                         bias-pull-down;
  850                                 };
  851 
  852                                 s0 {
  853                                         // regulator-min-microvolt = <500000>;
  854                                         // regulator-max-microvolt = <1325000>;
  855                                         regulator-min-microvolt = <1100000>;
  856                                         regulator-max-microvolt = <1100000>;
  857                                         qcom,switch-mode-frequency = <1600000>;
  858                                         bias-pull-down;
  859                                 };
  860                                 s1 {
  861                                         // regulator-min-microvolt = <500000>;
  862                                         // regulator-max-microvolt = <1250000>;
  863                                         regulator-min-microvolt = <1100000>;
  864                                         regulator-max-microvolt = <1100000>;
  865                                         qcom,switch-mode-frequency = <1600000>;
  866                                         bias-pull-down;
  867                                 };
  868                                 s2 {
  869                                         // 1.3 V according to schematic
  870                                         regulator-min-microvolt = <1200000>;
  871                                         regulator-max-microvolt = <1400000>;
  872                                         qcom,switch-mode-frequency = <1600000>;
  873                                         bias-pull-down;
  874                                 };
  875                                 s3 {
  876                                         regulator-min-microvolt = <1800000>;
  877                                         regulator-max-microvolt = <1800000>;
  878                                         qcom,switch-mode-frequency = <1600000>;
  879                                         regulator-always-on;
  880                                         bias-pull-down;
  881                                 };
  882                                 s4 {
  883                                         regulator-min-microvolt = <2200000>;
  884                                         regulator-max-microvolt = <2200000>;
  885                                         qcom,switch-mode-frequency = <1600000>;
  886                                         regulator-always-on;
  887                                         bias-pull-down;
  888                                 };
  889 
  890                                 /* LVS0 and LVS1 are just switches */
  891                                 lvs0 {
  892                                         bias-pull-down;
  893                                 };
  894                                 lvs1 {
  895                                         bias-pull-down;
  896                                 };
  897 
  898                                 ncp {
  899                                         regulator-min-microvolt = <1800000>;
  900                                         regulator-max-microvolt = <1800000>;
  901                                         qcom,switch-mode-frequency = <1600000>;
  902                                 };
  903                         };
  904                 };
  905                 amba {
  906                         /* Internal 3.69 GiB eMMC */
  907                         mmc@12400000 {
  908                                 status = "okay";
  909                                 pinctrl-names = "default";
  910                                 pinctrl-0 = <&dragon_sdcc1_pins>;
  911                                 vmmc-supply = <&pm8901_l5>;
  912                                 vqmmc-supply = <&pm8901_lvs0>;
  913                         };
  914 
  915                         /* External micro SD card, directly connected, pulled up to 2.85 V */
  916                         mmc@12180000 {
  917                                 status = "okay";
  918                                 /* Enable SSBI GPIO 22 as input, use for card detect */
  919                                 pinctrl-names = "default";
  920                                 pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>;
  921                                 cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>;
  922                                 wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
  923                                 vmmc-supply = <&pm8058_l14>;
  924                         };
  925 
  926                         /*
  927                          * Second external micro SD card, using two TXB104RGYR levelshifters
  928                          * to lift from 1.8 V to 2.85 V
  929                          */
  930                         mmc@12200000 {
  931                                 status = "okay";
  932                                 /* Enable SSBI GPIO 26 as input, use for card detect */
  933                                 pinctrl-names = "default";
  934                                 pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>;
  935                                 cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>;
  936                                 wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
  937                                 vmmc-supply = <&pm8058_l14>;
  938                                 vqmmc-supply = <&dragon_vio_txb>;
  939                         };
  940                 };
  941         };
  942 };

Cache object: 7fd3a5a19bec9648d4800300536537cf


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