diff --git a/boards/arm/frdm_k64f/Kconfig.board b/boards/arm/frdm_k64f/Kconfig.board index 86825b79d53..091a169630c 100644 --- a/boards/arm/frdm_k64f/Kconfig.board +++ b/boards/arm/frdm_k64f/Kconfig.board @@ -3,4 +3,5 @@ config BOARD_FRDM_K64F bool "Freescale FRDM-K64F" depends on SOC_SERIES_KINETIS_K6X select SOC_PART_NUMBER_MK64FN1M0VLL12 + select HAS_DTS_GPIO_DEVICE select HAS_DTS_I2C_DEVICE diff --git a/boards/arm/frdm_k64f/Kconfig.defconfig b/boards/arm/frdm_k64f/Kconfig.defconfig index 124dfa22125..ec06db3125b 100644 --- a/boards/arm/frdm_k64f/Kconfig.defconfig +++ b/boards/arm/frdm_k64f/Kconfig.defconfig @@ -87,16 +87,6 @@ config ADC_1 endif # ADC -if FXOS8700 - -config FXOS8700_GPIO_NAME - default GPIO_MCUX_PORTC_NAME - -config FXOS8700_GPIO_PIN - default 13 - -endif # FXOS8700 - if PWM_MCUX_FTM config PWM_3 diff --git a/boards/arm/frdm_k64f/dts.fixup b/boards/arm/frdm_k64f/dts.fixup index a429cf049ff..9f1a540e2dc 100644 --- a/boards/arm/frdm_k64f/dts.fixup +++ b/boards/arm/frdm_k64f/dts.fixup @@ -1,3 +1,5 @@ #define CONFIG_FXOS8700_NAME NXP_KINETIS_I2C_40066000_NXP_FXOS8700_1D_LABEL #define CONFIG_FXOS8700_I2C_NAME NXP_KINETIS_I2C_40066000_NXP_FXOS8700_1D_BUS_NAME #define CONFIG_FXOS8700_I2C_ADDRESS NXP_KINETIS_I2C_40066000_NXP_FXOS8700_1D_BASE_ADDRESS +#define CONFIG_FXOS8700_GPIO_NAME NXP_KINETIS_I2C_40066000_NXP_FXOS8700_1D_INT2_GPIOS_CONTROLLER +#define CONFIG_FXOS8700_GPIO_PIN NXP_KINETIS_I2C_40066000_NXP_FXOS8700_1D_INT2_GPIOS_PIN diff --git a/boards/arm/frdm_k64f/frdm_k64f.dts b/boards/arm/frdm_k64f/frdm_k64f.dts index 56ff51d56b5..54ec9691eb3 100644 --- a/boards/arm/frdm_k64f/frdm_k64f.dts +++ b/boards/arm/frdm_k64f/frdm_k64f.dts @@ -89,6 +89,8 @@ compatible = "nxp,fxos8700"; reg = <0x1d>; label = "FXOS8700"; + int1-gpios = <&gpioc 6 0>; + int2-gpios = <&gpioc 13 0>; }; }; diff --git a/boards/arm/frdm_kw41z/Kconfig.board b/boards/arm/frdm_kw41z/Kconfig.board index 0336c2891a1..9e6da00d164 100644 --- a/boards/arm/frdm_kw41z/Kconfig.board +++ b/boards/arm/frdm_kw41z/Kconfig.board @@ -9,4 +9,5 @@ config BOARD_FRDM_KW41Z bool "NXP FRDM-KW41Z" depends on SOC_SERIES_KINETIS_KWX select SOC_PART_NUMBER_MKW41Z512VHT4 + select HAS_DTS_GPIO_DEVICE select HAS_DTS_I2C_DEVICE diff --git a/boards/arm/frdm_kw41z/Kconfig.defconfig b/boards/arm/frdm_kw41z/Kconfig.defconfig index 0dd2d4173e6..800c2ad63ef 100644 --- a/boards/arm/frdm_kw41z/Kconfig.defconfig +++ b/boards/arm/frdm_kw41z/Kconfig.defconfig @@ -68,12 +68,6 @@ endif # ADC if FXOS8700 -config FXOS8700_GPIO_NAME - default GPIO_MCUX_PORTC_NAME - -config FXOS8700_GPIO_PIN - default 1 - config FXOS8700_DRDY_INT1 def_bool y diff --git a/boards/arm/frdm_kw41z/dts.fixup b/boards/arm/frdm_kw41z/dts.fixup index 8c7f4974ee6..07608592c5f 100644 --- a/boards/arm/frdm_kw41z/dts.fixup +++ b/boards/arm/frdm_kw41z/dts.fixup @@ -1,3 +1,5 @@ #define CONFIG_FXOS8700_NAME NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1F_LABEL #define CONFIG_FXOS8700_I2C_NAME NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1F_BUS_NAME #define CONFIG_FXOS8700_I2C_ADDRESS NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1F_BASE_ADDRESS +#define CONFIG_FXOS8700_GPIO_NAME NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1F_INT1_GPIOS_CONTROLLER +#define CONFIG_FXOS8700_GPIO_PIN NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1F_INT1_GPIOS_PIN diff --git a/boards/arm/frdm_kw41z/frdm_kw41z.dts b/boards/arm/frdm_kw41z/frdm_kw41z.dts index 572122092a0..ff75a9904cb 100644 --- a/boards/arm/frdm_kw41z/frdm_kw41z.dts +++ b/boards/arm/frdm_kw41z/frdm_kw41z.dts @@ -70,6 +70,7 @@ compatible = "nxp,fxos8700"; reg = <0x1f>; label = "FXOS8700"; + int1-gpios = <&gpioc 1 0>; }; }; diff --git a/boards/arm/hexiwear_k64/Kconfig.board b/boards/arm/hexiwear_k64/Kconfig.board index ff7ed2a6444..8f3f4f0bf14 100644 --- a/boards/arm/hexiwear_k64/Kconfig.board +++ b/boards/arm/hexiwear_k64/Kconfig.board @@ -9,4 +9,5 @@ config BOARD_HEXIWEAR_K64 bool "NXP Hexiwear K64" depends on SOC_SERIES_KINETIS_K6X select SOC_PART_NUMBER_MK64FN1M0VDC12 + select HAS_DTS_GPIO_DEVICE select HAS_DTS_I2C_DEVICE diff --git a/boards/arm/hexiwear_k64/Kconfig.defconfig b/boards/arm/hexiwear_k64/Kconfig.defconfig index 9fe8bc139c5..6701515ad85 100644 --- a/boards/arm/hexiwear_k64/Kconfig.defconfig +++ b/boards/arm/hexiwear_k64/Kconfig.defconfig @@ -90,16 +90,6 @@ config BATTERY_SENSE endif # ADC -if FXOS8700 - -config FXOS8700_GPIO_NAME - default GPIO_MCUX_PORTD_NAME - -config FXOS8700_GPIO_PIN - default 13 - -endif # FXOS8700 - if FXAS21002 config FXAS21002_GPIO_NAME diff --git a/boards/arm/hexiwear_k64/dts.fixup b/boards/arm/hexiwear_k64/dts.fixup index f6738bcc1cc..d71dc614865 100644 --- a/boards/arm/hexiwear_k64/dts.fixup +++ b/boards/arm/hexiwear_k64/dts.fixup @@ -1,6 +1,8 @@ #define CONFIG_FXOS8700_NAME NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1E_LABEL #define CONFIG_FXOS8700_I2C_NAME NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1E_BUS_NAME #define CONFIG_FXOS8700_I2C_ADDRESS NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1E_BASE_ADDRESS +#define CONFIG_FXOS8700_GPIO_NAME NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1E_INT2_GPIOS_CONTROLLER +#define CONFIG_FXOS8700_GPIO_PIN NXP_KINETIS_I2C_40067000_NXP_FXOS8700_1E_INT2_GPIOS_PIN #define CONFIG_FXAS21002_NAME NXP_KINETIS_I2C_40067000_NXP_FXAS21002_20_LABEL #define CONFIG_FXAS21002_I2C_NAME NXP_KINETIS_I2C_40067000_NXP_FXAS21002_20_BUS_NAME diff --git a/boards/arm/hexiwear_k64/hexiwear_k64.dts b/boards/arm/hexiwear_k64/hexiwear_k64.dts index 82cca018020..5a854432fbb 100644 --- a/boards/arm/hexiwear_k64/hexiwear_k64.dts +++ b/boards/arm/hexiwear_k64/hexiwear_k64.dts @@ -88,6 +88,8 @@ compatible = "nxp,fxos8700"; reg = <0x1e>; label = "FXOS8700"; + int1-gpios = <&gpioc 1 0>; + int2-gpios = <&gpiod 13 0>; }; fxas21002@20 { diff --git a/drivers/sensor/fxos8700/Kconfig b/drivers/sensor/fxos8700/Kconfig index 32ce915526c..0cb8515d5a7 100644 --- a/drivers/sensor/fxos8700/Kconfig +++ b/drivers/sensor/fxos8700/Kconfig @@ -109,6 +109,8 @@ config FXOS8700_TRIGGER depends on FXOS8700 default n +if !HAS_DTS_GPIO_DEVICE + config FXOS8700_GPIO_NAME string "GPIO device name" depends on FXOS8700_TRIGGER @@ -117,6 +119,8 @@ config FXOS8700_GPIO_PIN int "GPIO pin" depends on FXOS8700_TRIGGER +endif + config FXOS8700_DRDY_INT1 bool "Data ready interrupt to INT1 pin" depends on FXOS8700_TRIGGER diff --git a/dts/bindings/sensor/nxp,fxos8700.yaml b/dts/bindings/sensor/nxp,fxos8700.yaml index 01f8786710c..d475bd27cc3 100644 --- a/dts/bindings/sensor/nxp,fxos8700.yaml +++ b/dts/bindings/sensor/nxp,fxos8700.yaml @@ -19,4 +19,13 @@ properties: compatible: constraint: "nxp,fxos8700" + int1-gpios: + type: compound + category: optional + generation: define, use-prop-name + + int2-gpios: + type: compound + category: optional + generation: define, use-prop-name ...