diff --git a/arch/arm/soc/nxp_kinetis/k6x/dts.fixup b/arch/arm/soc/nxp_kinetis/k6x/dts.fixup new file mode 100644 index 00000000000..53d49dcb00d --- /dev/null +++ b/arch/arm/soc/nxp_kinetis/k6x/dts.fixup @@ -0,0 +1,6 @@ +/* SoC level DTS fixup file */ + +#define FLASH_DEV_BASE_ADDRESS NXP_KINETIS_FTFE_40020000_BASE_ADDRESS_0 +#define FLASH_DEV_NAME NXP_KINETIS_FTFE_40020000_LABEL + +/* End of SoC Level DTS fixup file */ diff --git a/arch/arm/soc/nxp_kinetis/k6x/soc.h b/arch/arm/soc/nxp_kinetis/k6x/soc.h index c6fa930c60f..57617c63e08 100644 --- a/arch/arm/soc/nxp_kinetis/k6x/soc.h +++ b/arch/arm/soc/nxp_kinetis/k6x/soc.h @@ -54,7 +54,7 @@ extern "C" { /* For IMG_MANAGER */ #if defined(CONFIG_SOC_FLASH_MCUX) -#define FLASH_DRIVER_NAME CONFIG_SOC_FLASH_MCUX_DEV_NAME +#define FLASH_DRIVER_NAME FLASH_DEV_NAME #endif #endif /* !_ASMLANGUAGE */ diff --git a/arch/arm/soc/nxp_kinetis/kwx/dts.fixup b/arch/arm/soc/nxp_kinetis/kwx/dts.fixup new file mode 100644 index 00000000000..90650ed7851 --- /dev/null +++ b/arch/arm/soc/nxp_kinetis/kwx/dts.fixup @@ -0,0 +1,8 @@ +/* SoC level DTS fixup file */ + +#if defined(CONFIG_SOC_MKW22D5) || defined(CONFIG_SOC_MKW24D5) +#define FLASH_DEV_BASE_ADDRESS NXP_KINETIS_FTFL_40020000_BASE_ADDRESS_0 +#define FLASH_DEV_NAME NXP_KINETIS_FTFL_40020000_LABEL +#endif /* CONFIG_SOC_MKW22D5 || CONFIG_SOC_MKW24D5 */ + +/* End of SoC Level DTS fixup file */ diff --git a/drivers/flash/Kconfig b/drivers/flash/Kconfig index 576ab080cd7..5327f427490 100644 --- a/drivers/flash/Kconfig +++ b/drivers/flash/Kconfig @@ -149,13 +149,6 @@ config SOC_FLASH_MCUX have an impact on the overall system performance - whether this is acceptable or not will depend on the use case. -config SOC_FLASH_MCUX_DEV_NAME - string "MCUX flash device name" - depends on SOC_FLASH_MCUX - default "MCUX_FLASH" - help - Specify the device name for the flash driver. - source "drivers/flash/Kconfig.stm32" source "drivers/flash/Kconfig.sam0" diff --git a/drivers/flash/soc_flash_mcux.c b/drivers/flash/soc_flash_mcux.c index 4b9b794176d..7c35740b9e2 100644 --- a/drivers/flash/soc_flash_mcux.c +++ b/drivers/flash/soc_flash_mcux.c @@ -110,7 +110,7 @@ static int flash_mcux_init(struct device *dev) return (rc == kStatus_Success) ? 0 : -EIO; } -DEVICE_AND_API_INIT(flash_mcux, CONFIG_SOC_FLASH_MCUX_DEV_NAME, +DEVICE_AND_API_INIT(flash_mcux, FLASH_DEV_NAME, flash_mcux_init, &flash_data, NULL, POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &flash_mcux_api); diff --git a/dts/arm/nxp/nxp_k6x.dtsi b/dts/arm/nxp/nxp_k6x.dtsi index 56c69c1a8c0..a580a71f4dc 100644 --- a/dts/arm/nxp/nxp_k6x.dtsi +++ b/dts/arm/nxp/nxp_k6x.dtsi @@ -64,10 +64,12 @@ #clocks-cells = <3>; }; - flash-controller@4001f000 { - compatible = "nxp,k64f-flash-controller"; - reg = <0x4001f000 0x27c>; + flash-controller@40020000 { + compatible = "nxp,kinetis-ftfe"; + label = "FLASH_CTRL"; + reg = <0x40020000 0x18>; interrupts = <18 0>, <19 0>; + interrupt-names = "command-complete", "read-collision"; #address-cells = <1>; #size-cells = <1>; diff --git a/dts/arm/nxp/nxp_kw2xd.dtsi b/dts/arm/nxp/nxp_kw2xd.dtsi index 140c5b3da81..c877d7388d2 100644 --- a/dts/arm/nxp/nxp_kw2xd.dtsi +++ b/dts/arm/nxp/nxp_kw2xd.dtsi @@ -56,10 +56,12 @@ #clocks-cells = <3>; }; - flash-controller@4001f000 { - compatible = "nxp,k64f-flash-controller"; - reg = <0x4001f000 0x27c>; + flash-controller@40020000 { + compatible = "nxp,kinetis-ftfl"; + label = "FLASH_CTRL"; + reg = <0x40020000 0x18>; interrupts = <18 0>, <19 0>; + interrupt-names = "command-complete", "read-collision"; #address-cells = <1>; #size-cells = <1>; diff --git a/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml b/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml new file mode 100644 index 00000000000..411f1dc17e6 --- /dev/null +++ b/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml @@ -0,0 +1,19 @@ +--- +title: NXP Kinetis Flash Memory Module (FTFE) +id: nxp,kinetis-ftfe +version: 0.1 + +description: > + This binding gives for the NXP Kinetis Flash Memory Module E (FTFE) + +inherits: + !include flash-controller.yaml + +properties: + compatible: + type: string + category: required + description: compatible strings + constraint: "nxp,kinetis-ftfe" + +... diff --git a/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml b/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml new file mode 100644 index 00000000000..611a8822059 --- /dev/null +++ b/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml @@ -0,0 +1,19 @@ +--- +title: NXP Kinetis Flash Memory Module (FTFL) +id: nxp,kinetis-ftfl +version: 0.1 + +description: > + This binding gives for the NXP Kinetis Flash Memory Module L (FTFL) + +inherits: + !include flash-controller.yaml + +properties: + compatible: + type: string + category: required + description: compatible strings + constraint: "nxp,kinetis-ftfl" + +... diff --git a/samples/mpu/mpu_test/src/main.c b/samples/mpu/mpu_test/src/main.c index c584e1da56b..049e1f5f48a 100644 --- a/samples/mpu/mpu_test/src/main.c +++ b/samples/mpu/mpu_test/src/main.c @@ -41,7 +41,7 @@ static int shell_cmd_write_mcux(int argc, char *argv[]) ARG_UNUSED(argv); struct device *flash_dev; - flash_dev = device_get_binding(CONFIG_SOC_FLASH_MCUX_DEV_NAME); + flash_dev = device_get_binding(FLASH_DEV_NAME); u32_t value[2];