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/exynos5800-peach-pi.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
    2 /*
    3  * Google Peach Pi Rev 10+ board device tree source
    4  *
    5  * Copyright (c) 2014 Google, Inc
    6  */
    7 
    8 /dts-v1/;
    9 #include <dt-bindings/input/input.h>
   10 #include <dt-bindings/gpio/gpio.h>
   11 #include <dt-bindings/interrupt-controller/irq.h>
   12 #include <dt-bindings/clock/maxim,max77802.h>
   13 #include <dt-bindings/regulator/maxim,max77802.h>
   14 #include <dt-bindings/sound/samsung-i2s.h>
   15 #include "exynos5800.dtsi"
   16 #include "exynos5420-cpus.dtsi"
   17 
   18 / {
   19         model = "Google Peach Pi Rev 10+";
   20 
   21         compatible = "google,pi-rev16",
   22                 "google,pi-rev15", "google,pi-rev14",
   23                 "google,pi-rev13", "google,pi-rev12",
   24                 "google,pi-rev11", "google,pi-rev10",
   25                 "google,pi", "google,peach", "samsung,exynos5800",
   26                 "samsung,exynos5";
   27         chassis-type = "laptop";
   28 
   29         aliases {
   30                 /* Assign 20 so we don't get confused w/ builtin ones */
   31                 i2c20 = &i2c_tunnel;
   32         };
   33 
   34         backlight: backlight {
   35                 compatible = "pwm-backlight";
   36                 pwms = <&pwm 0 1000000 0>;
   37                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
   38                 default-brightness-level = <7>;
   39                 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
   40                 power-supply = <&tps65090_fet1>;
   41                 pinctrl-0 = <&pwm0_out>;
   42                 pinctrl-names = "default";
   43         };
   44 
   45         chosen {
   46                 stdout-path = "serial3:115200n8";
   47         };
   48 
   49         fixed-rate-clocks {
   50                 oscclk {
   51                         compatible = "samsung,exynos5420-oscclk";
   52                         clock-frequency = <24000000>;
   53                 };
   54         };
   55 
   56         gpio-keys {
   57                 compatible = "gpio-keys";
   58 
   59                 pinctrl-names = "default";
   60                 pinctrl-0 = <&power_key_irq &lid_irq>;
   61 
   62                 power-key {
   63                         label = "Power";
   64                         gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
   65                         linux,code = <KEY_POWER>;
   66                         wakeup-source;
   67                 };
   68 
   69                 lid-switch {
   70                         label = "Lid";
   71                         gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
   72                         linux,input-type = <5>; /* EV_SW */
   73                         linux,code = <0>; /* SW_LID */
   74                         debounce-interval = <1>;
   75                         wakeup-source;
   76                 };
   77 
   78         };
   79 
   80         memory@20000000 {
   81                 device_type = "memory";
   82                 reg = <0x20000000 0x80000000>;
   83         };
   84 
   85         sound {
   86                 compatible = "google,snow-audio-max98091";
   87 
   88                 samsung,model = "Peach-Pi-I2S-MAX98091";
   89                 samsung,i2s-controller = <&i2s0>;
   90                 samsung,audio-codec = <&max98091>;
   91 
   92                 cpu {
   93                         sound-dai = <&i2s0 0>;
   94                 };
   95 
   96                 codec {
   97                         sound-dai = <&max98091>, <&hdmi>;
   98                 };
   99         };
  100 
  101         usb300_vbus_reg: regulator-usb300 {
  102                 compatible = "regulator-fixed";
  103                 regulator-name = "P5.0V_USB3CON0";
  104                 regulator-min-microvolt = <5000000>;
  105                 regulator-max-microvolt = <5000000>;
  106                 gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
  107                 pinctrl-names = "default";
  108                 pinctrl-0 = <&usb300_vbus_en>;
  109                 enable-active-high;
  110         };
  111 
  112         usb301_vbus_reg: regulator-usb301 {
  113                 compatible = "regulator-fixed";
  114                 regulator-name = "P5.0V_USB3CON1";
  115                 regulator-min-microvolt = <5000000>;
  116                 regulator-max-microvolt = <5000000>;
  117                 gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
  118                 pinctrl-names = "default";
  119                 pinctrl-0 = <&usb301_vbus_en>;
  120                 enable-active-high;
  121         };
  122 
  123         vbat: fixed-regulator {
  124                 compatible = "regulator-fixed";
  125                 regulator-name = "vbat-supply";
  126                 regulator-boot-on;
  127                 regulator-always-on;
  128         };
  129 
  130         panel: panel {
  131                 compatible = "auo,b133htn01";
  132                 power-supply = <&tps65090_fet6>;
  133                 backlight = <&backlight>;
  134 
  135                 port {
  136                         panel_in: endpoint {
  137                                 remote-endpoint = <&dp_out>;
  138                         };
  139                 };
  140         };
  141 
  142         mmc1_pwrseq: mmc1-pwrseq {
  143                 compatible = "mmc-pwrseq-simple";
  144                 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
  145                 clocks = <&max77802 MAX77802_CLK_32K_CP>;
  146                 clock-names = "ext_clock";
  147         };
  148 };
  149 
  150 &adc {
  151         status = "okay";
  152         vdd-supply = <&ldo9_reg>;
  153 };
  154 
  155 &clock_audss {
  156         assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
  157         assigned-clock-parents = <&clock CLK_MAU_EPLL>;
  158 };
  159 
  160 /*
  161  * Peach Pi board uses SoC revision with lower maximum frequency for A7 cores
  162  * (1.3 GHz instead of 1.4 GHz) than Odroid XU3/XU4 boards.  Thus we need to
  163  * update A7 OPPs table accordingly.
  164  */
  165 &cluster_a7_opp_table {
  166         /delete-node/opp-1400000000;
  167 };
  168 
  169 &cpu0 {
  170         cpu-supply = <&buck2_reg>;
  171 };
  172 
  173 &cpu4 {
  174         cpu-supply = <&buck6_reg>;
  175 };
  176 
  177 &dp {
  178         status = "okay";
  179         pinctrl-names = "default";
  180         pinctrl-0 = <&dp_hpd_gpio>;
  181         samsung,color-space = <0>;
  182         samsung,color-depth = <1>;
  183         samsung,link-rate = <0x0a>;
  184         samsung,lane-count = <2>;
  185         samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
  186 
  187         ports {
  188                 port {
  189                         dp_out: endpoint {
  190                                 remote-endpoint = <&panel_in>;
  191                         };
  192                 };
  193         };
  194 };
  195 
  196 &fimd {
  197         status = "okay";
  198         samsung,invert-vclk;
  199 };
  200 
  201 &hdmi {
  202         status = "okay";
  203         hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
  204         pinctrl-names = "default";
  205         pinctrl-0 = <&hdmi_hpd_irq>;
  206         ddc = <&i2c_2>;
  207 
  208         hdmi-en-supply = <&tps65090_fet7>;
  209         vdd-supply = <&ldo8_reg>;
  210         vdd_osc-supply = <&ldo10_reg>;
  211         vdd_pll-supply = <&ldo8_reg>;
  212 };
  213 
  214 &hsi2c_4 {
  215         status = "okay";
  216         clock-frequency = <400000>;
  217 
  218         max77802: pmic@9 {
  219                 compatible = "maxim,max77802";
  220                 interrupt-parent = <&gpx3>;
  221                 interrupts = <1 IRQ_TYPE_NONE>;
  222                 pinctrl-names = "default";
  223                 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
  224                             <&pmic_dvs_1>, <&pmic_dvs_2>;
  225                 wakeup-source;
  226                 reg = <0x9>;
  227                 #clock-cells = <1>;
  228 
  229                 inb1-supply = <&tps65090_dcdc2>;
  230                 inb2-supply = <&tps65090_dcdc1>;
  231                 inb3-supply = <&tps65090_dcdc2>;
  232                 inb4-supply = <&tps65090_dcdc2>;
  233                 inb5-supply = <&tps65090_dcdc1>;
  234                 inb6-supply = <&tps65090_dcdc2>;
  235                 inb7-supply = <&tps65090_dcdc1>;
  236                 inb8-supply = <&tps65090_dcdc1>;
  237                 inb9-supply = <&tps65090_dcdc1>;
  238                 inb10-supply = <&tps65090_dcdc1>;
  239 
  240                 inl1-supply = <&buck5_reg>;
  241                 inl2-supply = <&buck7_reg>;
  242                 inl3-supply = <&buck9_reg>;
  243                 inl4-supply = <&buck9_reg>;
  244                 inl5-supply = <&buck9_reg>;
  245                 inl6-supply = <&tps65090_dcdc2>;
  246                 inl7-supply = <&buck9_reg>;
  247                 inl9-supply = <&tps65090_dcdc2>;
  248                 inl10-supply = <&buck7_reg>;
  249 
  250                 regulators {
  251                         buck1_reg: BUCK1 {
  252                                 regulator-name = "vdd_mif";
  253                                 regulator-min-microvolt = <800000>;
  254                                 regulator-max-microvolt = <1300000>;
  255                                 regulator-always-on;
  256                                 regulator-boot-on;
  257                                 regulator-ramp-delay = <12500>;
  258                                 regulator-state-mem {
  259                                         regulator-off-in-suspend;
  260                                 };
  261                         };
  262 
  263                         buck2_reg: BUCK2 {
  264                                 regulator-name = "vdd_arm";
  265                                 regulator-min-microvolt = <800000>;
  266                                 regulator-max-microvolt = <1500000>;
  267                                 regulator-always-on;
  268                                 regulator-boot-on;
  269                                 regulator-ramp-delay = <12500>;
  270                                 regulator-coupled-with = <&buck3_reg>;
  271                                 regulator-coupled-max-spread = <300000>;
  272                                 regulator-state-mem {
  273                                         regulator-off-in-suspend;
  274                                 };
  275                         };
  276 
  277                         buck3_reg: BUCK3 {
  278                                 regulator-name = "vdd_int";
  279                                 regulator-min-microvolt = <800000>;
  280                                 regulator-max-microvolt = <1400000>;
  281                                 regulator-always-on;
  282                                 regulator-boot-on;
  283                                 regulator-ramp-delay = <12500>;
  284                                 regulator-coupled-with = <&buck2_reg>;
  285                                 regulator-coupled-max-spread = <300000>;
  286                                 regulator-state-mem {
  287                                         regulator-off-in-suspend;
  288                                 };
  289                         };
  290 
  291                         buck4_reg: BUCK4 {
  292                                 regulator-name = "vdd_g3d";
  293                                 regulator-min-microvolt = <700000>;
  294                                 regulator-max-microvolt = <1400000>;
  295                                 regulator-always-on;
  296                                 regulator-boot-on;
  297                                 regulator-ramp-delay = <12500>;
  298                                 regulator-state-mem {
  299                                         regulator-off-in-suspend;
  300                                 };
  301                         };
  302 
  303                         buck5_reg: BUCK5 {
  304                                 regulator-name = "vdd_1v2";
  305                                 regulator-min-microvolt = <1200000>;
  306                                 regulator-max-microvolt = <1200000>;
  307                                 regulator-boot-on;
  308                                 regulator-state-mem {
  309                                         regulator-off-in-suspend;
  310                                 };
  311                         };
  312 
  313                         buck6_reg: BUCK6 {
  314                                 regulator-name = "vdd_kfc";
  315                                 regulator-min-microvolt = <800000>;
  316                                 regulator-max-microvolt = <1500000>;
  317                                 regulator-always-on;
  318                                 regulator-boot-on;
  319                                 regulator-ramp-delay = <12500>;
  320                                 regulator-state-mem {
  321                                         regulator-off-in-suspend;
  322                                 };
  323                         };
  324 
  325                         buck7_reg: BUCK7 {
  326                                 regulator-name = "vdd_1v35";
  327                                 regulator-min-microvolt = <1350000>;
  328                                 regulator-max-microvolt = <1350000>;
  329                                 regulator-always-on;
  330                                 regulator-boot-on;
  331                                 regulator-state-mem {
  332                                         regulator-on-in-suspend;
  333                                 };
  334                         };
  335 
  336                         buck8_reg: BUCK8 {
  337                                 regulator-name = "vdd_emmc";
  338                                 regulator-min-microvolt = <2850000>;
  339                                 regulator-max-microvolt = <2850000>;
  340                                 regulator-always-on;
  341                                 regulator-boot-on;
  342                                 regulator-state-mem {
  343                                         regulator-off-in-suspend;
  344                                 };
  345                         };
  346 
  347                         buck9_reg: BUCK9 {
  348                                 regulator-name = "vdd_2v";
  349                                 regulator-min-microvolt = <2000000>;
  350                                 regulator-max-microvolt = <2000000>;
  351                                 regulator-always-on;
  352                                 regulator-boot-on;
  353                                 regulator-state-mem {
  354                                         regulator-on-in-suspend;
  355                                 };
  356                         };
  357 
  358                         buck10_reg: BUCK10 {
  359                                 regulator-name = "vdd_1v8";
  360                                 regulator-min-microvolt = <1800000>;
  361                                 regulator-max-microvolt = <1800000>;
  362                                 regulator-always-on;
  363                                 regulator-boot-on;
  364                                 regulator-state-mem {
  365                                         regulator-on-in-suspend;
  366                                 };
  367                         };
  368 
  369                         ldo1_reg: LDO1 {
  370                                 regulator-name = "vdd_1v0";
  371                                 regulator-min-microvolt = <1000000>;
  372                                 regulator-max-microvolt = <1000000>;
  373                                 regulator-always-on;
  374                                 regulator-state-mem {
  375                                         regulator-on-in-suspend;
  376                                         regulator-mode = <MAX77802_OPMODE_LP>;
  377                                 };
  378                         };
  379 
  380                         ldo2_reg: LDO2 {
  381                                 regulator-name = "vdd_1v2_2";
  382                                 regulator-min-microvolt = <1200000>;
  383                                 regulator-max-microvolt = <1200000>;
  384                         };
  385 
  386                         ldo3_reg: LDO3 {
  387                                 regulator-name = "vdd_1v8_3";
  388                                 regulator-min-microvolt = <1800000>;
  389                                 regulator-max-microvolt = <1800000>;
  390                                 regulator-always-on;
  391                                 regulator-state-mem {
  392                                         regulator-on-in-suspend;
  393                                         regulator-mode = <MAX77802_OPMODE_LP>;
  394                                 };
  395                         };
  396 
  397                         vqmmc_sdcard: ldo4_reg: LDO4 {
  398                                 regulator-name = "vdd_sd";
  399                                 regulator-min-microvolt = <1800000>;
  400                                 regulator-max-microvolt = <2800000>;
  401                                 regulator-always-on;
  402                                 regulator-state-mem {
  403                                         regulator-off-in-suspend;
  404                                 };
  405                         };
  406 
  407                         ldo5_reg: LDO5 {
  408                                 regulator-name = "vdd_1v8_5";
  409                                 regulator-min-microvolt = <1800000>;
  410                                 regulator-max-microvolt = <1800000>;
  411                                 regulator-always-on;
  412                                 regulator-state-mem {
  413                                         regulator-off-in-suspend;
  414                                 };
  415                         };
  416 
  417                         ldo6_reg: LDO6 {
  418                                 regulator-name = "vdd_1v8_6";
  419                                 regulator-min-microvolt = <1800000>;
  420                                 regulator-max-microvolt = <1800000>;
  421                                 regulator-always-on;
  422                                 regulator-state-mem {
  423                                         regulator-off-in-suspend;
  424                                 };
  425                         };
  426 
  427                         ldo7_reg: LDO7 {
  428                                 regulator-name = "vdd_1v8_7";
  429                                 regulator-min-microvolt = <1800000>;
  430                                 regulator-max-microvolt = <1800000>;
  431                         };
  432 
  433                         ldo8_reg: LDO8 {
  434                                 regulator-name = "vdd_ldo8";
  435                                 regulator-min-microvolt = <1000000>;
  436                                 regulator-max-microvolt = <1000000>;
  437                                 regulator-always-on;
  438                                 regulator-state-mem {
  439                                         regulator-off-in-suspend;
  440                                 };
  441                         };
  442 
  443                         ldo9_reg: LDO9 {
  444                                 regulator-name = "vdd_ldo9";
  445                                 regulator-min-microvolt = <1800000>;
  446                                 regulator-max-microvolt = <1800000>;
  447                                 regulator-state-mem {
  448                                         regulator-on-in-suspend;
  449                                         regulator-mode = <MAX77802_OPMODE_LP>;
  450                                 };
  451                         };
  452 
  453                         ldo10_reg: LDO10 {
  454                                 regulator-name = "vdd_ldo10";
  455                                 regulator-min-microvolt = <1800000>;
  456                                 regulator-max-microvolt = <1800000>;
  457                                 regulator-always-on;
  458                                 regulator-state-mem {
  459                                         regulator-off-in-suspend;
  460                                 };
  461                         };
  462 
  463                         ldo11_reg: LDO11 {
  464                                 regulator-name = "vdd_ldo11";
  465                                 regulator-min-microvolt = <1800000>;
  466                                 regulator-max-microvolt = <1800000>;
  467                                 regulator-always-on;
  468                                 regulator-state-mem {
  469                                         regulator-on-in-suspend;
  470                                         regulator-mode = <MAX77802_OPMODE_LP>;
  471                                 };
  472                         };
  473 
  474                         ldo12_reg: LDO12 {
  475                                 regulator-name = "vdd_ldo12";
  476                                 regulator-min-microvolt = <3000000>;
  477                                 regulator-max-microvolt = <3000000>;
  478                                 regulator-always-on;
  479                                 regulator-state-mem {
  480                                         regulator-off-in-suspend;
  481                                 };
  482                         };
  483 
  484                         ldo13_reg: LDO13 {
  485                                 regulator-name = "vdd_ldo13";
  486                                 regulator-min-microvolt = <1800000>;
  487                                 regulator-max-microvolt = <1800000>;
  488                                 regulator-always-on;
  489                                 regulator-state-mem {
  490                                         regulator-on-in-suspend;
  491                                         regulator-mode = <MAX77802_OPMODE_LP>;
  492                                 };
  493                         };
  494 
  495                         ldo14_reg: LDO14 {
  496                                 regulator-name = "vdd_ldo14";
  497                                 regulator-min-microvolt = <1800000>;
  498                                 regulator-max-microvolt = <1800000>;
  499                                 regulator-always-on;
  500                                 regulator-state-mem {
  501                                         regulator-off-in-suspend;
  502                                 };
  503                         };
  504 
  505                         ldo15_reg: LDO15 {
  506                                 regulator-name = "vdd_ldo15";
  507                                 regulator-min-microvolt = <1000000>;
  508                                 regulator-max-microvolt = <1000000>;
  509                                 regulator-always-on;
  510                                 regulator-state-mem {
  511                                         regulator-off-in-suspend;
  512                                 };
  513                         };
  514 
  515                         ldo17_reg: LDO17 {
  516                                 regulator-name = "vdd_g3ds";
  517                                 regulator-min-microvolt = <900000>;
  518                                 regulator-max-microvolt = <1400000>;
  519                                 regulator-always-on;
  520                                 regulator-state-mem {
  521                                         regulator-off-in-suspend;
  522                                 };
  523                         };
  524 
  525                         ldo18_reg: LDO18 {
  526                                 regulator-name = "ldo_18";
  527                                 regulator-min-microvolt = <1800000>;
  528                                 regulator-max-microvolt = <1800000>;
  529                         };
  530 
  531                         ldo19_reg: LDO19 {
  532                                 regulator-name = "ldo_19";
  533                                 regulator-min-microvolt = <1800000>;
  534                                 regulator-max-microvolt = <1800000>;
  535                         };
  536 
  537                         ldo20_reg: LDO20 {
  538                                 regulator-name = "ldo_20";
  539                                 regulator-min-microvolt = <1800000>;
  540                                 regulator-max-microvolt = <1800000>;
  541                                 regulator-always-on;
  542                         };
  543 
  544                         ldo21_reg: LDO21 {
  545                                 regulator-name = "ldo_21";
  546                                 regulator-min-microvolt = <2800000>;
  547                                 regulator-max-microvolt = <2800000>;
  548                         };
  549 
  550                         ldo23_reg: LDO23 {
  551                                 regulator-name = "ldo_23";
  552                                 regulator-min-microvolt = <3300000>;
  553                                 regulator-max-microvolt = <3300000>;
  554                         };
  555                         ldo24_reg: LDO24 {
  556                                 regulator-name = "ldo_24";
  557                                 regulator-min-microvolt = <2800000>;
  558                                 regulator-max-microvolt = <2800000>;
  559                         };
  560 
  561                         ldo25_reg: LDO25 {
  562                                 regulator-name = "ldo_25";
  563                                 regulator-min-microvolt = <3300000>;
  564                                 regulator-max-microvolt = <3300000>;
  565                         };
  566 
  567                         ldo26_reg: LDO26 {
  568                                 regulator-name = "ldo_26";
  569                                 regulator-min-microvolt = <1200000>;
  570                                 regulator-max-microvolt = <1200000>;
  571                         };
  572 
  573                         ldo27_reg: LDO27 {
  574                                 regulator-name = "ldo_27";
  575                                 regulator-min-microvolt = <1200000>;
  576                                 regulator-max-microvolt = <1200000>;
  577                         };
  578 
  579                         ldo28_reg: LDO28 {
  580                                 regulator-name = "ldo_28";
  581                                 regulator-min-microvolt = <1800000>;
  582                                 regulator-max-microvolt = <1800000>;
  583                         };
  584 
  585                         ldo29_reg: LDO29 {
  586                                 regulator-name = "ldo_29";
  587                                 regulator-min-microvolt = <1800000>;
  588                                 regulator-max-microvolt = <1800000>;
  589                         };
  590 
  591                         ldo30_reg: LDO30 {
  592                                 regulator-name = "vdd_mifs";
  593                                 regulator-min-microvolt = <1000000>;
  594                                 regulator-max-microvolt = <1000000>;
  595                                 regulator-always-on;
  596                                 regulator-state-mem {
  597                                         regulator-off-in-suspend;
  598                                 };
  599                         };
  600 
  601                         ldo32_reg: LDO32 {
  602                                 regulator-name = "ldo_32";
  603                                 regulator-min-microvolt = <3000000>;
  604                                 regulator-max-microvolt = <3000000>;
  605                         };
  606 
  607                         ldo33_reg: LDO33 {
  608                                 regulator-name = "ldo_33";
  609                                 regulator-min-microvolt = <2800000>;
  610                                 regulator-max-microvolt = <2800000>;
  611                         };
  612 
  613                         ldo34_reg: LDO34 {
  614                                 regulator-name = "ldo_34";
  615                                 regulator-min-microvolt = <3000000>;
  616                                 regulator-max-microvolt = <3000000>;
  617                         };
  618 
  619                         ldo35_reg: LDO35 {
  620                                 regulator-name = "ldo_35";
  621                                 regulator-min-microvolt = <1200000>;
  622                                 regulator-max-microvolt = <1200000>;
  623                         };
  624                 };
  625         };
  626 };
  627 
  628 &hsi2c_7 {
  629         status = "okay";
  630         clock-frequency = <400000>;
  631 
  632         max98091: codec@10 {
  633                 compatible = "maxim,max98091";
  634                 reg = <0x10>;
  635                 interrupts = <2 IRQ_TYPE_NONE>;
  636                 interrupt-parent = <&gpx0>;
  637                 pinctrl-names = "default";
  638                 pinctrl-0 = <&max98091_irq>;
  639                 clocks = <&pmu_system_controller 0>;
  640                 clock-names = "mclk";
  641                 #sound-dai-cells = <0>;
  642         };
  643 
  644         light-sensor@44 {
  645                 compatible = "isil,isl29018";
  646                 reg = <0x44>;
  647                 vcc-supply = <&tps65090_fet5>;
  648         };
  649 };
  650 
  651 &hsi2c_8 {
  652         status = "okay";
  653         clock-frequency = <333000>;
  654         /* Atmel mXT540S */
  655         trackpad@4b {
  656                 compatible = "atmel,maxtouch";
  657                 reg = <0x4b>;
  658                 interrupt-parent = <&gpx1>;
  659                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
  660                 wakeup-source;
  661                 pinctrl-names = "default";
  662                 pinctrl-0 = <&trackpad_irq>;
  663                 linux,gpio-keymap = <KEY_RESERVED
  664                                      KEY_RESERVED
  665                                      KEY_RESERVED       /* GPIO 0 */
  666                                      KEY_RESERVED       /* GPIO 1 */
  667                                      BTN_LEFT           /* GPIO 2 */
  668                                      KEY_RESERVED>;     /* GPIO 3 */
  669         };
  670 };
  671 
  672 &hsi2c_9 {
  673         status = "okay";
  674         clock-frequency = <400000>;
  675 
  676         tpm@20 {
  677                 compatible = "infineon,slb9645tt";
  678                 reg = <0x20>;
  679 
  680                 /* Unused irq; but still need to configure the pins */
  681                 pinctrl-names = "default";
  682                 pinctrl-0 = <&tpm_irq>;
  683         };
  684 };
  685 
  686 &i2c_2 {
  687         status = "okay";
  688         samsung,i2c-sda-delay = <100>;
  689         samsung,i2c-max-bus-freq = <66000>;
  690         samsung,i2c-slave-addr = <0x50>;
  691 };
  692 
  693 &i2s0 {
  694         assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
  695         assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
  696         status = "okay";
  697 };
  698 
  699 &mixer {
  700         status = "okay";
  701 };
  702 
  703 /* eMMC flash */
  704 &mmc_0 {
  705         status = "okay";
  706         mmc-hs200-1_8v;
  707         mmc-hs400-1_8v;
  708         cap-mmc-highspeed;
  709         non-removable;
  710         clock-frequency = <800000000>;
  711         samsung,dw-mshc-ciu-div = <3>;
  712         samsung,dw-mshc-sdr-timing = <0 4>;
  713         samsung,dw-mshc-ddr-timing = <0 2>;
  714         samsung,dw-mshc-hs400-timing = <0 2>;
  715         samsung,read-strobe-delay = <90>;
  716         pinctrl-names = "default";
  717         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
  718         bus-width = <8>;
  719 };
  720 
  721 /* WiFi SDIO module */
  722 &mmc_1 {
  723         status = "okay";
  724         non-removable;
  725         cap-sdio-irq;
  726         keep-power-in-suspend;
  727         clock-frequency = <400000000>;
  728         samsung,dw-mshc-ciu-div = <1>;
  729         samsung,dw-mshc-sdr-timing = <0 1>;
  730         samsung,dw-mshc-ddr-timing = <0 2>;
  731         pinctrl-names = "default";
  732         pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
  733                     <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
  734         bus-width = <4>;
  735         cap-sd-highspeed;
  736         mmc-pwrseq = <&mmc1_pwrseq>;
  737         vqmmc-supply = <&buck10_reg>;
  738 };
  739 
  740 /* uSD card */
  741 &mmc_2 {
  742         status = "okay";
  743         cap-sd-highspeed;
  744         card-detect-delay = <200>;
  745         clock-frequency = <400000000>;
  746         samsung,dw-mshc-ciu-div = <3>;
  747         samsung,dw-mshc-sdr-timing = <2 3>;
  748         samsung,dw-mshc-ddr-timing = <1 2>;
  749         pinctrl-names = "default";
  750         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
  751         bus-width = <4>;
  752 };
  753 
  754 
  755 &pinctrl_0 {
  756         pinctrl-names = "default";
  757         pinctrl-0 = <&mask_tpm_reset>;
  758 
  759         wifi_en: wifi-en-pins {
  760                 samsung,pins = "gpx0-0";
  761                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  762                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  763                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  764         };
  765 
  766         max98091_irq: max98091-irq-pins {
  767                 samsung,pins = "gpx0-2";
  768                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  769                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  770                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  771         };
  772 
  773         /* We need GPX0_6 to be low at sleep time; just keep it low always */
  774         mask_tpm_reset: mask-tpm-reset-pins {
  775                 samsung,pins = "gpx0-6";
  776                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  777                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  778                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  779                 samsung,pin-val = <0>;
  780         };
  781 
  782         tpm_irq: tpm-irq-pins {
  783                 samsung,pins = "gpx1-0";
  784                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  785                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  786                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  787         };
  788 
  789         trackpad_irq: trackpad-irq-pins {
  790                 samsung,pins = "gpx1-1";
  791                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
  792                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  793                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  794         };
  795 
  796         power_key_irq: power-key-irq-pins {
  797                 samsung,pins = "gpx1-2";
  798                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  799                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  800                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  801         };
  802 
  803         ec_irq: ec-irq-pins {
  804                 samsung,pins = "gpx1-5";
  805                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  806                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  807                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  808         };
  809 
  810         tps65090_irq: tps65090-irq-pins {
  811                 samsung,pins = "gpx2-5";
  812                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  813                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  814                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  815         };
  816 
  817         dp_hpd_gpio: dp-hpd-gpio-pins {
  818                 samsung,pins = "gpx2-6";
  819                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  820                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
  821                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  822         };
  823 
  824         max77802_irq: max77802-irq-pins {
  825                 samsung,pins = "gpx3-1";
  826                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  827                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  828                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  829         };
  830 
  831         lid_irq: lid-irq-pins {
  832                 samsung,pins = "gpx3-4";
  833                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
  834                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  835                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  836         };
  837 
  838         hdmi_hpd_irq: hdmi-hpd-irq-pins {
  839                 samsung,pins = "gpx3-7";
  840                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
  841                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
  842                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  843         };
  844 
  845         pmic_dvs_1: pmic-dvs-1-pins {
  846                 samsung,pins = "gpy7-6";
  847                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  848                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  849                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  850         };
  851 };
  852 
  853 /* pinctrl_1 */
  854 /* Adjust WiFi drive strengths lower for EMI */
  855 &sd1_bus1 {
  856         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  857 };
  858 
  859 &sd1_bus4 {
  860         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  861 };
  862 
  863 &sd1_bus8 {
  864         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  865 };
  866 
  867 &sd1_clk {
  868         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  869 };
  870 
  871 &sd1_cmd {
  872         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  873 };
  874 
  875 &pinctrl_2 {
  876         pmic_dvs_2: pmic-dvs-2-pins {
  877                 samsung,pins = "gpj4-2", "gpj4-3";
  878                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  879                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  880                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  881         };
  882 };
  883 
  884 /* pinctrl_3*/
  885 /* Drive SPI lines at x2 for better integrity */
  886 &spi2_bus {
  887         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  888 };
  889 
  890 &pinctrl_3 {
  891         /* Drive SPI chip select at x2 for better integrity */
  892         ec_spi_cs: ec-spi-cs-pins {
  893                 samsung,pins = "gpb1-2";
  894                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  895                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  896                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
  897         };
  898 
  899         usb300_vbus_en: usb300-vbus-en-pins {
  900                 samsung,pins = "gph0-0";
  901                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  902                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  903                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  904         };
  905 
  906         usb301_vbus_en: usb301-vbus-en-pins {
  907                 samsung,pins = "gph0-1";
  908                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  909                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  910                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  911         };
  912 
  913         pmic_selb: pmic-selb-pins {
  914                 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
  915                                "gph0-6";
  916                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
  917                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  918                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
  919         };
  920 };
  921 
  922 &pmu_system_controller {
  923         assigned-clocks = <&pmu_system_controller 0>;
  924         assigned-clock-parents = <&clock CLK_FIN_PLL>;
  925 };
  926 
  927 &rtc {
  928         status = "okay";
  929         clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
  930         clock-names = "rtc", "rtc_src";
  931 };
  932 
  933 &spi_2 {
  934         status = "okay";
  935         num-cs = <1>;
  936         samsung,spi-src-clk = <0>;
  937         cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
  938 
  939         cros_ec: cros-ec@0 {
  940                 compatible = "google,cros-ec-spi";
  941                 interrupt-parent = <&gpx1>;
  942                 interrupts = <5 IRQ_TYPE_NONE>;
  943                 pinctrl-names = "default";
  944                 pinctrl-0 = <&ec_spi_cs &ec_irq>;
  945                 reg = <0>;
  946                 spi-max-frequency = <3125000>;
  947                 google,has-vbc-nvram;
  948 
  949                 controller-data {
  950                         samsung,spi-feedback-delay = <1>;
  951                 };
  952 
  953                 i2c_tunnel: i2c-tunnel {
  954                         compatible = "google,cros-ec-i2c-tunnel";
  955                         #address-cells = <1>;
  956                         #size-cells = <0>;
  957                         google,remote-bus = <0>;
  958 
  959                         battery: sbs-battery@b {
  960                                 compatible = "sbs,sbs-battery";
  961                                 reg = <0xb>;
  962                                 sbs,poll-retry-count = <1>;
  963                                 sbs,i2c-retry-count = <2>;
  964                         };
  965 
  966                         power-regulator@48 {
  967                                 compatible = "ti,tps65090";
  968                                 reg = <0x48>;
  969 
  970                                 /*
  971                                  * Config irq to disable internal pulls
  972                                  * even though we run in polling mode.
  973                                  */
  974                                 pinctrl-names = "default";
  975                                 pinctrl-0 = <&tps65090_irq>;
  976 
  977                                 vsys1-supply = <&vbat>;
  978                                 vsys2-supply = <&vbat>;
  979                                 vsys3-supply = <&vbat>;
  980                                 infet1-supply = <&vbat>;
  981                                 infet2-supply = <&tps65090_dcdc1>;
  982                                 infet3-supply = <&tps65090_dcdc2>;
  983                                 infet4-supply = <&tps65090_dcdc2>;
  984                                 infet5-supply = <&tps65090_dcdc2>;
  985                                 infet6-supply = <&tps65090_dcdc2>;
  986                                 infet7-supply = <&tps65090_dcdc1>;
  987                                 vsys-l1-supply = <&vbat>;
  988                                 vsys-l2-supply = <&vbat>;
  989 
  990                                 regulators {
  991                                         tps65090_dcdc1: dcdc1 {
  992                                                 ti,enable-ext-control;
  993                                         };
  994                                         tps65090_dcdc2: dcdc2 {
  995                                                 ti,enable-ext-control;
  996                                         };
  997                                         tps65090_dcdc3: dcdc3 {
  998                                                 ti,enable-ext-control;
  999                                         };
 1000                                         tps65090_fet1: fet1 {
 1001                                                 regulator-name = "vcd_led";
 1002                                         };
 1003                                         tps65090_fet2: fet2 {
 1004                                                 regulator-name = "video_mid";
 1005                                                 regulator-always-on;
 1006                                         };
 1007                                         tps65090_fet3: fet3 {
 1008                                                 regulator-name = "wwan_r";
 1009                                                 regulator-always-on;
 1010                                         };
 1011                                         tps65090_fet4: fet4 {
 1012                                                 regulator-name = "sdcard";
 1013                                                 regulator-always-on;
 1014                                         };
 1015                                         tps65090_fet5: fet5 {
 1016                                                 regulator-name = "camout";
 1017                                                 regulator-always-on;
 1018                                         };
 1019                                         tps65090_fet6: fet6 {
 1020                                                 regulator-name = "lcd_vdd";
 1021                                         };
 1022                                         tps65090_fet7: fet7 {
 1023                                                 regulator-name = "video_mid_1a";
 1024                                                 regulator-always-on;
 1025                                         };
 1026                                         tps65090_ldo1: ldo1 {
 1027                                         };
 1028                                         tps65090_ldo2: ldo2 {
 1029                                         };
 1030                                 };
 1031 
 1032                                 charger {
 1033                                         compatible = "ti,tps65090-charger";
 1034                                 };
 1035                         };
 1036                 };
 1037         };
 1038 };
 1039 
 1040 &serial_3 {
 1041         status = "okay";
 1042 };
 1043 
 1044 &timer {
 1045         arm,cpu-registers-not-fw-configured;
 1046 };
 1047 
 1048 &tmu_cpu0 {
 1049         vtmu-supply = <&ldo10_reg>;
 1050 };
 1051 
 1052 &tmu_cpu1 {
 1053         vtmu-supply = <&ldo10_reg>;
 1054 };
 1055 
 1056 &tmu_cpu2 {
 1057         vtmu-supply = <&ldo10_reg>;
 1058 };
 1059 
 1060 &tmu_cpu3 {
 1061         vtmu-supply = <&ldo10_reg>;
 1062 };
 1063 
 1064 &tmu_gpu {
 1065         vtmu-supply = <&ldo10_reg>;
 1066 };
 1067 
 1068 &usbdrd3_0 {
 1069         vdd10-supply = <&ldo15_reg>;
 1070         vdd33-supply = <&ldo12_reg>;
 1071 };
 1072 
 1073 &usbdrd3_1 {
 1074         vdd10-supply = <&ldo15_reg>;
 1075         vdd33-supply = <&ldo12_reg>;
 1076 };
 1077 
 1078 &usbdrd_dwc3_0 {
 1079         dr_mode = "host";
 1080 };
 1081 
 1082 &usbdrd_dwc3_1 {
 1083         dr_mode = "host";
 1084 };
 1085 
 1086 &usbdrd_phy0 {
 1087         vbus-supply = <&usb300_vbus_reg>;
 1088 };
 1089 
 1090 &usbdrd_phy1 {
 1091         vbus-supply = <&usb301_vbus_reg>;
 1092 };
 1093 
 1094 /*
 1095  * Use longest HW watchdog in SoC (32 seconds) since the hardware
 1096  * watchdog provides no debugging information (compared to soft/hard
 1097  * lockup detectors) and so should be last resort.
 1098  */
 1099 &watchdog {
 1100         timeout-sec = <32>;
 1101 };
 1102 
 1103 #include "cros-ec-keyboard.dtsi"
 1104 #include "cros-adc-thermistors.dtsi"

Cache object: b415f270c74840777c7e074144cbcd50


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