| // SPDX-License-Identifier: GPL-2.0 | 
 | #include "qcom-apq8064-v2.0.dtsi" | 
 | #include <dt-bindings/gpio/gpio.h> | 
 | #include <dt-bindings/input/input.h> | 
 | #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> | 
 | / { | 
 | 	model = "Asus Nexus7(flo)"; | 
 | 	compatible = "asus,nexus7-flo", "qcom,apq8064"; | 
 |  | 
 | 	aliases { | 
 | 		serial0 = &gsbi7_serial; | 
 | 		serial1 = &gsbi6_serial; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		stdout-path = "serial0:115200n8"; | 
 | 	}; | 
 |  | 
 | 	reserved-memory { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		ranges; | 
 |  | 
 | 		ramoops@88d00000{ | 
 | 			compatible = "ramoops"; | 
 | 			reg = <0x88d00000 0x100000>; | 
 | 			record-size     = <0x00020000>; | 
 | 			console-size    = <0x00020000>; | 
 | 			ftrace-size     = <0x00020000>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	ext_3p3v: regulator-fixed@1 { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 		regulator-name = "ext_3p3v"; | 
 | 		regulator-type = "voltage"; | 
 | 		startup-delay-us = <0>; | 
 | 		gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 		regulator-boot-on; | 
 | 	}; | 
 |  | 
 | 	gpio-keys { | 
 | 		compatible = "gpio-keys"; | 
 | 		volume_up { | 
 | 			label = "Volume Up"; | 
 | 			gpios = <&pm8921_gpio 4 GPIO_ACTIVE_HIGH>; | 
 | 			linux,code = <KEY_VOLUMEUP>; | 
 | 		}; | 
 | 		volume_down { | 
 | 			label = "Volume Down"; | 
 | 			gpios = <&pm8921_gpio 38 GPIO_ACTIVE_HIGH>; | 
 | 			linux,code = <KEY_VOLUMEDOWN>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	soc { | 
 | 		rpm@108000 { | 
 | 			regulators { | 
 | 				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; | 
 | 				vin_lvs1_3_6-supply = <&pm8921_s4>; | 
 | 				vin_lvs4_5_7-supply = <&pm8921_s4>; | 
 |  | 
 |  | 
 | 				vdd_l24-supply = <&pm8921_s1>; | 
 | 				vdd_l25-supply = <&pm8921_s1>; | 
 | 				vin_lvs2-supply = <&pm8921_s1>; | 
 |  | 
 | 				vdd_l26-supply = <&pm8921_s7>; | 
 | 				vdd_l27-supply = <&pm8921_s7>; | 
 | 				vdd_l28-supply = <&pm8921_s7>; | 
 |  | 
 | 				vdd_ncp-supply = <&pm8921_l6>; | 
 |  | 
 | 				/* Buck SMPS */ | 
 | 				s1 { | 
 | 					regulator-always-on; | 
 | 					regulator-min-microvolt = <1225000>; | 
 | 					regulator-max-microvolt = <1225000>; | 
 | 					qcom,switch-mode-frequency = <3200000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				/* msm otg HSUSB_VDDCX */ | 
 | 				s3 { | 
 | 					regulator-min-microvolt = <500000>; | 
 | 					regulator-max-microvolt = <1150000>; | 
 | 					qcom,switch-mode-frequency = <4800000>; | 
 | 				}; | 
 |  | 
 | 				/* | 
 | 				 * msm_sdcc.1-sdc-vdd_io | 
 | 				 * tabla2x-slim-CDC_VDDA_RX | 
 | 				 * tabla2x-slim-CDC_VDDA_TX | 
 | 				 * tabla2x-slim-CDC_VDD_CP | 
 | 				 * tabla2x-slim-VDDIO_CDC | 
 | 				 */ | 
 | 				s4 { | 
 | 					regulator-min-microvolt	= <1800000>; | 
 | 					regulator-max-microvolt	= <1800000>; | 
 | 					qcom,switch-mode-frequency = <3200000>; | 
 | 					regulator-always-on; | 
 | 				}; | 
 |  | 
 | 				s7 { | 
 | 					regulator-min-microvolt = <1300000>; | 
 | 					regulator-max-microvolt = <1300000>; | 
 | 					qcom,switch-mode-frequency = <3200000>; | 
 | 				}; | 
 |  | 
 | 				/* mipi_dsi.1-dsi1_pll_vdda */ | 
 | 				l2 { | 
 | 					regulator-min-microvolt = <1200000>; | 
 | 					regulator-max-microvolt = <1200000>; | 
 | 					regulator-always-on; | 
 | 				}; | 
 |  | 
 | 				/* msm_otg-HSUSB_3p3 */ | 
 | 				l3 { | 
 | 					regulator-min-microvolt = <3075000>; | 
 | 					regulator-max-microvolt = <3075000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				/* msm_otg-HSUSB_1p8 */ | 
 | 				l4 { | 
 | 					regulator-min-microvolt = <1800000>; | 
 | 					regulator-max-microvolt = <1800000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				/* msm_sdcc.1-sdc_vdd */ | 
 | 				l5 { | 
 | 					regulator-min-microvolt = <2950000>; | 
 | 					regulator-max-microvolt = <2950000>; | 
 | 					regulator-always-on; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				l6 { | 
 | 					regulator-min-microvolt = <2950000>; | 
 | 					regulator-max-microvolt = <2950000>; | 
 | 				}; | 
 |  | 
 | 				/* mipi_dsi.1-dsi1_avdd */ | 
 | 				l11 { | 
 | 					regulator-min-microvolt = <3000000>; | 
 | 					regulator-max-microvolt = <3000000>; | 
 | 					bias-pull-down; | 
 | 					regulator-always-on; | 
 | 				}; | 
 |  | 
 | 				/* pwm_power for backlight */ | 
 | 				l17 { | 
 | 					regulator-min-microvolt = <3000000>; | 
 | 					regulator-max-microvolt = <3000000>; | 
 | 					regulator-always-on; | 
 | 				}; | 
 |  | 
 | 				/* camera, qdsp6 */ | 
 | 				l23 { | 
 | 					regulator-min-microvolt = <1800000>; | 
 | 					regulator-max-microvolt = <1800000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				/* | 
 | 				 * tabla2x-slim-CDC_VDDA_A_1P2V | 
 | 				 * tabla2x-slim-VDDD_CDC_D | 
 | 				 */ | 
 | 				l25 { | 
 | 					regulator-min-microvolt = <1250000>; | 
 | 					regulator-max-microvolt = <1250000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				lvs1 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				lvs4 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				lvs5 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				lvs6 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 | 				/* | 
 | 				 * mipi_dsi.1-dsi1_vddio | 
 | 				 * pil_riva-pll_vdd | 
 | 				 */ | 
 | 				lvs7 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		mdp@5100000 { | 
 | 			status = "okay"; | 
 | 			ports { | 
 | 				port@1 { | 
 | 					mdp_dsi1_out: endpoint { | 
 | 						remote-endpoint = <&dsi0_in>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		dsi0: mdss_dsi@4700000 { | 
 | 			status = "okay"; | 
 | 			vdda-supply = <&pm8921_l2>;/*VDD_MIPI1 to 4*/ | 
 | 			vdd-supply = <&pm8921_l8>; | 
 | 			vddio-supply = <&pm8921_lvs7>; | 
 | 			avdd-supply = <&pm8921_l11>; | 
 | 			vcss-supply = <&ext_3p3v>; | 
 |  | 
 | 			panel@0 { | 
 | 				reg = <0>; | 
 | 				compatible = "jdi,lt070me05000"; | 
 |  | 
 | 				vddp-supply = <&pm8921_l17>; | 
 | 				iovcc-supply = <&pm8921_lvs7>; | 
 |  | 
 | 				enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>; | 
 | 				reset-gpios = <&tlmm_pinmux 54 GPIO_ACTIVE_LOW>; | 
 | 				dcdc-en-gpios = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>; | 
 |  | 
 | 				port { | 
 | 					panel_in: endpoint { | 
 | 						remote-endpoint = <&dsi0_out>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 			ports { | 
 | 				port@0 { | 
 | 					dsi0_in: endpoint { | 
 | 						remote-endpoint = <&mdp_dsi1_out>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				port@1 { | 
 | 					dsi0_out: endpoint { | 
 | 						remote-endpoint = <&panel_in>; | 
 | 						data-lanes = <0 1 2 3>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		dsi-phy@4700200 { | 
 | 			status = "okay"; | 
 | 			vddio-supply = <&pm8921_lvs7>;/*VDD_PLL2_1 to 7*/ | 
 | 		}; | 
 |  | 
 | 		gsbi@16200000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C>; | 
 | 			i2c@16280000 { | 
 | 				status = "okay"; | 
 | 				clock-frequency = <200000>; | 
 | 				pinctrl-0 = <&i2c3_pins>; | 
 | 				pinctrl-names = "default"; | 
 |  | 
 | 				trackpad@10 { | 
 | 					compatible = "elan,ekth3500"; | 
 | 					reg = <0x10>; | 
 | 					interrupt-parent = <&tlmm_pinmux>; | 
 | 					interrupts = <6 IRQ_TYPE_EDGE_FALLING>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 |  | 
 | 		gsbi@12440000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C>; | 
 |  | 
 | 			i2c@12460000 { | 
 | 				status = "okay"; | 
 | 				clock-frequency = <200000>; | 
 | 				pinctrl-0 = <&i2c1_pins>; | 
 | 				pinctrl-names = "default"; | 
 |  | 
 | 				eeprom@52 { | 
 | 					compatible = "atmel,24c128"; | 
 | 					reg = <0x52>; | 
 | 					pagesize = <32>; | 
 | 				}; | 
 |  | 
 | 				bq27541@55 { | 
 | 					compatible = "ti,bq27541"; | 
 | 					reg = <0x55>; | 
 | 				}; | 
 |  | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@16500000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C_UART>; | 
 |  | 
 | 			serial@16540000 { | 
 | 				status = "okay"; | 
 |  | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&gsbi6_uart_4pins>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@16600000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C_UART>; | 
 | 			serial@16640000 { | 
 | 				status = "okay"; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		/* OTG */ | 
 | 		usb@12500000 { | 
 | 			status = "okay"; | 
 | 			dr_mode = "otg"; | 
 | 			ulpi { | 
 | 				phy { | 
 | 					v3p3-supply = <&pm8921_l3>; | 
 | 					v1p8-supply = <&pm8921_l4>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		amba { | 
 | 			/* eMMC */ | 
 | 			mmc@12400000 { | 
 | 				status = "okay"; | 
 | 				vmmc-supply = <&pm8921_l5>; | 
 | 				vqmmc-supply = <&pm8921_s4>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		imem@2a03f000 { | 
 | 			compatible = "syscon", "simple-mfd"; | 
 | 			reg = <0x2a03f000 0x1000>; | 
 |  | 
 | 			reboot-mode { | 
 | 				compatible = "syscon-reboot-mode"; | 
 | 				offset = <0x65c>; | 
 |  | 
 | 				mode-normal	= <0x77665501>; | 
 | 				mode-bootloader	= <0x77665500>; | 
 | 				mode-recovery	= <0x77665502>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; |