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


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

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/qcom/sm8150-sony-xperia-kumano.dtsi

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

    1 // SPDX-License-Identifier: BSD-3-Clause
    2 /*
    3  * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
    4  */
    5 
    6 /dts-v1/;
    7 
    8 #include <dt-bindings/gpio/gpio.h>
    9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
   10 #include "sm8150.dtsi"
   11 #include "pm8150.dtsi"
   12 #include "pm8150b.dtsi"
   13 #include "pm8150l.dtsi"
   14 
   15 /delete-node/ &cdsp_mem;
   16 /delete-node/ &gpu_mem;
   17 /delete-node/ &ipa_fw_mem;
   18 /delete-node/ &ipa_gsi_mem;
   19 /delete-node/ &mpss_mem;
   20 /delete-node/ &slpi_mem;
   21 /delete-node/ &spss_mem;
   22 /delete-node/ &venus_mem;
   23 
   24 / {
   25         qcom,msm-id = <339 0x20000>; /* SM8150 v2 */
   26         qcom,board-id = <8 0>;
   27 
   28         chosen {
   29                 #address-cells = <2>;
   30                 #size-cells = <2>;
   31                 ranges;
   32 
   33                 framebuffer: framebuffer@9c000000 {
   34                         compatible = "simple-framebuffer";
   35                         reg = <0 0x9c000000 0 0x2300000>;
   36                         width = <1644>;
   37                         height = <3840>;
   38                         stride = <(1644 * 4)>;
   39                         format = "a8r8g8b8";
   40                         /*
   41                          * That's (going to be) a lot of clocks, but it's necessary due
   42                          * to unused clk cleanup & no panel driver yet (& no dispcc either)..
   43                          */
   44                         clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
   45                                  <&gcc GCC_DISP_SF_AXI_CLK>;
   46                 };
   47         };
   48 
   49         vph_pwr: vph-pwr-regulator {
   50                 compatible = "regulator-fixed";
   51                 regulator-name = "vph_pwr";
   52                 regulator-min-microvolt = <3700000>;
   53                 regulator-max-microvolt = <3700000>;
   54         };
   55 
   56         /*
   57          * Apparently RPMh does not provide support for PM8150 S4 because it
   58          * is always-on; model it as a fixed regulator.
   59          */
   60         vreg_s4a_1p8: pm8150-s4 {
   61                 compatible = "regulator-fixed";
   62                 regulator-name = "vreg_s4a_1p8";
   63 
   64                 regulator-min-microvolt = <1800000>;
   65                 regulator-max-microvolt = <1800000>;
   66 
   67                 regulator-always-on;
   68                 regulator-boot-on;
   69 
   70                 vin-supply = <&vph_pwr>;
   71         };
   72 
   73         reserved-memory {
   74                 mpss_mem: memory@8dc00000 {
   75                         reg = <0x0 0x8dc00000 0x0 0x9600000>;
   76                         no-map;
   77                 };
   78 
   79                 venus_mem: memory@97200000 {
   80                         reg = <0x0 0x97200000 0x0 0x500000>;
   81                         no-map;
   82                 };
   83 
   84                 slpi_mem: memory@97700000 {
   85                         reg = <0x0 0x97700000 0x0 0x1400000>;
   86                         no-map;
   87                 };
   88 
   89                 ipa_fw_mem: memory@98b00000 {
   90                         reg = <0x0 0x98b00000 0x0 0x10000>;
   91                         no-map;
   92                 };
   93 
   94                 ipa_gsi_mem: memory@98b10000 {
   95                         reg = <0x0 0x98b10000 0x0 0x5000>;
   96                         no-map;
   97                 };
   98 
   99                 gpu_mem: memory@98b15000 {
  100                         reg = <0x0 0x98b15000 0x0 0x2000>;
  101                         no-map;
  102                 };
  103 
  104                 spss_mem: memory@98c00000 {
  105                         reg = <0x0 0x98c00000 0x0 0x100000>;
  106                         no-map;
  107                 };
  108 
  109                 cdsp_mem: memory@98d00000 {
  110                         reg = <0x0 0x98d00000 0x0 0x1400000>;
  111                         no-map;
  112                 };
  113 
  114                 cont_splash_mem: memory@9c000000 {
  115                         reg = <0x0 0x9c000000 0x0 0x2400000>;
  116                         no-map;
  117                 };
  118 
  119                 cdsp_sec_mem: memory@a4c00000 {
  120                         reg = <0x0 0xa4c00000 0x0 0x3c00000>;
  121                         no-map;
  122                 };
  123 
  124                 ramoops@ffc00000 {
  125                         compatible = "ramoops";
  126                         reg = <0x0 0xffc00000 0x0 0x100000>;
  127                         record-size = <0x1000>;
  128                         console-size = <0x40000>;
  129                         msg-size = <0x20000 0x20000>;
  130                         ecc-size = <16>;
  131                         no-map;
  132                 };
  133         };
  134 };
  135 
  136 &adsp_mem {
  137         reg = <0x0 0x8be00000 0x0 0x1e00000>;
  138 };
  139 
  140 &apps_rsc {
  141         pm8150-rpmh-regulators {
  142                 compatible = "qcom,pm8150-rpmh-regulators";
  143                 qcom,pmic-id = "a";
  144 
  145                 vdd-s1-supply = <&vph_pwr>;
  146                 vdd-s2-supply = <&vph_pwr>;
  147                 vdd-s3-supply = <&vph_pwr>;
  148                 vdd-s4-supply = <&vph_pwr>;
  149                 vdd-s5-supply = <&vph_pwr>;
  150                 vdd-s6-supply = <&vph_pwr>;
  151                 vdd-s7-supply = <&vph_pwr>;
  152                 vdd-s8-supply = <&vph_pwr>;
  153                 vdd-s9-supply = <&vph_pwr>;
  154                 vdd-s10-supply = <&vph_pwr>;
  155 
  156                 vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
  157                 vdd-l2-l10-supply = <&vreg_bob>;
  158                 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
  159                 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
  160                 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
  161                 vdd-l13-l16-l17-supply = <&vreg_bob>;
  162 
  163                 vreg_s2a_0p6: smps2 {
  164                         regulator-min-microvolt = <600000>;
  165                         regulator-max-microvolt = <600000>;
  166                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  167                 };
  168 
  169                 vreg_s5a_1p9: smps5 {
  170                         regulator-min-microvolt = <1904000>;
  171                         regulator-max-microvolt = <2040000>;
  172                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  173                 };
  174 
  175                 vreg_s6a_0p9: smps6 {
  176                         regulator-min-microvolt = <920000>;
  177                         regulator-max-microvolt = <1128000>;
  178                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  179                 };
  180 
  181                 vreg_l1a_0p75: ldo1 {
  182                         regulator-min-microvolt = <752000>;
  183                         regulator-max-microvolt = <752000>;
  184                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  185                 };
  186 
  187                 vreg_l2a_3p1: ldo2 {
  188                         regulator-min-microvolt = <3072000>;
  189                         regulator-max-microvolt = <3072000>;
  190                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  191                 };
  192 
  193                 vreg_l3a_0p8: ldo3 {
  194                         regulator-min-microvolt = <480000>;
  195                         regulator-max-microvolt = <932000>;
  196                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  197                 };
  198 
  199                 vreg_l5a_0p875: ldo5 {
  200                         regulator-min-microvolt = <880000>;
  201                         regulator-max-microvolt = <880000>;
  202                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  203                 };
  204 
  205                 vreg_l6a_1p2: ldo6 {
  206                         regulator-min-microvolt = <1200000>;
  207                         regulator-max-microvolt = <1200000>;
  208                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  209                 };
  210 
  211                 vreg_l7a_1p8: ldo7 {
  212                         regulator-min-microvolt = <1800000>;
  213                         regulator-max-microvolt = <1800000>;
  214                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  215                 };
  216 
  217                 vreg_l9a_1p2: ldo9 {
  218                         regulator-min-microvolt = <1200000>;
  219                         regulator-max-microvolt = <1200000>;
  220                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  221                 };
  222 
  223                 vreg_l10a_2p5: ldo10 {
  224                         regulator-min-microvolt = <2504000>;
  225                         regulator-max-microvolt = <2960000>;
  226                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  227                 };
  228 
  229                 vreg_l11a_0p8: ldo11 {
  230                         regulator-min-microvolt = <800000>;
  231                         regulator-max-microvolt = <800000>;
  232                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  233                 };
  234 
  235                 vreg_l12a_1p8: ldo12 {
  236                         regulator-min-microvolt = <1800000>;
  237                         regulator-max-microvolt = <1800000>;
  238                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  239                 };
  240 
  241                 /* L13 is unused. */
  242 
  243                 vreg_l14a_1p8: ldo14 {
  244                         regulator-min-microvolt = <1800000>;
  245                         regulator-max-microvolt = <1800000>;
  246                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  247                 };
  248 
  249                 vreg_l15a_1p7: ldo15 {
  250                         regulator-min-microvolt = <1704000>;
  251                         regulator-max-microvolt = <1704000>;
  252                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  253                 };
  254 
  255                 vreg_l16a_2p7: ldo16 {
  256                         regulator-min-microvolt = <2704000>;
  257                         regulator-max-microvolt = <2960000>;
  258                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  259                 };
  260 
  261                 vreg_l17a_3p0: ldo17 {
  262                         regulator-min-microvolt = <2856000>;
  263                         regulator-max-microvolt = <3008000>;
  264                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  265                 };
  266 
  267                 vreg_l18a_0p8: ldo18 {
  268                         regulator-min-microvolt = <880000>;
  269                         regulator-max-microvolt = <912000>;
  270                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  271                 };
  272         };
  273 
  274         pm8150l-rpmh-regulators {
  275                 compatible = "qcom,pm8150l-rpmh-regulators";
  276                 qcom,pmic-id = "c";
  277 
  278                 vdd-s1-supply = <&vph_pwr>;
  279                 vdd-s2-supply = <&vph_pwr>;
  280                 vdd-s3-supply = <&vph_pwr>;
  281                 vdd-s4-supply = <&vph_pwr>;
  282                 vdd-s5-supply = <&vph_pwr>;
  283                 vdd-s6-supply = <&vph_pwr>;
  284                 vdd-s7-supply = <&vph_pwr>;
  285                 vdd-s8-supply = <&vph_pwr>;
  286 
  287                 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
  288                 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
  289                 vdd-l4-l5-l6-supply = <&vreg_bob>;
  290                 vdd-l7-l11-supply = <&vreg_bob>;
  291                 vdd-l9-l10-supply = <&vreg_bob>;
  292 
  293                 vdd-bob-supply = <&vph_pwr>;
  294                 vdd-flash-supply = <&vreg_bob>;
  295                 vdd-rgb-supply = <&vreg_bob>;
  296 
  297                 vreg_bob: bob {
  298                         regulator-min-microvolt = <3350000>;
  299                         regulator-max-microvolt = <4000000>;
  300                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
  301                         regulator-allow-bypass;
  302                 };
  303 
  304                 vreg_s1c_1p1: smps1 {
  305                         regulator-min-microvolt = <1128000>;
  306                         regulator-max-microvolt = <1128000>;
  307                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  308                 };
  309 
  310                 vreg_s8c_1p3: smps8 {
  311                         regulator-min-microvolt = <1352000>;
  312                         regulator-max-microvolt = <1352000>;
  313                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  314                 };
  315 
  316                 vreg_l1c_1p8: ldo1 {
  317                         regulator-min-microvolt = <1800000>;
  318                         regulator-max-microvolt = <1800000>;
  319                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  320                 };
  321 
  322                 vreg_l2c_1p3: ldo2 {
  323                         regulator-min-microvolt = <1304000>;
  324                         regulator-max-microvolt = <1304000>;
  325                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  326                 };
  327 
  328                 vreg_l3c_1p2: ldo3 {
  329                         regulator-min-microvolt = <1200000>;
  330                         regulator-max-microvolt = <1200000>;
  331                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  332                 };
  333 
  334                 vreg_l4c_1p8: ldo4 {
  335                         regulator-min-microvolt = <1704000>;
  336                         regulator-max-microvolt = <2928000>;
  337                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  338                 };
  339 
  340                 vreg_l5c_1p8: ldo5 {
  341                         regulator-min-microvolt = <1704000>;
  342                         regulator-max-microvolt = <2928000>;
  343                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  344                 };
  345 
  346                 vreg_l6c_2p9: ldo6 {
  347                         regulator-min-microvolt = <1800000>;
  348                         regulator-max-microvolt = <2960000>;
  349                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  350                         regulator-allow-set-load;
  351                 };
  352 
  353                 vreg_l7c_3p0: ldo7 {
  354                         regulator-min-microvolt = <2856000>;
  355                         regulator-max-microvolt = <3104000>;
  356                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  357                 };
  358 
  359                 vreg_l8c_1p8: ldo8 {
  360                         regulator-min-microvolt = <1800000>;
  361                         regulator-max-microvolt = <1800000>;
  362                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  363                 };
  364 
  365                 vreg_l9c_2p9: ldo9 {
  366                         regulator-min-microvolt = <2704000>;
  367                         regulator-max-microvolt = <2960000>;
  368                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  369                         regulator-allow-set-load;
  370                 };
  371 
  372                 vreg_l10c_3p3: ldo10 {
  373                         regulator-min-microvolt = <3000000>;
  374                         regulator-max-microvolt = <3312000>;
  375                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  376                 };
  377 
  378                 vreg_l11c_3p3: ldo11 {
  379                         regulator-min-microvolt = <3000000>;
  380                         regulator-max-microvolt = <3312000>;
  381                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  382                 };
  383         };
  384 
  385         /* PM8009 is not present on these boards, even if downstream sources suggest so. */
  386 };
  387 
  388 &i2c4 {
  389         status = "okay";
  390 
  391         /* Qcom SMB1355 @ c */
  392         /* Qcom SMB1390 @ 10 */
  393         /* NXP PN553 NFC @ 28 */
  394         /* Qcom FSA4480 USB-C audio switch @ 43 */
  395 };
  396 
  397 &i2c7 {
  398         status = "okay";
  399 
  400         /* AMS TCS3490 RGB+IR color sensor @ 72 */
  401 };
  402 
  403 &i2c10 {
  404         status = "okay";
  405 
  406         /* Samsung touchscreen @ 48 */
  407 };
  408 
  409 &pon_pwrkey {
  410         status = "okay";
  411 };
  412 
  413 &qupv3_id_0 {
  414         status = "okay";
  415 };
  416 
  417 &qupv3_id_1 {
  418         status = "okay";
  419 };
  420 
  421 &tlmm {
  422         gpio-reserved-ranges = <126 4>;
  423 };
  424 
  425 &uart2 {
  426         status = "okay";
  427 };
  428 
  429 /* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
  430 &ufs_mem_hc { status = "disabled"; };
  431 &ufs_mem_phy { status = "disabled"; };
  432 
  433 &usb_1 {
  434         status = "okay";
  435 };
  436 
  437 &usb_1_dwc3 {
  438         dr_mode = "peripheral";
  439 };
  440 
  441 &usb_1_hsphy {
  442         status = "okay";
  443         vdda-pll-supply = <&vreg_l5a_0p875>;
  444         vdda33-supply = <&vreg_l2a_3p1>;
  445         vdda18-supply = <&vreg_l12a_1p8>;
  446 };
  447 
  448 &usb_1_qmpphy {
  449         status = "okay";
  450         vdda-phy-supply = <&vreg_l3c_1p2>;
  451         vdda-pll-supply = <&vreg_l18a_0p8>;
  452 };

Cache object: 55be30262e875673f00b9f80dc733b82


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