blob: af24d63b7254fdcda91de881c90142b90e54cfbe [file] [log] [blame]
/*
* Device tree config for BCM47765 GNSS chip
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/samsung.h>
/**********/
/* GNSS */
/**********/
&spi_1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi1_bus &spi1_cs_func>;
bcm4775@0 {
compatible = "ssp,bcm4775";
reg = <0>;
spi-max-frequency = <26000000>;
spi-cpol;
spi-cpha;
pinctrl-names = "default";
pinctrl-0 = <&host_req_gpios &mcu_req_gpios &mcu_resp_gpios &nstandby_gpios>;
host-req-gpios = <&gpm25 0 GPIO_ACTIVE_LOW>; /* GPS_SOC_INT_L */
mcu-req-gpios = <&gpg2 1 GPIO_ACTIVE_HIGH>; /* SOC_GPS_INT_H */
mcu-resp-gpios = <&gpm19 0 GPIO_ACTIVE_HIGH>; /* SOC_GPS_RDY */
nstandby-gpios = <&gpm18 0 GPIO_ACTIVE_LOW>; /* SOC_GPS_RST_L */
controller-data {
samsung,spi-feedback-delay = <1>;
samsung,spi-chip-select-mode = <0>;
};
};
};
&pinctrl_1 {
host_req_gpios: host-req-gpios {
samsung,pins ="gpm25-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
};
};
&pinctrl_2 {
mcu_resp_gpios: mcu-resp-gpios {
samsung,pins = "gpm19-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
};
nstandby_gpios: nstandby-gpios {
samsung,pins ="gpm18-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
};
};
&pinctrl_5 {
mcu_req_gpios: mcu-req-gpios {
samsung,pins = "gpg2-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
};
};