blob: 521b9218b0ab4ecaead645bb86b27601b9df1f42 [file] [log] [blame]
/*
* Device Tree config for the ST21 NFC chip
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/samsung.h>
/*******/
/* NFC */
/*******/
&i2c_0 {
/*******/
/* I2C */
/*******/
#address-cells = <1>;
#size-cells = <0>;
status = "ok"; /* Enable I2C0 */
samsung,i2c-max-bus-freq = <400000>;
/* NFC ST - st21nfc */
st21nfc: st21nfc@08 { /* Default I2C address 0x08 */
compatible = "st,st21nfc";
reg = <0x08>;
reset-gpios = <&gpg1 0 0x00>; /* SOC_NFC_RST_L */
pidle-gpios = <&gpg0 1 0x00>; /* SOC_NFC_INT_H - labeled wrong */
irq-gpios = <&gpa0 3 0x00>; /* NFC_SOC_INT_H */
clkreq-gpios = <&gpa1 5 0x00>; /* NFC_SOC_CLK_REQ */
clocks = <&clock OSCCLK_NFC>; /* Connect Ext 26 MHz Clock */
clock-names = "nfc_ref_clk";
st,clk_pinctrl;
pinctrl-names = "default";
pinctrl-0 = <&nfc_irq &nfc_clkreq &nfc_nreset &nfc_pidle>;
status = "ok";
};
};
&pinctrl_0 {
/* NFC_SOC_INT_H */
nfc_irq: nfc-irq {
samsung,pins = "gpa0-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; /* LVL1 DRV */
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
/* NFC_SOC_CLK_REQ */
nfc_clkreq: nfc-clkreq {
samsung,pins = "gpa1-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; /* LVL1 DRV */
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
};
&pinctrl_5 {
/* SOC_NFC_RST_L */
nfc_nreset: nfc-nreset {
samsung,pins = "gpg1-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; /* LVL1 DRV */
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
/* SOC_NFC_INT_H - labeled incorrectly on schematic. Actually an input */
nfc_pidle: nfc-pidle {
samsung,pins = "gpg0-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; /* LVL1 DRV */
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
};