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/sc8280xp-lenovo-thinkpad-x13s.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: BSD-3-Clause
    2 /*
    3  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
    4  * Copyright (c) 2022, Linaro Limited
    5  */
    6 
    7 /dts-v1/;
    8 
    9 #include <dt-bindings/gpio/gpio.h>
   10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
   11 
   12 #include "sc8280xp.dtsi"
   13 #include "sc8280xp-pmics.dtsi"
   14 
   15 / {
   16         model = "Lenovo ThinkPad X13s";
   17         compatible = "lenovo,thinkpad-x13s", "qcom,sc8280xp";
   18 
   19         backlight {
   20                 compatible = "pwm-backlight";
   21                 pwms = <&pmc8280c_lpg 3 1000000>;
   22                 enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
   23                 power-supply = <&vreg_edp_bl>;
   24 
   25                 pinctrl-names = "default";
   26                 pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
   27         };
   28 
   29         vreg_edp_bl: regulator-edp-bl {
   30                 compatible = "regulator-fixed";
   31 
   32                 regulator-name = "VBL9";
   33                 regulator-min-microvolt = <3600000>;
   34                 regulator-max-microvolt = <3600000>;
   35 
   36                 gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
   37                 enable-active-high;
   38 
   39                 pinctrl-names = "default";
   40                 pinctrl-0 = <&edp_bl_reg_en>;
   41 
   42                 regulator-boot-on;
   43         };
   44 
   45         vreg_misc_3p3: regulator-misc-3p3 {
   46                 compatible = "regulator-fixed";
   47 
   48                 regulator-name = "VCC3B";
   49                 regulator-min-microvolt = <3300000>;
   50                 regulator-max-microvolt = <3300000>;
   51 
   52                 gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
   53                 enable-active-high;
   54 
   55                 pinctrl-names = "default";
   56                 pinctrl-0 = <&misc_3p3_reg_en>;
   57 
   58                 regulator-boot-on;
   59                 regulator-always-on;
   60         };
   61 };
   62 
   63 &apps_rsc {
   64         pmc8280-1-rpmh-regulators {
   65                 compatible = "qcom,pm8350-rpmh-regulators";
   66                 qcom,pmic-id = "b";
   67 
   68                 vdd-l3-l5-supply = <&vreg_s11b>;
   69 
   70                 vreg_s11b: smps11 {
   71                         regulator-name = "vreg_s11b";
   72                         regulator-min-microvolt = <1272000>;
   73                         regulator-max-microvolt = <1272000>;
   74                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
   75                 };
   76 
   77                 vreg_l3b: ldo3 {
   78                         regulator-name = "vreg_l3b";
   79                         regulator-min-microvolt = <1200000>;
   80                         regulator-max-microvolt = <1200000>;
   81                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
   82                         regulator-allow-set-load;
   83                         regulator-boot-on;
   84                 };
   85 
   86                 vreg_l4b: ldo4 {
   87                         regulator-name = "vreg_l4b";
   88                         regulator-min-microvolt = <912000>;
   89                         regulator-max-microvolt = <912000>;
   90                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
   91                         regulator-allow-set-load;
   92                 };
   93 
   94                 vreg_l6b: ldo6 {
   95                         regulator-name = "vreg_l6b";
   96                         regulator-min-microvolt = <880000>;
   97                         regulator-max-microvolt = <880000>;
   98                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
   99                         regulator-allow-set-load;
  100                         regulator-boot-on;
  101                         regulator-always-on;    // FIXME: VDD_A_EDP_0_0P9
  102                 };
  103         };
  104 
  105         pmc8280c-rpmh-regulators {
  106                 compatible = "qcom,pm8350c-rpmh-regulators";
  107                 qcom,pmic-id = "c";
  108 
  109                 vreg_l1c: ldo1 {
  110                         regulator-name = "vreg_l1c";
  111                         regulator-min-microvolt = <1800000>;
  112                         regulator-max-microvolt = <1800000>;
  113                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  114                         regulator-allow-set-load;
  115                 };
  116 
  117                 vreg_l12c: ldo12 {
  118                         regulator-name = "vreg_l12c";
  119                         regulator-min-microvolt = <1800000>;
  120                         regulator-max-microvolt = <1800000>;
  121                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  122                         regulator-allow-set-load;
  123                 };
  124 
  125                 vreg_l13c: ldo13 {
  126                         regulator-name = "vreg_l13c";
  127                         regulator-min-microvolt = <3072000>;
  128                         regulator-max-microvolt = <3072000>;
  129                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  130                         regulator-allow-set-load;
  131                 };
  132         };
  133 
  134         pmc8280-2-rpmh-regulators {
  135                 compatible = "qcom,pm8350-rpmh-regulators";
  136                 qcom,pmic-id = "d";
  137 
  138                 vdd-l1-l4-supply = <&vreg_s11b>;
  139 
  140                 vreg_l3d: ldo3 {
  141                         regulator-name = "vreg_l3d";
  142                         regulator-min-microvolt = <1200000>;
  143                         regulator-max-microvolt = <1200000>;
  144                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  145                         regulator-allow-set-load;
  146                 };
  147 
  148                 vreg_l4d: ldo4 {
  149                         regulator-name = "vreg_l4d";
  150                         regulator-min-microvolt = <1200000>;
  151                         regulator-max-microvolt = <1200000>;
  152                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  153                         regulator-allow-set-load;
  154                 };
  155 
  156                 vreg_l7d: ldo7 {
  157                         regulator-name = "vreg_l7d";
  158                         regulator-min-microvolt = <3072000>;
  159                         regulator-max-microvolt = <3072000>;
  160                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  161                         regulator-allow-set-load;
  162                 };
  163 
  164                 vreg_l9d: ldo9 {
  165                         regulator-name = "vreg_l9d";
  166                         regulator-min-microvolt = <912000>;
  167                         regulator-max-microvolt = <912000>;
  168                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  169                         regulator-allow-set-load;
  170                 };
  171         };
  172 };
  173 
  174 &pmc8280c_lpg {
  175         status = "okay";
  176 };
  177 
  178 &pmk8280_pon_pwrkey {
  179         status = "okay";
  180 };
  181 
  182 &qup0 {
  183         status = "okay";
  184 };
  185 
  186 &qup0_i2c4 {
  187         clock-frequency = <400000>;
  188 
  189         pinctrl-names = "default";
  190         pinctrl-0 = <&qup0_i2c4_default>, <&ts0_default>;
  191 
  192         status = "okay";
  193 
  194         /* FIXME: verify */
  195         touchscreen@10 {
  196                 compatible = "hid-over-i2c";
  197                 reg = <0x10>;
  198                 hid-descr-addr = <0x1>;
  199                 interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
  200                 vdd-supply = <&vreg_misc_3p3>;
  201         };
  202 };
  203 
  204 &qup1 {
  205         status = "okay";
  206 };
  207 
  208 &qup2 {
  209         status = "okay";
  210 };
  211 
  212 &qup2_i2c5 {
  213         clock-frequency = <400000>;
  214 
  215         pinctrl-names = "default";
  216         pinctrl-0 = <&qup2_i2c5_default>, <&kybd_default>, <&tpad_default>;
  217 
  218         status = "okay";
  219 
  220         touchpad@2c {
  221                 compatible = "hid-over-i2c";
  222                 reg = <0x2c>;
  223                 hid-descr-addr = <0x20>;
  224                 interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
  225                 vdd-supply = <&vreg_misc_3p3>;
  226         };
  227 
  228         keyboard@68 {
  229                 compatible = "hid-over-i2c";
  230                 reg = <0x68>;
  231                 hid-descr-addr = <0x1>;
  232                 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
  233                 vdd-supply = <&vreg_misc_3p3>;
  234         };
  235 };
  236 
  237 &remoteproc_adsp {
  238         firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
  239 
  240         status = "okay";
  241 };
  242 
  243 &remoteproc_nsp0 {
  244         firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";
  245 
  246         status = "okay";
  247 };
  248 
  249 &usb_0 {
  250         status = "okay";
  251 };
  252 
  253 &usb_0_dwc3 {
  254         /* TODO: Define USB-C connector properly */
  255         dr_mode = "host";
  256 };
  257 
  258 &usb_0_hsphy {
  259         vdda-pll-supply = <&vreg_l9d>;
  260         vdda18-supply = <&vreg_l1c>;
  261         vdda33-supply = <&vreg_l7d>;
  262 
  263         status = "okay";
  264 };
  265 
  266 &usb_0_qmpphy {
  267         vdda-phy-supply = <&vreg_l9d>;
  268         vdda-pll-supply = <&vreg_l4d>;
  269 
  270         status = "okay";
  271 };
  272 
  273 &usb_1 {
  274         status = "okay";
  275 };
  276 
  277 &usb_1_dwc3 {
  278         /* TODO: Define USB-C connector properly */
  279         dr_mode = "host";
  280 };
  281 
  282 &usb_1_hsphy {
  283         vdda-pll-supply = <&vreg_l4b>;
  284         vdda18-supply = <&vreg_l1c>;
  285         vdda33-supply = <&vreg_l13c>;
  286 
  287         status = "okay";
  288 };
  289 
  290 &usb_1_qmpphy {
  291         vdda-phy-supply = <&vreg_l4b>;
  292         vdda-pll-supply = <&vreg_l3b>;
  293 
  294         status = "okay";
  295 };
  296 
  297 &xo_board_clk {
  298         clock-frequency = <38400000>;
  299 };
  300 
  301 /* PINCTRL */
  302 
  303 &pmc8280_1_gpios {
  304         edp_bl_en: edp-bl-en-state {
  305                 pins = "gpio8";
  306                 function = "normal";
  307         };
  308 
  309         edp_bl_reg_en: edp-bl-reg-en-state {
  310                 pins = "gpio9";
  311                 function = "normal";
  312         };
  313 
  314         misc_3p3_reg_en: misc-3p3-reg-en-state {
  315                 pins = "gpio1";
  316                 function = "normal";
  317         };
  318 };
  319 
  320 &pmc8280c_gpios {
  321         edp_bl_pwm: edp-bl-pwm-state {
  322                 pins = "gpio8";
  323                 function = "func1";
  324         };
  325 };
  326 
  327 &tlmm {
  328         gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
  329 
  330         kybd_default: kybd-default-state {
  331                 disable {
  332                         pins = "gpio102";
  333                         function = "gpio";
  334                         output-low;
  335                 };
  336 
  337                 int-n {
  338                         pins = "gpio104";
  339                         function = "gpio";
  340                         bias-disable;
  341                 };
  342 
  343                 reset {
  344                         pins = "gpio105";
  345                         function = "gpio";
  346                         bias-disable;
  347                 };
  348         };
  349 
  350         qup0_i2c4_default: qup0-i2c4-default-state {
  351                 pins = "gpio171", "gpio172";
  352                 function = "qup4";
  353                 bias-disable;
  354                 drive-strength = <16>;
  355         };
  356 
  357         qup2_i2c5_default: qup2-i2c5-default-state {
  358                 pins = "gpio81", "gpio82";
  359                 function = "qup21";
  360                 bias-disable;
  361                 drive-strength = <16>;
  362         };
  363 
  364         tpad_default: tpad-default-state {
  365                 int-n {
  366                         pins = "gpio182";
  367                         function = "gpio";
  368                         bias-disable;
  369                 };
  370         };
  371 
  372         ts0_default: ts0-default-state {
  373                 int-n {
  374                         pins = "gpio175";
  375                         function = "gpio";
  376                         bias-pull-up;
  377                 };
  378 
  379                 reset-n {
  380                         pins = "gpio99";
  381                         function = "gpio";
  382                         output-high;
  383                         drive-strength = <16>;
  384                 };
  385         };
  386 };

Cache object: ae330f234b1014997202db8ef7131b15


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