/* * tegra186-quill-p3310-a00-00-base.dts Quill A00 Board * * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ #include #include #include /* comms dtsi file should be included after gpio dtsi file */ #include #include #include #include #include #include / { model = "quill"; compatible = "nvidia,quill", "nvidia,p2597-0000+p3310-1000", "nvidia,tegra186"; nvidia,dtsfilename = __FILE__; nvidia,boardids = "3310:0000:A0"; nvidia,proc-boardid = "3310:0000:A0"; nvidia,fastboot-usb-vid = <0x0955>; nvidia,fastboot-usb-pid = <0xee16>; chosen { board-has-eeprom; #if TEGRA_BOOTARGUMENT_VERSION >= DT_VERSION_2 bootargs ="console=ttyS0,115200 androidboot.presilicon=true firmware_class.path=/etc/firmware"; #else bootargs ="console=ttyS0,115200"; #endif stdout-path = &uarta; nvidia,tegra-joint_xpu_rail; }; firmware { android { compatible = "android,firmware"; hardware = "quill"; vbmeta { compatible = "android,vbmeta"; parts = "vbmeta,kernel,kernel-dtb,kernel-dtbo,APP,vendor,SOS"; }; fstab { compatible = "android,fstab"; vendor { compatible = "android,vendor"; dev = "/dev/block/platform/3460000.sdhci/by-name/vendor"; type = "ext4"; mnt_flags = "ro"; fsmgr_flags = "wait,avb"; }; odm { compatible = "android,odm"; dev = "/dev/block/platform/3460000.sdhci/by-name/odm"; type = "ext4"; mnt_flags = "ro"; fsmgr_flags = "wait,avb"; }; }; }; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x70000000>; }; usb_cd { status = "okay"; phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>; phy-names = "otg-phy"; }; xotg { status = "okay"; phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>; phy-names = "otg-usb2"; }; #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2 xudc@3550000 { status = "okay"; phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>; phy-names = "usb2"; nvidia,boost-cpu-freq = <1200>; }; usb_cd { status = "okay"; phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>; phy-names = "otg-phy"; nvidia,xusb-padctl = <&xusb_padctl>; }; #else xudc@3550000 { status = "okay"; phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>; phy-names = "usb2"; emc-frequency = <150000000>; nvidia,boost-cpu-freq = <1200>; }; #endif #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2 xhci@3530000 { status = "okay"; phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>, <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>, <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>; phy-names = "usb2-0", "usb2-1", "usb3-1"; }; #else xhci@3530000 { status = "okay"; phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>, <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>, <&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>; phy-names = "utmi-0", "utmi-1", "usb3-1"; nvidia,boost_cpu_freq = <800>; }; #endif #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2 xusb_padctl@3520000 { status = "okay"; pinctrl-0 = <&vbus_en0_default_state>; pinctrl-1 = <&vbus_en1_default_state>; pinctrl-2 = <&vbus_en0_sfio_tristate_state>; pinctrl-3 = <&vbus_en1_sfio_tristate_state>; pinctrl-4 = <&vbus_en0_sfio_passthrough_state>; pinctrl-5 = <&vbus_en1_sfio_passthrough_state>; pinctrl-names = "vbus_en0_default", "vbus_en1_default", "vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate", "vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough"; pads { usb2 { lanes { usb2-0 { nvidia,function = "xusb"; status = "okay"; }; usb2-1 { nvidia,function = "xusb"; status = "okay"; }; usb2-2 { nvidia,function = "xusb"; status = "okay"; }; }; }; usb3 { lanes { usb3-0 { nvidia,function = "xusb"; status = "okay"; }; usb3-1 { nvidia,function = "xusb"; status = "okay"; }; usb3-2 { nvidia,function = "xusb"; status = "okay"; }; }; }; }; ports { usb2-0 { status = "okay"; mode = "otg"; vbus-supply = <&vdd_usb0_5v>; nvidia,oc-pin = <0>; }; usb2-1 { status = "okay"; mode = "host"; vbus-supply = <&vdd_usb1_5v>; nvidia,oc-pin = <1>; }; usb3-1 { nvidia,usb2-companion = <1>; status = "okay"; }; }; }; #endif pinctrl@3520000 { status = "okay"; pinctrl-0 = <&tegra_xusb_padctl_pinmux_default>; pinctrl-1 = <&vbus_en0_sfio_tristate_state>; pinctrl-2 = <&vbus_en1_sfio_tristate_state>; pinctrl-3 = <&vbus_en0_sfio_passthrough_state>; pinctrl-4 = <&vbus_en1_sfio_passthrough_state>; pinctrl-5 = <&vbus_en0_default_state>; pinctrl-6 = <&vbus_en1_default_state>; pinctrl-names = "default", "vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate", "vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough", "vbus_en0_default", "vbus_en1_default"; tegra_xusb_padctl_pinmux_default: pinmux { /* Quill does not support usb3-micro AB */ usb2-micro-AB { nvidia,lanes = "otg-0"; nvidia,function = "xusb"; nvidia,port-cap = ; nvidia,oc-pin = <0>; }; usb2-std-A-port2 { nvidia,lanes = "otg-1"; nvidia,function = "xusb"; nvidia,port-cap = ; nvidia,oc-pin = <1>; }; usb3-std-A-port2 { nvidia,lanes = "usb3-1"; nvidia,port-cap = ; nvidia,oc-pin = <1>; }; e3325-usb3-std-A-HS { nvidia,lanes = "otg-2"; nvidia,function = "xusb"; nvidia,port-cap = ; status = "disabled"; }; e3325-usb3-std-A-SS { nvidia,lanes = "usb3-0"; nvidia,port-cap = ; status = "disabled"; }; }; }; pcie-controller@10003000 { status = "okay"; pci@1,0 { nvidia,num-lanes = <2>; status = "okay"; }; pci@2,0 { nvidia,num-lanes = <1>; status = "disabled"; }; pci@3,0 { nvidia,num-lanes = <1>; status = "okay"; }; }; i2c@3160000 { lp8557-backlight-s-wuxga-8-0@2c { status = "disabled"; }; }; i2c@c240000 { clock-frequency = <400000>; }; cpus { status = "disabled"; }; host1x { sor { status = "disabled"; dp-display { status = "disabled"; }; hdmi-display { status = "disabled"; }; panel-s-edp-uhdtv-15-6 { smartdimmer { status = "disabled"; }; }; }; dpaux@155c0000 { status = "disabled"; }; sor1 { status = "okay"; nvidia,active-panel = <&sor1_hdmi_display>; hdmi-display { status = "okay"; }; dp-display { status = "disabled"; }; }; nvdisplay@15200000 { status = "disabled"; }; nvdisplay@15220000 { status = "disabled"; }; }; };