| // SPDX-License-Identifier: GPL-2.0 | 
 | #include "qcom-apq8064-v2.0.dtsi" | 
 | #include <dt-bindings/gpio/gpio.h> | 
 | #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> | 
 |  | 
 | / { | 
 | 	model = "Qualcomm APQ8064/IFC6410"; | 
 | 	compatible = "qcom,apq8064-ifc6410", "qcom,apq8064"; | 
 |  | 
 | 	aliases { | 
 | 		serial0 = &gsbi7_serial; | 
 | 		serial1 = &gsbi6_serial; | 
 | 		i2c0 = &gsbi1_i2c; | 
 | 		i2c1 = &gsbi2_i2c; | 
 | 		i2c2 = &gsbi3_i2c; | 
 | 		i2c3 = &gsbi4_i2c; | 
 | 		spi0 = &gsbi5_spi; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		stdout-path = "serial0:115200n8"; | 
 | 	}; | 
 |  | 
 | 	pwrseq { | 
 | 		compatible = "simple-bus"; | 
 |  | 
 | 		sdcc4_pwrseq: sdcc4_pwrseq { | 
 | 			pinctrl-names = "default"; | 
 | 			pinctrl-0 = <&wlan_default_gpios>; | 
 | 			compatible = "mmc-pwrseq-simple"; | 
 | 			reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	leds { | 
 | 		compatible = "gpio-leds"; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <¬ify_led>; | 
 |  | 
 | 		led@1 { | 
 | 			label = "apq8064:green:user1"; | 
 | 			gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>; | 
 | 			default-state = "on"; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	hdmi-out { | 
 | 		compatible = "hdmi-connector"; | 
 | 		type = "d"; | 
 |  | 
 | 		port { | 
 | 			hdmi_con: endpoint { | 
 | 				remote-endpoint = <&hdmi_out>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	soc { | 
 | 		pinctrl@800000 { | 
 | 			card_detect: card_detect { | 
 | 				mux { | 
 | 					pins = "gpio26"; | 
 | 					function = "gpio"; | 
 | 					bias-disable; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			pcie_pins: pcie_pinmux { | 
 | 				mux { | 
 | 					pins = "gpio27"; | 
 | 					function = "gpio"; | 
 | 				}; | 
 | 				conf { | 
 | 					pins = "gpio27"; | 
 | 					drive-strength = <12>; | 
 | 					bias-disable; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		rpm@108000 { | 
 | 			regulators { | 
 | 				vin_lvs1_3_6-supply = <&pm8921_s4>; | 
 | 				vin_lvs2-supply = <&pm8921_s1>; | 
 | 				vin_lvs4_5_7-supply = <&pm8921_s4>; | 
 |  | 
 | 				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; | 
 | 				vdd_l24-supply = <&pm8921_s1>; | 
 | 				vdd_l25-supply = <&pm8921_s1>; | 
 | 				vdd_l26-supply = <&pm8921_s7>; | 
 | 				vdd_l27-supply = <&pm8921_s7>; | 
 | 				vdd_l28-supply = <&pm8921_s7>; | 
 |  | 
 |  | 
 | 				/* Buck SMPS */ | 
 | 				s1 { | 
 | 					regulator-always-on; | 
 | 					regulator-min-microvolt = <1225000>; | 
 | 					regulator-max-microvolt = <1225000>; | 
 | 					qcom,switch-mode-frequency = <3200000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				s3 { | 
 | 					regulator-min-microvolt = <1000000>; | 
 | 					regulator-max-microvolt = <1400000>; | 
 | 					qcom,switch-mode-frequency = <4800000>; | 
 | 				}; | 
 |  | 
 | 				s4 { | 
 | 					regulator-min-microvolt	= <1800000>; | 
 | 					regulator-max-microvolt	= <1800000>; | 
 | 					qcom,switch-mode-frequency = <3200000>; | 
 | 				}; | 
 |  | 
 | 				s7 { | 
 | 					regulator-min-microvolt = <1300000>; | 
 | 					regulator-max-microvolt = <1300000>; | 
 | 					qcom,switch-mode-frequency = <3200000>; | 
 | 				}; | 
 |  | 
 | 				l3 { | 
 | 					regulator-min-microvolt = <3050000>; | 
 | 					regulator-max-microvolt = <3300000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				l4 { | 
 | 					regulator-min-microvolt = <1000000>; | 
 | 					regulator-max-microvolt = <1800000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				l5 { | 
 | 					regulator-min-microvolt = <2750000>; | 
 | 					regulator-max-microvolt = <3000000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				l6 { | 
 | 					regulator-min-microvolt = <2950000>; | 
 | 					regulator-max-microvolt = <2950000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				l23 { | 
 | 					regulator-min-microvolt = <1700000>; | 
 | 					regulator-max-microvolt = <1900000>; | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				lvs1 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 |  | 
 | 				lvs6 { | 
 | 					bias-pull-down; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		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; | 
 | 		}; | 
 |  | 
 | 		gsbi3: gsbi@16200000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C>; | 
 | 			i2c@16280000 { | 
 | 				status = "okay"; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@16300000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C>; | 
 | 			/* CAM I2C MIPI-CSI connector */ | 
 | 			i2c@16380000 { | 
 | 				status = "okay"; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@12440000 { | 
 | 			status = "okay"; | 
 | 			qcom,mode = <GSBI_PROT_I2C>; | 
 |  | 
 | 			i2c@12460000 { | 
 | 				status = "okay"; | 
 | 				clock-frequency = <200000>; | 
 |  | 
 | 				eeprom@52 { | 
 | 					compatible = "atmel,24c128"; | 
 | 					reg = <0x52>; | 
 | 					pagesize = <32>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@1a200000 { | 
 | 			qcom,mode = <GSBI_PROT_SPI>; | 
 | 			status = "okay"; | 
 | 			spi4: spi@1a280000 { | 
 | 				status = "okay"; | 
 | 				num-cs = <1>; | 
 | 				cs-gpios = <&tlmm_pinmux 53 0>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@16500000 { | 
 | 			status = "ok"; | 
 | 			qcom,mode = <GSBI_PROT_UART_W_FC>; | 
 |  | 
 | 			serial@16540000 { | 
 | 				status = "ok"; | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&gsbi6_uart_4pins>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		gsbi@16600000 { | 
 | 			status = "ok"; | 
 | 			qcom,mode = <GSBI_PROT_I2C_UART>; | 
 | 			serial@16640000 { | 
 | 				status = "ok"; | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&gsbi7_uart_2pins>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		sata_phy0: phy@1b400000 { | 
 | 			status = "okay"; | 
 | 		}; | 
 |  | 
 | 		sata0: sata@29000000 { | 
 | 			status		= "okay"; | 
 | 			target-supply	= <&pm8921_s4>; | 
 | 		}; | 
 |  | 
 | 		/* OTG */ | 
 | 		usb@12500000 { | 
 | 			status = "okay"; | 
 | 			dr_mode = "otg"; | 
 | 			ulpi { | 
 | 				phy { | 
 | 					v3p3-supply = <&pm8921_l3>; | 
 | 					v1p8-supply = <&pm8921_l4>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		usb@12520000 { | 
 | 			status = "okay"; | 
 | 			dr_mode = "host"; | 
 | 			ulpi { | 
 | 				phy { | 
 | 					v3p3-supply = <&pm8921_l3>; | 
 | 					v1p8-supply = <&pm8921_l23>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		usb@12530000 { | 
 | 			status = "okay"; | 
 | 			dr_mode = "host"; | 
 | 			ulpi { | 
 | 				phy { | 
 | 					v3p3-supply = <&pm8921_l3>; | 
 | 					v1p8-supply = <&pm8921_l23>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		pci@1b500000 { | 
 | 			status = "ok"; | 
 | 			vdda-supply = <&pm8921_s3>; | 
 | 			vdda_phy-supply = <&pm8921_lvs6>; | 
 | 			vdda_refclk-supply = <&ext_3p3v>; | 
 | 			pinctrl-0 = <&pcie_pins>; | 
 | 			pinctrl-names = "default"; | 
 | 			perst-gpio = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>; | 
 | 		}; | 
 |  | 
 | 		qcom,ssbi@500000 { | 
 | 			pmic@0 { | 
 | 				gpio@150 { | 
 | 					wlan_default_gpios: wlan-gpios { | 
 | 						pios { | 
 | 							pins = "gpio43"; | 
 | 							function = "normal"; | 
 | 							bias-disable; | 
 | 							power-source = <PM8921_GPIO_S4>; | 
 | 						}; | 
 | 					}; | 
 |  | 
 | 					notify_led: nled { | 
 | 						pios { | 
 | 							pins = "gpio18"; | 
 | 							function = "normal"; | 
 | 							bias-disable; | 
 | 							power-source = <PM8921_GPIO_S4>; | 
 | 						}; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		amba { | 
 | 			/* eMMC */ | 
 | 			sdcc1: sdcc@12400000 { | 
 | 				status = "okay"; | 
 | 				vmmc-supply = <&pm8921_l5>; | 
 | 				vqmmc-supply = <&pm8921_s4>; | 
 | 			}; | 
 |  | 
 | 			/* External micro SD card */ | 
 | 			sdcc3: sdcc@12180000 { | 
 | 				status = "okay"; | 
 | 				vmmc-supply = <&pm8921_l6>; | 
 | 				pinctrl-names	= "default"; | 
 | 				pinctrl-0	= <&card_detect>; | 
 | 				cd-gpios	= <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; | 
 | 			}; | 
 | 			/* WLAN */ | 
 | 			sdcc4: sdcc@121c0000 { | 
 | 				status = "okay"; | 
 | 				vmmc-supply = <&ext_3p3v>; | 
 | 				vqmmc-supply = <&pm8921_lvs1>; | 
 | 				mmc-pwrseq = <&sdcc4_pwrseq>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		hdmi-tx@4a00000 { | 
 | 			status = "okay"; | 
 |  | 
 | 			core-vdda-supply = <&pm8921_hdmi_switch>; | 
 | 			hdmi-mux-supply = <&ext_3p3v>; | 
 |  | 
 | 			hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>; | 
 |  | 
 | 			ports { | 
 | 				port@0 { | 
 | 					endpoint { | 
 | 						remote-endpoint = <&mdp_dtv_out>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				port@1 { | 
 | 					endpoint { | 
 | 						remote-endpoint = <&hdmi_con>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		hdmi-phy@4a00400 { | 
 | 			status = "okay"; | 
 |  | 
 | 			core-vdda-supply = <&pm8921_hdmi_switch>; | 
 | 		}; | 
 |  | 
 | 		mdp@5100000 { | 
 | 			status = "okay"; | 
 |  | 
 | 			ports { | 
 | 				port@3 { | 
 | 					endpoint { | 
 | 						remote-endpoint = <&hdmi_in>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; |