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/allwinner/sun50i-a64-pinebook.dts

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

    1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
    2 // Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
    3 // Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
    4 
    5 /dts-v1/;
    6 
    7 #include "sun50i-a64.dtsi"
    8 #include "sun50i-a64-cpu-opp.dtsi"
    9 
   10 #include <dt-bindings/gpio/gpio.h>
   11 #include <dt-bindings/input/gpio-keys.h>
   12 #include <dt-bindings/input/input.h>
   13 #include <dt-bindings/pwm/pwm.h>
   14 
   15 / {
   16         model = "Pinebook";
   17         compatible = "pine64,pinebook", "allwinner,sun50i-a64";
   18         chassis-type = "laptop";
   19 
   20         aliases {
   21                 serial0 = &uart0;
   22                 ethernet0 = &rtl8723cs;
   23         };
   24 
   25         backlight: backlight {
   26                 compatible = "pwm-backlight";
   27                 pwms = <&pwm 0 50000 0>;
   28                 brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
   29                 default-brightness-level = <2>;
   30                 enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
   31                 power-supply = <&reg_vbklt>;
   32         };
   33 
   34         chosen {
   35                 stdout-path = "serial0:115200n8";
   36         };
   37 
   38         gpio-keys {
   39                 compatible = "gpio-keys";
   40 
   41                 lid-switch {
   42                         label = "Lid Switch";
   43                         gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
   44                         linux,input-type = <EV_SW>;
   45                         linux,code = <SW_LID>;
   46                         linux,can-disable;
   47                         wakeup-source;
   48                         wakeup-event-action = <EV_ACT_DEASSERTED>;
   49                 };
   50         };
   51 
   52         panel_edp: panel-edp {
   53                 compatible = "neweast,wjfh116008a";
   54                 backlight = <&backlight>;
   55                 power-supply = <&reg_dc1sw>;
   56 
   57                 port {
   58                         panel_edp_in: endpoint {
   59                                 remote-endpoint = <&anx6345_out_edp>;
   60                         };
   61                 };
   62         };
   63 
   64         reg_vbklt: vbklt {
   65                 compatible = "regulator-fixed";
   66                 regulator-name = "vbklt";
   67                 regulator-min-microvolt = <18000000>;
   68                 regulator-max-microvolt = <18000000>;
   69                 gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
   70                 enable-active-high;
   71         };
   72 
   73         reg_vcc5v0: vcc5v0 {
   74                 compatible = "regulator-fixed";
   75                 regulator-name = "vcc5v0";
   76                 regulator-min-microvolt = <5000000>;
   77                 regulator-max-microvolt = <5000000>;
   78                 gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
   79                 enable-active-high;
   80         };
   81 
   82         wifi_pwrseq: wifi_pwrseq {
   83                 compatible = "mmc-pwrseq-simple";
   84                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
   85         };
   86 
   87         speaker_amp: audio-amplifier {
   88                 compatible = "simple-audio-amplifier";
   89                 VCC-supply = <&reg_vcc5v0>;
   90                 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
   91                 sound-name-prefix = "Speaker Amp";
   92         };
   93 
   94 };
   95 
   96 &codec {
   97         status = "okay";
   98 };
   99 
  100 &codec_analog {
  101         cpvdd-supply = <&reg_eldo1>;
  102         status = "okay";
  103 };
  104 
  105 &cpu0 {
  106         cpu-supply = <&reg_dcdc2>;
  107 };
  108 
  109 &cpu1 {
  110         cpu-supply = <&reg_dcdc2>;
  111 };
  112 
  113 &cpu2 {
  114         cpu-supply = <&reg_dcdc2>;
  115 };
  116 
  117 &cpu3 {
  118         cpu-supply = <&reg_dcdc2>;
  119 };
  120 
  121 &dai {
  122         status = "okay";
  123 };
  124 
  125 &de {
  126         status = "okay";
  127 };
  128 
  129 &ehci0 {
  130         status = "okay";
  131 };
  132 
  133 &ehci1 {
  134         status = "okay";
  135 };
  136 
  137 &mixer0 {
  138         status = "okay";
  139 };
  140 
  141 &mmc0 {
  142         pinctrl-names = "default";
  143         pinctrl-0 = <&mmc0_pins>;
  144         vmmc-supply = <&reg_dcdc1>;
  145         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
  146         disable-wp;
  147         bus-width = <4>;
  148         status = "okay";
  149 };
  150 
  151 &mmc1 {
  152         pinctrl-names = "default";
  153         pinctrl-0 = <&mmc1_pins>;
  154         vmmc-supply = <&reg_dldo4>;
  155         vqmmc-supply = <&reg_eldo1>;
  156         mmc-pwrseq = <&wifi_pwrseq>;
  157         bus-width = <4>;
  158         non-removable;
  159         status = "okay";
  160 
  161         rtl8723cs: wifi@1 {
  162                 reg = <1>;
  163         };
  164 };
  165 
  166 &mmc2 {
  167         pinctrl-names = "default";
  168         pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
  169         vmmc-supply = <&reg_dcdc1>;
  170         vqmmc-supply = <&reg_eldo1>;
  171         max-frequency = <200000000>;
  172         bus-width = <8>;
  173         non-removable;
  174         cap-mmc-hw-reset;
  175         mmc-hs200-1_8v;
  176         status = "okay";
  177 };
  178 
  179 &ohci0 {
  180         status = "okay";
  181 };
  182 
  183 &ohci1 {
  184         status = "okay";
  185 };
  186 
  187 &pio {
  188         vcc-pc-supply = <&reg_eldo1>;
  189         vcc-pd-supply = <&reg_dcdc1>;
  190         vcc-pe-supply = <&reg_aldo1>;
  191         vcc-pg-supply = <&reg_eldo1>;
  192 };
  193 
  194 &pwm {
  195         status = "okay";
  196 };
  197 
  198 &r_i2c {
  199         clock-frequency = <100000>;
  200         pinctrl-names = "default";
  201         pinctrl-0 = <&r_i2c_pl89_pins>;
  202         status = "okay";
  203 
  204         anx6345: anx6345@38 {
  205                 compatible = "analogix,anx6345";
  206                 reg = <0x38>;
  207                 reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
  208                 dvdd25-supply = <&reg_dldo2>;
  209                 dvdd12-supply = <&reg_fldo1>;
  210 
  211                 ports {
  212                         #address-cells = <1>;
  213                         #size-cells = <0>;
  214 
  215                         anx6345_in: port@0 {
  216                                 reg = <0>;
  217                                 anx6345_in_tcon0: endpoint {
  218                                         remote-endpoint = <&tcon0_out_anx6345>;
  219                                 };
  220                         };
  221 
  222                         anx6345_out: port@1 {
  223                                 reg = <1>;
  224                                 anx6345_out_edp: endpoint {
  225                                         remote-endpoint = <&panel_edp_in>;
  226                                 };
  227                         };
  228                 };
  229         };
  230 };
  231 
  232 &r_pio {
  233         /*
  234          * FIXME: We can't add that supply for now since it would
  235          * create a circular dependency between pinctrl, the regulator
  236          * and the RSB Bus.
  237          *
  238          * vcc-pl-supply = <&reg_aldo2>;
  239          */
  240 };
  241 
  242 &r_rsb {
  243         status = "okay";
  244 
  245         axp803: pmic@3a3 {
  246                 compatible = "x-powers,axp803";
  247                 reg = <0x3a3>;
  248                 interrupt-parent = <&r_intc>;
  249                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
  250         };
  251 };
  252 
  253 #include "axp803.dtsi"
  254 
  255 &ac_power_supply {
  256         status = "okay";
  257 };
  258 
  259 &battery_power_supply {
  260         status = "okay";
  261 };
  262 
  263 &reg_aldo1 {
  264         regulator-name = "vcc-pe";
  265 };
  266 
  267 &reg_aldo2 {
  268         regulator-always-on;
  269         regulator-min-microvolt = <1800000>;
  270         regulator-max-microvolt = <3300000>;
  271         regulator-name = "vcc-pl";
  272 };
  273 
  274 &reg_aldo3 {
  275         regulator-always-on;
  276         regulator-min-microvolt = <2700000>;
  277         regulator-max-microvolt = <3300000>;
  278         regulator-name = "vcc-pll-avcc";
  279 };
  280 
  281 &reg_dc1sw {
  282         regulator-name = "vcc-lcd";
  283 };
  284 
  285 &reg_dcdc1 {
  286         regulator-always-on;
  287         regulator-min-microvolt = <3300000>;
  288         regulator-max-microvolt = <3300000>;
  289         regulator-name = "vcc-3v3";
  290 };
  291 
  292 &reg_dcdc2 {
  293         regulator-always-on;
  294         regulator-min-microvolt = <1000000>;
  295         regulator-max-microvolt = <1300000>;
  296         regulator-name = "vdd-cpux";
  297 };
  298 
  299 /* DCDC3 is polyphased with DCDC2 */
  300 
  301 &reg_dcdc5 {
  302         regulator-always-on;
  303         regulator-min-microvolt = <1200000>;
  304         regulator-max-microvolt = <1200000>;
  305         regulator-name = "vcc-dram";
  306 };
  307 
  308 &reg_dcdc6 {
  309         regulator-always-on;
  310         regulator-min-microvolt = <1100000>;
  311         regulator-max-microvolt = <1100000>;
  312         regulator-name = "vdd-sys";
  313 };
  314 
  315 &reg_dldo1 {
  316         regulator-min-microvolt = <3300000>;
  317         regulator-max-microvolt = <3300000>;
  318         regulator-name = "vcc-hdmi";
  319 };
  320 
  321 &reg_dldo2 {
  322         regulator-min-microvolt = <2500000>;
  323         regulator-max-microvolt = <2500000>;
  324         regulator-name = "vcc-edp";
  325 };
  326 
  327 &reg_dldo4 {
  328         regulator-min-microvolt = <3300000>;
  329         regulator-max-microvolt = <3300000>;
  330         regulator-name = "vcc-wifi";
  331 };
  332 
  333 &reg_eldo1 {
  334         regulator-always-on;
  335         regulator-min-microvolt = <1800000>;
  336         regulator-max-microvolt = <1800000>;
  337         regulator-name = "cpvdd";
  338 };
  339 
  340 &reg_fldo1 {
  341         regulator-min-microvolt = <1200000>;
  342         regulator-max-microvolt = <1200000>;
  343         regulator-name = "vcc-1v2-hsic";
  344 };
  345 
  346 &reg_fldo2 {
  347         regulator-always-on;
  348         regulator-min-microvolt = <1100000>;
  349         regulator-max-microvolt = <1100000>;
  350         regulator-name = "vdd-cpus";
  351 };
  352 
  353 &reg_rtc_ldo {
  354         regulator-name = "vcc-rtc";
  355 };
  356 
  357 &simplefb_lcd {
  358         panel-supply = <&reg_dc1sw>;
  359         dvdd25-supply = <&reg_dldo2>;
  360         dvdd12-supply = <&reg_fldo1>;
  361 };
  362 
  363 &simplefb_hdmi {
  364         vcc-hdmi-supply = <&reg_dldo1>;
  365 };
  366 
  367 &sound {
  368         status = "okay";
  369         simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
  370         simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
  371                                     "Microphone", "Internal Microphone Right",
  372                                     "Headphone", "Headphone Jack",
  373                                     "Speaker", "Internal Speaker";
  374         simple-audio-card,routing =
  375                         "Left DAC", "DACL",
  376                         "Right DAC", "DACR",
  377                         "Speaker Amp INL", "LINEOUT",
  378                         "Speaker Amp INR", "LINEOUT",
  379                         "Internal Speaker", "Speaker Amp OUTL",
  380                         "Internal Speaker", "Speaker Amp OUTR",
  381                         "Headphone Jack", "HP",
  382                         "ADCL", "Left ADC",
  383                         "ADCR", "Right ADC",
  384                         "Internal Microphone Left", "MBIAS",
  385                         "MIC1", "Internal Microphone Left",
  386                         "Internal Microphone Right", "HBIAS",
  387                         "MIC2", "Internal Microphone Right";
  388 };
  389 
  390 &tcon0 {
  391         pinctrl-names = "default";
  392         pinctrl-0 = <&lcd_rgb666_pins>;
  393 
  394         status = "okay";
  395 };
  396 
  397 &tcon0_out {
  398         tcon0_out_anx6345: endpoint {
  399                 remote-endpoint = <&anx6345_in_tcon0>;
  400         };
  401 };
  402 
  403 &uart0 {
  404         pinctrl-names = "default";
  405         pinctrl-0 = <&uart0_pb_pins>;
  406         status = "okay";
  407 };
  408 
  409 &usb_otg {
  410         dr_mode = "host";
  411 };
  412 
  413 &usbphy {
  414         usb0_vbus-supply = <&reg_vcc5v0>;
  415         usb1_vbus-supply = <&reg_vcc5v0>;
  416         status = "okay";
  417 };

Cache object: d0bea4ec6aa244e501471bedfd67a9e4


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