diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-apalis.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl-colibri.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts | 22 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts | 10 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6ulz-lite-evk.dts | 36 | ||||
-rw-r--r-- | arch/arm/configs/apalis_imx6_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/configs/colibri-imx6ull_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/configs/colibri_imx6_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/configs/colibri_imx7_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/anatop.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mxc.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-imx/pm-imx6.c | 4 |
14 files changed, 104 insertions, 7 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index ce4496481f76..a75056b166b3 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -611,7 +611,10 @@ dtb-$(CONFIG_SOC_IMX6ULL) += \ imx6ulz-14x14-evk-btwifi.dtb \ imx6ulz-14x14-evk-btwifi-oob.dtb \ imx6ulz-14x14-evk-emmc.dtb \ - imx6ulz-14x14-evk-gpmi-weim.dtb + imx6ulz-14x14-evk-gpmi-weim.dtb \ + imx6ulz-lite-evk.dtb \ + imx6ulz-lite-evk-btwifi.dtb \ + imx6ulz-lite-evk-btwifi-oob.dtb dtb-$(CONFIG_SOC_IMX6SLL) += \ imx6sll-lpddr2-arm2.dtb \ imx6sll-lpddr3-arm2.dtb \ diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi index e99838904d52..e18ac19dd3bf 100644 --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi @@ -553,6 +553,7 @@ pmic: pfuze100@08 { compatible = "fsl,pfuze100"; reg = <0x08>; + fsl,pmic-stby-poweroff; regulators { sw1a_reg: sw1ab { diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/imx6qdl-colibri.dtsi index a8b2366f399a..82b3bcc4fd0f 100644 --- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi +++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi @@ -492,6 +492,7 @@ pmic: pfuze100@08 { compatible = "fsl,pfuze100"; reg = <0x08>; + fsl,pmic-stby-poweroff; regulators { sw1a_reg: sw1ab { diff --git a/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts new file mode 100644 index 000000000000..e7ddeaa2a16d --- /dev/null +++ b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts @@ -0,0 +1,22 @@ +/* + * Copyright 2020 NXP + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "imx6ulz-lite-evk-btwifi.dts" + +&pinctrl_wifi { + fsl,pins = < + /* MUXing for WL_HOST_WAKE */ + MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x13041 + >; +}; + +&brcmf { + interrupt-parent = <&gpio2>; + interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "host-wake"; +}; diff --git a/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts new file mode 100644 index 000000000000..98f498ae4655 --- /dev/null +++ b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts @@ -0,0 +1,10 @@ +/* + * Copyright 2020 NXP + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "imx6ulz-lite-evk.dts" +#include "imx6ul-evk-btwifi.dtsi" diff --git a/arch/arm/boot/dts/imx6ulz-lite-evk.dts b/arch/arm/boot/dts/imx6ulz-lite-evk.dts new file mode 100644 index 000000000000..ce52209d2e18 --- /dev/null +++ b/arch/arm/boot/dts/imx6ulz-lite-evk.dts @@ -0,0 +1,36 @@ +/* + * Copyright 2020 NXP + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/dts-v1/; + +#include "imx6ull-9x9-evk.dts" + +/ { + model = "Freescale i.MX6 ULZ Lite EVK Board"; + + aliases { + /delete-property/ can0; + /delete-property/ can1; + /delete-property/ ethernet0; + /delete-property/ ethernet1; + }; + + /delete-node/ backlight; + /delete-node/ pxp_v4l2; +}; + +/delete-node/ &csi; +/delete-node/ &fec1; +/delete-node/ &fec2; +/delete-node/ &flexcan1; +/delete-node/ &flexcan2; +/delete-node/ &lcdif; +/delete-node/ &ov5640; +/delete-node/ &pxp; +/delete-node/ ®_can_3v3; +/delete-node/ &tsc; diff --git a/arch/arm/configs/apalis_imx6_defconfig b/arch/arm/configs/apalis_imx6_defconfig index 34deb8642c58..7c24e1875643 100644 --- a/arch/arm/configs/apalis_imx6_defconfig +++ b/arch/arm/configs/apalis_imx6_defconfig @@ -247,6 +247,8 @@ CONFIG_SPI=y CONFIG_SPI_GPIO=y CONFIG_SPI_IMX=y CONFIG_SPI_SPIDEV=y +CONFIG_PPS_CLIENT_LDISC=y +CONFIG_PPS_CLIENT_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_GPIO=y diff --git a/arch/arm/configs/colibri-imx6ull_defconfig b/arch/arm/configs/colibri-imx6ull_defconfig index edf28b28a918..33e9a881f91c 100644 --- a/arch/arm/configs/colibri-imx6ull_defconfig +++ b/arch/arm/configs/colibri-imx6ull_defconfig @@ -246,6 +246,8 @@ CONFIG_SPI=y CONFIG_SPI_GPIO=y CONFIG_SPI_IMX=y CONFIG_SPI_SPIDEV=y +CONFIG_PPS_CLIENT_LDISC=y +CONFIG_PPS_CLIENT_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_GPIO=y diff --git a/arch/arm/configs/colibri_imx6_defconfig b/arch/arm/configs/colibri_imx6_defconfig index 67d18d196569..dcf7cb0c8f68 100644 --- a/arch/arm/configs/colibri_imx6_defconfig +++ b/arch/arm/configs/colibri_imx6_defconfig @@ -249,6 +249,8 @@ CONFIG_SPI=y CONFIG_SPI_GPIO=y CONFIG_SPI_IMX=y CONFIG_SPI_SPIDEV=y +CONFIG_PPS_CLIENT_LDISC=y +CONFIG_PPS_CLIENT_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_GPIO=y diff --git a/arch/arm/configs/colibri_imx7_defconfig b/arch/arm/configs/colibri_imx7_defconfig index dda17df3502d..65da597b5152 100644 --- a/arch/arm/configs/colibri_imx7_defconfig +++ b/arch/arm/configs/colibri_imx7_defconfig @@ -243,6 +243,8 @@ CONFIG_SPI=y CONFIG_SPI_GPIO=y CONFIG_SPI_IMX=y CONFIG_SPI_SPIDEV=y +CONFIG_PPS_CLIENT_LDISC=y +CONFIG_PPS_CLIENT_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_GPIO=y diff --git a/arch/arm/mach-imx/anatop.c b/arch/arm/mach-imx/anatop.c index 7716fd5fe58a..6ee51d79d83a 100644 --- a/arch/arm/mach-imx/anatop.c +++ b/arch/arm/mach-imx/anatop.c @@ -235,6 +235,20 @@ void __init imx_init_revision_from_anatop(void) digprog &= ~(0xff << 16); digprog |= (MXC_CPU_IMX6ULZ << 16); } + + /* dummy ID for i.MX6ULZ Lite */ + np = of_find_compatible_node(NULL, NULL, "fsl,imx6ull-ocotp"); + if (np) { + src_base = of_iomap(np, 0); + WARN_ON(!src_base); + sbmr2 = readl_relaxed(src_base + 0x460); + iounmap(src_base); + } + if (sbmr2 & BIT(2)) { + digprog &= ~(0xff << 16); + digprog |= (MXC_CPU_IMX6ULZL << 16); + } + } /* diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index af109f37520d..95f75a770255 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -192,6 +192,9 @@ struct device * __init imx_soc_device_init(void) case MXC_CPU_IMX6ULZ: soc_id = "i.MX6ULZ"; break; + case MXC_CPU_IMX6ULZL: + soc_id = "i.MX6ULZL"; + break; case MXC_CPU_IMX7D: soc_dev_attr->unique_id = kasprintf(GFP_KERNEL, "%llx", imx_get_soc_uid()); soc_id = "i.MX7D"; diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h index 95e7c3e6f141..43ee3c209513 100644 --- a/arch/arm/mach-imx/mxc.h +++ b/arch/arm/mach-imx/mxc.h @@ -42,6 +42,7 @@ #define MXC_CPU_IMX6ULL 0x65 #define MXC_CPU_IMX6SLL 0x67 #define MXC_CPU_IMX6ULZ 0x6B +#define MXC_CPU_IMX6ULZL 0x6C /* Dummy ID */ #define MXC_CPU_IMX7D 0x72 #define MXC_CPU_IMX7ULP 0xff /* TBD */ @@ -86,7 +87,8 @@ static inline bool cpu_is_imx6ul(void) static inline bool cpu_is_imx6ull(void) { return __mxc_cpu_type == MXC_CPU_IMX6ULL || - __mxc_cpu_type == MXC_CPU_IMX6ULZ; + __mxc_cpu_type == MXC_CPU_IMX6ULZ || + __mxc_cpu_type == MXC_CPU_IMX6ULZL; } static inline bool cpu_is_imx6sll(void) @@ -108,7 +110,8 @@ static inline bool cpu_is_imx6(void) __mxc_cpu_type == MXC_CPU_IMX6UL || __mxc_cpu_type == MXC_CPU_IMX6ULL || __mxc_cpu_type == MXC_CPU_IMX6SLL || - __mxc_cpu_type == MXC_CPU_IMX6ULZ; + __mxc_cpu_type == MXC_CPU_IMX6ULZ || + __mxc_cpu_type == MXC_CPU_IMX6ULZL; } static inline bool cpu_is_imx7d(void) diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c index 8fd1f7188725..42594e7046b7 100644 --- a/arch/arm/mach-imx/pm-imx6.c +++ b/arch/arm/mach-imx/pm-imx6.c @@ -1353,7 +1353,6 @@ void __init imx6q_pm_init(void) imx6_pm_common_init(&imx6q_lpddr2_pm_data); else imx6_pm_common_init(&imx6q_pm_data); -#ifndef CONFIG_POWER_RESET_GPIO /* * if no specific power off function in board file, power off system by * stop mode @@ -1361,14 +1360,12 @@ void __init imx6q_pm_init(void) if (!pm_power_off) if (of_machine_is_compatible("toradex,apalis_imx6q")) pm_power_off = imx6_stop_mode_poweroff; -#endif } void __init imx6dl_pm_init(void) { imx6_pm_common_init(&imx6dl_pm_data); -#ifndef CONFIG_POWER_RESET_GPIO /* * if no specific power off function in board file, power off system by * stop mode @@ -1376,7 +1373,6 @@ void __init imx6dl_pm_init(void) if (!pm_power_off) if (of_machine_is_compatible("toradex,colibri_imx6dl")) pm_power_off = imx6_stop_mode_poweroff; -#endif } void __init imx6sl_pm_init(void) |