From: Lauren Post Date: Thu, 4 Sep 2014 13:12:48 +0000 (-0500) Subject: linux-imx: Upgrade to 3.10.31-1.1.0 Beta version X-Git-Tag: 2.1~801 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=3309d2e67b45847835bc101875a7bf47813b33ce;p=meta-freescale.git linux-imx: Upgrade to 3.10.31-1.1.0 Beta version - Add support for mx6sx. - General fixes for all mx6. - Upgrade to v5 Vivante graphics driver. This also updates the linux-imx-mfgtool recipe as well. Signed-off-by: Lauren Post Signed-off-by: Otavio Salvador --- diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0001-ENGR00309838-ARM-imx6sl-gpc-add-chip-revision-check-.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0001-ENGR00309838-ARM-imx6sl-gpc-add-chip-revision-check-.patch deleted file mode 100644 index 962a8049..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0001-ENGR00309838-ARM-imx6sl-gpc-add-chip-revision-check-.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 5dad39098c3c8686f23db638505bf00ae2cc092f Mon Sep 17 00:00:00 2001 -From: Robby Cai -Date: Fri, 23 May 2014 16:02:13 +0800 -Subject: [PATCH 01/10] ENGR00309838 ARM: imx6sl: gpc: add chip revision check - for dispmix -Organization: O.S. Systems Software LTDA. - -The dispmix feature works without problem since TO1.2. -This patch adds the back-compatibility for older chip. - -Signed-off-by: Robby Cai -(cherry picked from commit a187b916d55052fed10de1797009250095b598fb) - -Upstream-Status: Pending ---- - arch/arm/mach-imx/gpc.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c -index 9734327..25e987c 100644 ---- a/arch/arm/mach-imx/gpc.c -+++ b/arch/arm/mach-imx/gpc.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2011-2013 Freescale Semiconductor, Inc. -+ * Copyright 2011-2014 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * The code contained herein is licensed under the GNU General Public -@@ -90,7 +90,8 @@ static void imx_disp_clk(bool enable) - - static void imx_gpc_dispmix_on(void) - { -- if (cpu_is_imx6sl()) { -+ if (cpu_is_imx6sl() && -+ imx_get_soc_revision() >= IMX_CHIP_REVISION_1_2) { - imx_disp_clk(true); - - writel_relaxed(0x0, gpc_base + GPC_PGC_DISP_PGCR_OFFSET); -@@ -105,7 +106,8 @@ static void imx_gpc_dispmix_on(void) - - static void imx_gpc_dispmix_off(void) - { -- if (cpu_is_imx6sl()) { -+ if (cpu_is_imx6sl() && -+ imx_get_soc_revision() >= IMX_CHIP_REVISION_1_2) { - imx_disp_clk(true); - - writel_relaxed(0xFFFFFFFF, --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0002-regulator-pfuze100-Fix-address-of-FABID.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0002-regulator-pfuze100-Fix-address-of-FABID.patch deleted file mode 100644 index ff36488f..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0002-regulator-pfuze100-Fix-address-of-FABID.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a38734076be8b4fbb1a9db757e1a69dddef61f63 Mon Sep 17 00:00:00 2001 -From: Axel Lin -Date: Mon, 9 Dec 2013 15:24:19 +0800 -Subject: [PATCH 02/10] regulator: pfuze100: Fix address of FABID -Organization: O.S. Systems Software LTDA. - -According to the datasheet, the address of FABID is 0x4. Fix it. - -Signed-off-by: Axel Lin -Acked-by: Robin Gong -Signed-off-by: Mark Brown -Cc: stable@vger.kernel.org -(cherry picked from commit c07a24939f36fb6de522a9726369ea64eee5d98d) -(cherry picked from commit cfec286ff9f375c2c289072d63cedbb0c7917a48) - -Upstream-Status: Pending ---- - drivers/regulator/pfuze100-regulator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c -index ba67b2c..565a631 100644 ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -38,7 +38,7 @@ - - #define PFUZE100_DEVICEID 0x0 - #define PFUZE100_REVID 0x3 --#define PFUZE100_FABID 0x3 -+#define PFUZE100_FABID 0x4 - - #define PFUZE100_SW1ABVOL 0x20 - #define PFUZE100_SW1CVOL 0x2e --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0003-regulator-pfuze100-add-pfuze200-support.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0003-regulator-pfuze100-add-pfuze200-support.patch deleted file mode 100644 index 923da0a8..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0003-regulator-pfuze100-add-pfuze200-support.patch +++ /dev/null @@ -1,506 +0,0 @@ -From 08284f19c7cfdf84332c8098204f6e7fad368308 Mon Sep 17 00:00:00 2001 -From: Robin Gong -Date: Tue, 4 Mar 2014 17:40:36 +0800 -Subject: [PATCH 03/10] regulator: pfuze100: add pfuze200 support -Organization: O.S. Systems Software LTDA. - -support pfuze200 chip which remove SW1C and SW4 based on pfuze100. - -Signed-off-by: Robin Gong -Signed-off-by: Mark Brown -(cherry picked from commit f2518480c7b744296a5587990a54e3a284d932b8) - -Conflicts: - - drivers/regulator/pfuze100-regulator.c -(cherry picked from commit f9e62732cfb59ff68fed303bbbb3913d2f1002bf) - -Upstream-Status: Pending ---- - .../devicetree/bindings/regulator/pfuze100.txt | 96 ++++++++++- - drivers/regulator/pfuze100-regulator.c | 181 ++++++++++++++++----- - include/linux/regulator/pfuze100.h | 14 ++ - 3 files changed, 245 insertions(+), 46 deletions(-) - -diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt -index fc989b2..34ef5d1 100644 ---- a/Documentation/devicetree/bindings/regulator/pfuze100.txt -+++ b/Documentation/devicetree/bindings/regulator/pfuze100.txt -@@ -1,7 +1,7 @@ - PFUZE100 family of regulators - - Required properties: --- compatible: "fsl,pfuze100" -+- compatible: "fsl,pfuze100" or "fsl,pfuze200" - - reg: I2C slave address - - Required child node: -@@ -10,11 +10,14 @@ Required child node: - Documentation/devicetree/bindings/regulator/regulator.txt. - - The valid names for regulators are: -+ --PFUZE100 - sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 -+ --PFUZE200 -+ sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6 - - Each regulator is defined using the standard binding for regulators. - --Example: -+Example 1: PFUZE100 - - pmic: pfuze100@08 { - compatible = "fsl,pfuze100"; -@@ -113,3 +116,92 @@ Example: - }; - }; - }; -+ -+ -+Example 2: PFUZE200 -+ -+ pmic: pfuze200@08 { -+ compatible = "fsl,pfuze200"; -+ reg = <0x08>; -+ -+ regulators { -+ sw1a_reg: sw1ab { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; -+ }; -+ -+ sw2_reg: sw2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3a_reg: sw3a { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3b_reg: sw3b { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ swbst_reg: swbst { -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5150000>; -+ }; -+ -+ snvs_reg: vsnvs { -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vref_reg: vrefddr { -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vgen1_reg: vgen1 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen2_reg: vgen2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen3_reg: vgen3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ vgen4_reg: vgen4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen5_reg: vgen5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen6_reg: vgen6 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ }; -+ }; -diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c -index 565a631..35b1de1 100644 ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -56,6 +56,8 @@ - #define PFUZE100_VGEN5VOL 0x70 - #define PFUZE100_VGEN6VOL 0x71 - -+enum chips {PFUZE100, PFUZE200, PFUZE_NUM}; -+ - struct pfuze_regulator { - struct regulator_desc desc; - unsigned char stby_reg; -@@ -63,6 +65,7 @@ struct pfuze_regulator { - }; - - struct pfuze_chip { -+ int chip_id; - struct regmap *regmap; - struct device *dev; - struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR]; -@@ -77,15 +80,15 @@ static const int pfuze100_vsnvs[] = { - 1000000, 1100000, 1200000, 1300000, 1500000, 1800000, 3000000, - }; - --static const struct i2c_device_id pfuze_device_id[] = { -- {.name = "pfuze100"}, -- {}, -+static const struct i2c_device_id pfuze_device_id[PFUZE_NUM] = { -+ {.name = "pfuze100", .driver_data = PFUZE100}, -+ {.name = "pfuze200", .driver_data = PFUZE200}, - }; - MODULE_DEVICE_TABLE(i2c, pfuze_device_id); - --static const struct of_device_id pfuze_dt_ids[] = { -- { .compatible = "fsl,pfuze100" }, -- {}, -+static const struct of_device_id pfuze_dt_ids[PFUZE_NUM] = { -+ { .compatible = "fsl,pfuze100", .data = (void *)PFUZE100}, -+ { .compatible = "fsl,pfuze200", .data = (void *)PFUZE200}, - }; - MODULE_DEVICE_TABLE(of, pfuze_dt_ids); - -@@ -139,14 +142,14 @@ static struct regulator_ops pfuze100_swb_regulator_ops = { - - }; - --#define PFUZE100_FIXED_REG(_name, base, voltage) \ -- [PFUZE100_ ## _name] = { \ -+#define PFUZE100_FIXED_REG(_chip, _name, base, voltage) \ -+ [_chip ## _ ## _name] = { \ - .desc = { \ - .name = #_name, \ - .n_voltages = 1, \ - .ops = &pfuze100_fixed_regulator_ops, \ - .type = REGULATOR_VOLTAGE, \ -- .id = PFUZE100_ ## _name, \ -+ .id = _chip ## _ ## _name, \ - .owner = THIS_MODULE, \ - .min_uV = (voltage), \ - .enable_reg = (base), \ -@@ -154,14 +157,14 @@ static struct regulator_ops pfuze100_swb_regulator_ops = { - }, \ - } - --#define PFUZE100_SW_REG(_name, base, min, max, step) \ -- [PFUZE100_ ## _name] = { \ -+#define PFUZE100_SW_REG(_chip, _name, base, min, max, step) \ -+ [_chip ## _ ## _name] = { \ - .desc = { \ - .name = #_name,\ - .n_voltages = ((max) - (min)) / (step) + 1, \ - .ops = &pfuze100_sw_regulator_ops, \ - .type = REGULATOR_VOLTAGE, \ -- .id = PFUZE100_ ## _name, \ -+ .id = _chip ## _ ## _name, \ - .owner = THIS_MODULE, \ - .min_uV = (min), \ - .uV_step = (step), \ -@@ -172,14 +175,14 @@ static struct regulator_ops pfuze100_swb_regulator_ops = { - .stby_mask = 0x3f, \ - } - --#define PFUZE100_SWB_REG(_name, base, mask, voltages) \ -- [PFUZE100_ ## _name] = { \ -+#define PFUZE100_SWB_REG(_chip, _name, base, mask, voltages) \ -+ [_chip ## _ ## _name] = { \ - .desc = { \ - .name = #_name, \ - .n_voltages = ARRAY_SIZE(voltages), \ - .ops = &pfuze100_swb_regulator_ops, \ - .type = REGULATOR_VOLTAGE, \ -- .id = PFUZE100_ ## _name, \ -+ .id = _chip ## _ ## _name, \ - .owner = THIS_MODULE, \ - .volt_table = voltages, \ - .vsel_reg = (base), \ -@@ -187,14 +190,14 @@ static struct regulator_ops pfuze100_swb_regulator_ops = { - }, \ - } - --#define PFUZE100_VGEN_REG(_name, base, min, max, step) \ -- [PFUZE100_ ## _name] = { \ -+#define PFUZE100_VGEN_REG(_chip, _name, base, min, max, step) \ -+ [_chip ## _ ## _name] = { \ - .desc = { \ - .name = #_name, \ - .n_voltages = ((max) - (min)) / (step) + 1, \ - .ops = &pfuze100_ldo_regulator_ops, \ - .type = REGULATOR_VOLTAGE, \ -- .id = PFUZE100_ ## _name, \ -+ .id = _chip ## _ ## _name, \ - .owner = THIS_MODULE, \ - .min_uV = (min), \ - .uV_step = (step), \ -@@ -207,25 +210,45 @@ static struct regulator_ops pfuze100_swb_regulator_ops = { - .stby_mask = 0x20, \ - } - -+/* PFUZE100 */ - static struct pfuze_regulator pfuze100_regulators[] = { -- PFUZE100_SW_REG(SW1AB, PFUZE100_SW1ABVOL, 300000, 1875000, 25000), -- PFUZE100_SW_REG(SW1C, PFUZE100_SW1CVOL, 300000, 1875000, 25000), -- PFUZE100_SW_REG(SW2, PFUZE100_SW2VOL, 400000, 1975000, 25000), -- PFUZE100_SW_REG(SW3A, PFUZE100_SW3AVOL, 400000, 1975000, 25000), -- PFUZE100_SW_REG(SW3B, PFUZE100_SW3BVOL, 400000, 1975000, 25000), -- PFUZE100_SW_REG(SW4, PFUZE100_SW4VOL, 400000, 1975000, 25000), -- PFUZE100_SWB_REG(SWBST, PFUZE100_SWBSTCON1, 0x3 , pfuze100_swbst), -- PFUZE100_SWB_REG(VSNVS, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs), -- PFUZE100_FIXED_REG(VREFDDR, PFUZE100_VREFDDRCON, 750000), -- PFUZE100_VGEN_REG(VGEN1, PFUZE100_VGEN1VOL, 800000, 1550000, 50000), -- PFUZE100_VGEN_REG(VGEN2, PFUZE100_VGEN2VOL, 800000, 1550000, 50000), -- PFUZE100_VGEN_REG(VGEN3, PFUZE100_VGEN3VOL, 1800000, 3300000, 100000), -- PFUZE100_VGEN_REG(VGEN4, PFUZE100_VGEN4VOL, 1800000, 3300000, 100000), -- PFUZE100_VGEN_REG(VGEN5, PFUZE100_VGEN5VOL, 1800000, 3300000, 100000), -- PFUZE100_VGEN_REG(VGEN6, PFUZE100_VGEN6VOL, 1800000, 3300000, 100000), -+ PFUZE100_SW_REG(PFUZE100, SW1AB, PFUZE100_SW1ABVOL, 300000, 1875000, 25000), -+ PFUZE100_SW_REG(PFUZE100, SW1C, PFUZE100_SW1CVOL, 300000, 1875000, 25000), -+ PFUZE100_SW_REG(PFUZE100, SW2, PFUZE100_SW2VOL, 400000, 1975000, 25000), -+ PFUZE100_SW_REG(PFUZE100, SW3A, PFUZE100_SW3AVOL, 400000, 1975000, 25000), -+ PFUZE100_SW_REG(PFUZE100, SW3B, PFUZE100_SW3BVOL, 400000, 1975000, 25000), -+ PFUZE100_SW_REG(PFUZE100, SW4, PFUZE100_SW4VOL, 400000, 1975000, 25000), -+ PFUZE100_SWB_REG(PFUZE100, SWBST, PFUZE100_SWBSTCON1, 0x3 , pfuze100_swbst), -+ PFUZE100_SWB_REG(PFUZE100, VSNVS, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs), -+ PFUZE100_FIXED_REG(PFUZE100, VREFDDR, PFUZE100_VREFDDRCON, 750000), -+ PFUZE100_VGEN_REG(PFUZE100, VGEN1, PFUZE100_VGEN1VOL, 800000, 1550000, 50000), -+ PFUZE100_VGEN_REG(PFUZE100, VGEN2, PFUZE100_VGEN2VOL, 800000, 1550000, 50000), -+ PFUZE100_VGEN_REG(PFUZE100, VGEN3, PFUZE100_VGEN3VOL, 1800000, 3300000, 100000), -+ PFUZE100_VGEN_REG(PFUZE100, VGEN4, PFUZE100_VGEN4VOL, 1800000, 3300000, 100000), -+ PFUZE100_VGEN_REG(PFUZE100, VGEN5, PFUZE100_VGEN5VOL, 1800000, 3300000, 100000), -+ PFUZE100_VGEN_REG(PFUZE100, VGEN6, PFUZE100_VGEN6VOL, 1800000, 3300000, 100000), -+}; -+ -+static struct pfuze_regulator pfuze200_regulators[] = { -+ PFUZE100_SW_REG(PFUZE200, SW1AB, PFUZE100_SW1ABVOL, 300000, 1875000, 25000), -+ PFUZE100_SW_REG(PFUZE200, SW2, PFUZE100_SW2VOL, 400000, 1975000, 25000), -+ PFUZE100_SW_REG(PFUZE200, SW3A, PFUZE100_SW3AVOL, 400000, 1975000, 25000), -+ PFUZE100_SW_REG(PFUZE200, SW3B, PFUZE100_SW3BVOL, 400000, 1975000, 25000), -+ PFUZE100_SWB_REG(PFUZE200, SWBST, PFUZE100_SWBSTCON1, 0x3 , pfuze100_swbst), -+ PFUZE100_SWB_REG(PFUZE200, VSNVS, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs), -+ PFUZE100_FIXED_REG(PFUZE200, VREFDDR, PFUZE100_VREFDDRCON, 750000), -+ PFUZE100_VGEN_REG(PFUZE200, VGEN1, PFUZE100_VGEN1VOL, 800000, 1550000, 50000), -+ PFUZE100_VGEN_REG(PFUZE200, VGEN2, PFUZE100_VGEN2VOL, 800000, 1550000, 50000), -+ PFUZE100_VGEN_REG(PFUZE200, VGEN3, PFUZE100_VGEN3VOL, 1800000, 3300000, 100000), -+ PFUZE100_VGEN_REG(PFUZE200, VGEN4, PFUZE100_VGEN4VOL, 1800000, 3300000, 100000), -+ PFUZE100_VGEN_REG(PFUZE200, VGEN5, PFUZE100_VGEN5VOL, 1800000, 3300000, 100000), -+ PFUZE100_VGEN_REG(PFUZE200, VGEN6, PFUZE100_VGEN6VOL, 1800000, 3300000, 100000), - }; - -+static struct pfuze_regulator *pfuze_regulators; -+ - #ifdef CONFIG_OF -+/* PFUZE100 */ - static struct of_regulator_match pfuze100_matches[] = { - { .name = "sw1ab", }, - { .name = "sw1c", }, -@@ -244,6 +267,26 @@ static struct of_regulator_match pfuze100_matches[] = { - { .name = "vgen6", }, - }; - -+/* PFUZE200 */ -+static struct of_regulator_match pfuze200_matches[] = { -+ -+ { .name = "sw1ab", }, -+ { .name = "sw2", }, -+ { .name = "sw3a", }, -+ { .name = "sw3b", }, -+ { .name = "swbst", }, -+ { .name = "vsnvs", }, -+ { .name = "vrefddr", }, -+ { .name = "vgen1", }, -+ { .name = "vgen2", }, -+ { .name = "vgen3", }, -+ { .name = "vgen4", }, -+ { .name = "vgen5", }, -+ { .name = "vgen6", }, -+}; -+ -+static struct of_regulator_match *pfuze_matches; -+ - static int pfuze_parse_regulators_dt(struct pfuze_chip *chip) - { - struct device *dev = chip->dev; -@@ -260,8 +303,20 @@ static int pfuze_parse_regulators_dt(struct pfuze_chip *chip) - return -EINVAL; - } - -- ret = of_regulator_match(dev, parent, pfuze100_matches, -- ARRAY_SIZE(pfuze100_matches)); -+ switch (chip->chip_id) { -+ case PFUZE200: -+ pfuze_matches = pfuze200_matches; -+ ret = of_regulator_match(dev, parent, pfuze200_matches, -+ ARRAY_SIZE(pfuze200_matches)); -+ break; -+ -+ case PFUZE100: -+ default: -+ pfuze_matches = pfuze100_matches; -+ ret = of_regulator_match(dev, parent, pfuze100_matches, -+ ARRAY_SIZE(pfuze100_matches)); -+ break; -+ } - - of_node_put(parent); - if (ret < 0) { -@@ -275,12 +330,12 @@ static int pfuze_parse_regulators_dt(struct pfuze_chip *chip) - - static inline struct regulator_init_data *match_init_data(int index) - { -- return pfuze100_matches[index].init_data; -+ return pfuze_matches[index].init_data; - } - - static inline struct device_node *match_of_node(int index) - { -- return pfuze100_matches[index].of_node; -+ return pfuze_matches[index].of_node; - } - #else - static int pfuze_parse_regulators_dt(struct pfuze_chip *chip) -@@ -308,7 +363,8 @@ static int pfuze_identify(struct pfuze_chip *pfuze_chip) - if (ret) - return ret; - -- if (value & 0x0f) { -+ if ((value & 0x0f) != pfuze_chip->chip_id) { -+ /* device id NOT match with your setting */ - dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); - return -ENODEV; - } -@@ -344,17 +400,31 @@ static int pfuze100_regulator_probe(struct i2c_client *client, - dev_get_platdata(&client->dev); - struct regulator_config config = { }; - int i, ret; -+ const struct of_device_id *match; -+ u32 regulator_num; -+ u32 sw_check_start, sw_check_end; - - pfuze_chip = devm_kzalloc(&client->dev, sizeof(*pfuze_chip), - GFP_KERNEL); - if (!pfuze_chip) - return -ENOMEM; - -- i2c_set_clientdata(client, pfuze_chip); -- -- memcpy(pfuze_chip->regulator_descs, pfuze100_regulators, -- sizeof(pfuze_chip->regulator_descs)); -+ if (client->dev.of_node) { -+ match = of_match_device(of_match_ptr(pfuze_dt_ids), -+ &client->dev); -+ if (!match) { -+ dev_err(&client->dev, "Error: No device match found\n"); -+ return -ENODEV; -+ } -+ pfuze_chip->chip_id = (int)(long)match->data; -+ } else if (id) { -+ pfuze_chip->chip_id = id->driver_data; -+ } else { -+ dev_err(&client->dev, "No dts match or id table match found\n"); -+ return -ENODEV; -+ } - -+ i2c_set_clientdata(client, pfuze_chip); - pfuze_chip->dev = &client->dev; - - pfuze_chip->regmap = devm_regmap_init_i2c(client, &pfuze_regmap_config); -@@ -371,11 +441,34 @@ static int pfuze100_regulator_probe(struct i2c_client *client, - return ret; - } - -+ /* use the right regulators after identify the right device */ -+ switch (pfuze_chip->chip_id) { -+ case PFUZE200: -+ pfuze_regulators = pfuze200_regulators; -+ regulator_num = ARRAY_SIZE(pfuze200_regulators); -+ sw_check_start = PFUZE200_SW2; -+ sw_check_end = PFUZE200_SW3B; -+ break; -+ -+ case PFUZE100: -+ default: -+ pfuze_regulators = pfuze100_regulators; -+ regulator_num = ARRAY_SIZE(pfuze100_regulators); -+ sw_check_start = PFUZE100_SW2; -+ sw_check_end = PFUZE100_SW4; -+ break; -+ } -+ dev_info(&client->dev, "pfuze%s found.\n", -+ (pfuze_chip->chip_id == PFUZE100) ? "100" : "200"); -+ -+ memcpy(pfuze_chip->regulator_descs, pfuze_regulators, -+ sizeof(pfuze_chip->regulator_descs)); -+ - ret = pfuze_parse_regulators_dt(pfuze_chip); - if (ret) - return ret; - -- for (i = 0; i < PFUZE100_MAX_REGULATOR; i++) { -+ for (i = 0; i < regulator_num; i++) { - struct regulator_init_data *init_data; - struct regulator_desc *desc; - int val; -@@ -388,7 +481,7 @@ static int pfuze100_regulator_probe(struct i2c_client *client, - init_data = match_init_data(i); - - /* SW2~SW4 high bit check and modify the voltage value table */ -- if (i > PFUZE100_SW1C && i < PFUZE100_SWBST) { -+ if (i >= sw_check_start && i <= sw_check_end) { - regmap_read(pfuze_chip->regmap, desc->vsel_reg, &val); - if (val & 0x40) { - desc->min_uV = 800000; -diff --git a/include/linux/regulator/pfuze100.h b/include/linux/regulator/pfuze100.h -index 65d550b..364f7a7 100644 ---- a/include/linux/regulator/pfuze100.h -+++ b/include/linux/regulator/pfuze100.h -@@ -35,6 +35,20 @@ - #define PFUZE100_VGEN6 14 - #define PFUZE100_MAX_REGULATOR 15 - -+#define PFUZE200_SW1AB 0 -+#define PFUZE200_SW2 1 -+#define PFUZE200_SW3A 2 -+#define PFUZE200_SW3B 3 -+#define PFUZE200_SWBST 4 -+#define PFUZE200_VSNVS 5 -+#define PFUZE200_VREFDDR 6 -+#define PFUZE200_VGEN1 7 -+#define PFUZE200_VGEN2 8 -+#define PFUZE200_VGEN3 9 -+#define PFUZE200_VGEN4 10 -+#define PFUZE200_VGEN5 11 -+#define PFUZE200_VGEN6 12 -+ - struct regulator_init_data; - - struct pfuze_regulator_platform_data { --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0004-regulator-pfuze100-Add-terminate-entry-for-i2c-of-_d.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0004-regulator-pfuze100-Add-terminate-entry-for-i2c-of-_d.patch deleted file mode 100644 index c7381e34..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0004-regulator-pfuze100-Add-terminate-entry-for-i2c-of-_d.patch +++ /dev/null @@ -1,61 +0,0 @@ -From fdbdb66994db6b896a5a6464b9c1efd7abfbfdb9 Mon Sep 17 00:00:00 2001 -From: Axel Lin -Date: Tue, 4 Mar 2014 18:20:14 +0800 -Subject: [PATCH 04/10] regulator: pfuze100: Add terminate entry for - [i2c|of]_device_id tables -Organization: O.S. Systems Software LTDA. - -Also remove PFUZE_NUM to avoid below build warnings: - - CC [M] drivers/regulator/pfuze100-regulator.o -drivers/regulator/pfuze100-regulator.c:86:2: warning: excess elements in array initializer [enabled by default] -drivers/regulator/pfuze100-regulator.c:86:2: warning: (near initialization for 'pfuze_device_id') [enabled by default] -drivers/regulator/pfuze100-regulator.c:93:2: warning: excess elements in array initializer [enabled by default] -drivers/regulator/pfuze100-regulator.c:93:2: warning: (near initialization for 'pfuze_dt_ids') [enabled by default] - -Signed-off-by: Axel Lin -Signed-off-by: Mark Brown -(cherry picked from commit e6c4c3378d82c5eeb136ed06b1a23651bcdaf739) -(cherry picked from commit 12c7dd7c396378fd6dc907903a4ae540a75b31f5) - -Upstream-Status: Pending ---- - drivers/regulator/pfuze100-regulator.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c -index 35b1de1..0f4924e0 100644 ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -56,7 +56,7 @@ - #define PFUZE100_VGEN5VOL 0x70 - #define PFUZE100_VGEN6VOL 0x71 - --enum chips {PFUZE100, PFUZE200, PFUZE_NUM}; -+enum chips { PFUZE100, PFUZE200 }; - - struct pfuze_regulator { - struct regulator_desc desc; -@@ -80,15 +80,17 @@ static const int pfuze100_vsnvs[] = { - 1000000, 1100000, 1200000, 1300000, 1500000, 1800000, 3000000, - }; - --static const struct i2c_device_id pfuze_device_id[PFUZE_NUM] = { -+static const struct i2c_device_id pfuze_device_id[] = { - {.name = "pfuze100", .driver_data = PFUZE100}, - {.name = "pfuze200", .driver_data = PFUZE200}, -+ { } - }; - MODULE_DEVICE_TABLE(i2c, pfuze_device_id); - --static const struct of_device_id pfuze_dt_ids[PFUZE_NUM] = { -+static const struct of_device_id pfuze_dt_ids[] = { - { .compatible = "fsl,pfuze100", .data = (void *)PFUZE100}, - { .compatible = "fsl,pfuze200", .data = (void *)PFUZE200}, -+ { } - }; - MODULE_DEVICE_TABLE(of, pfuze_dt_ids); - --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0005-regulator-pfuze100-Add-PFUZE200-support-to-Kconfig-a.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0005-regulator-pfuze100-Add-PFUZE200-support-to-Kconfig-a.patch deleted file mode 100644 index 7fcc79d4..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0005-regulator-pfuze100-Add-PFUZE200-support-to-Kconfig-a.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 2610dd3d4f0f167b77c4ce24e1756f7434a17cde Mon Sep 17 00:00:00 2001 -From: Axel Lin -Date: Wed, 5 Mar 2014 18:02:43 +0800 -Subject: [PATCH 05/10] regulator: pfuze100: Add PFUZE200 support to Kconfig - and module description -Organization: O.S. Systems Software LTDA. - -Signed-off-by: Axel Lin -Acked-by: Robin Gong -Signed-off-by: Mark Brown -(cherry picked from commit 2cee2121db44cfeee206d0854bedd52344eea444) - -Signed-off-by: Robin Gong -(cherry picked from commit 88236aaba4ed9b89a7873b30fc1ca9cdcb6b407d) - -Upstream-Status: Pending ---- - drivers/regulator/Kconfig | 6 +++--- - drivers/regulator/pfuze100-regulator.c | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig -index 1339404..5b64f2c 100644 ---- a/drivers/regulator/Kconfig -+++ b/drivers/regulator/Kconfig -@@ -305,12 +305,12 @@ config REGULATOR_PCF50633 - on PCF50633 - - config REGULATOR_PFUZE100 -- tristate "Support regulators on Freescale PFUZE100 PMIC" -+ tristate "Freescale PFUZE100/PFUZE200 regulator driver" - depends on I2C - select REGMAP_I2C - help -- Say y here to support the regulators found on the Freescale PFUZE100 -- PMIC. -+ Say y here to support the regulators found on the Freescale -+ PFUZE100/PFUZE200 PMIC. - - config REGULATOR_RC5T583 - tristate "RICOH RC5T583 Power regulators" -diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c -index 0f4924e0..21114f7 100644 ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -535,6 +535,6 @@ static struct i2c_driver pfuze_driver = { - module_i2c_driver(pfuze_driver); - - MODULE_AUTHOR("Robin Gong "); --MODULE_DESCRIPTION("Regulator Driver for Freescale PFUZE100 PMIC"); -+MODULE_DESCRIPTION("Regulator Driver for Freescale PFUZE100/PFUZE200 PMIC"); - MODULE_LICENSE("GPL v2"); - MODULE_ALIAS("i2c:pfuze100-regulator"); --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0006-regulator-pfuze100-Use-of_get_child_by_name.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0006-regulator-pfuze100-Use-of_get_child_by_name.patch deleted file mode 100644 index 21b2e0ca..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0006-regulator-pfuze100-Use-of_get_child_by_name.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cef8d38fc22ed27e26c8b3d8594c152b6c542253 Mon Sep 17 00:00:00 2001 -From: Sachin Kamat -Date: Fri, 14 Feb 2014 17:20:00 +0530 -Subject: [PATCH 06/10] regulator: pfuze100: Use of_get_child_by_name -Organization: O.S. Systems Software LTDA. - -of_find_node_by_name walks the allnodes list, and can thus walk -outside of the parent node. Use of_get_child_by_name instead. - -Signed-off-by: Sachin Kamat -Signed-off-by: Mark Brown -(cherry picked from commit 4d286178d55cc5811d50750a44eb729252adef11) - -Upstream-Status: Pending ---- - drivers/regulator/pfuze100-regulator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c -index 21114f7..15059c74 100644 ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -299,7 +299,7 @@ static int pfuze_parse_regulators_dt(struct pfuze_chip *chip) - if (!np) - return 0; - -- parent = of_find_node_by_name(np, "regulators"); -+ parent = of_get_child_by_name(np, "regulators"); - if (!parent) { - dev_err(dev, "regulators node not found\n"); - return -EINVAL; --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0007-pfuze100-regulator-Fix-of_node_get-parameter.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0007-pfuze100-regulator-Fix-of_node_get-parameter.patch deleted file mode 100644 index d077858a..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0007-pfuze100-regulator-Fix-of_node_get-parameter.patch +++ /dev/null @@ -1,44 +0,0 @@ -From cc1f086131aa802abc38428a5a690eb5f35c8225 Mon Sep 17 00:00:00 2001 -From: Fabio Estevam -Date: Tue, 18 Feb 2014 23:46:14 -0300 -Subject: [PATCH 07/10] pfuze100-regulator: Fix of_node_get() parameter -Organization: O.S. Systems Software LTDA. - -Since commit d7857c42 (regulator: pfuze100: Use of_get_child_by_name) we get -the following probe failure: - -pfuze100-regulator 1-0008: Full layer: 1, Metal layer: 0 -pfuze100-regulator 1-0008: FAB: 0, FIN: 0 -pfuze100-regulator 1-0008: regulators node not found -pfuze100-regulator: probe of 1-0008 failed with error -22 - -Now that of_get_child_by_name() is used we should adjust the device_node pointer -'np' to not get the parent node anymore. - -Suggested-by: Shawn Guo -Signed-off-by: Fabio Estevam -Acked-by: Sachin Kamat -Signed-off-by: Mark Brown -(cherry picked from commit 0780208ff201feb45e12ebecb39ecac4740b1244) - -Upstream-Status: Pending ---- - drivers/regulator/pfuze100-regulator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c -index 15059c74..b9c1b9a 100644 ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -295,7 +295,7 @@ static int pfuze_parse_regulators_dt(struct pfuze_chip *chip) - struct device_node *np, *parent; - int ret; - -- np = of_node_get(dev->parent->of_node); -+ np = of_node_get(dev->of_node); - if (!np) - return 0; - --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0008-ENGR00301078-1-ARM-dts-imx6dl-sabresd-add-support-fo.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0008-ENGR00301078-1-ARM-dts-imx6dl-sabresd-add-support-fo.patch deleted file mode 100644 index f1e88d47..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0008-ENGR00301078-1-ARM-dts-imx6dl-sabresd-add-support-fo.patch +++ /dev/null @@ -1,752 +0,0 @@ -From 37e501e8c4e1f1511e017aa0a7def38895a47fa6 Mon Sep 17 00:00:00 2001 -From: Robin Gong -Date: Thu, 6 Mar 2014 18:59:30 +0800 -Subject: [PATCH 08/10] ENGR00301078-1: ARM: dts: imx6dl-sabresd: add support - for pfuze200 on mx6dl-sabresd -Organization: O.S. Systems Software LTDA. - -move pmic device node from imx6qdl-sabresd.dtsi to up-level, and add -another layer on imx6dl-sabresd to diff pfuze100 or pfuze200. Meanwhile -only work in ldo-enable mode if using pfuze200,since 'SW1C' switch -regulator is cut for cost-down which means VDDARM_IN and VDDSOC_IN have -to share the same switch regulator - -Signed-off-by: Robin Gong -(cherry picked from commit 32e4e161b087bfdcea74bd80f0b24c341092c96b) - -Upstream-Status: Pending ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/imx6dl-sabresd-common.dtsi | 130 ++++++++++++++++++++ - arch/arm/boot/dts/imx6dl-sabresd-pf200.dts | 126 +++++++++++++++++++ - arch/arm/boot/dts/imx6dl-sabresd.dts | 175 ++++++++++++--------------- - arch/arm/boot/dts/imx6q-sabresd.dts | 101 ++++++++++++++++ - arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 99 --------------- - 6 files changed, 435 insertions(+), 197 deletions(-) - create mode 100644 arch/arm/boot/dts/imx6dl-sabresd-common.dtsi - create mode 100644 arch/arm/boot/dts/imx6dl-sabresd-pf200.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index f43b68b..c744cda 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -120,6 +120,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ - imx6dl-sabresd.dtb \ - imx6dl-sabresd-hdcp.dtb \ - imx6dl-sabresd-ldo.dtb \ -+ imx6dl-sabresd-pf200.dtb \ - imx6dl-wandboard.dtb \ - imx6q-arm2.dtb \ - imx6q-sabreauto.dtb \ -diff --git a/arch/arm/boot/dts/imx6dl-sabresd-common.dtsi b/arch/arm/boot/dts/imx6dl-sabresd-common.dtsi -new file mode 100644 -index 0000000..2a07534 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6dl-sabresd-common.dtsi -@@ -0,0 +1,130 @@ -+/* -+ * Copyright (C) 2014 Freescale Semiconductor, Inc. -+ * -+ * 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. -+ */ -+ -+&battery { -+ offset-charger = <1485>; -+ offset-discharger = <1464>; -+ offset-usb-charger = <1285>; -+}; -+ -+&i2c3 { -+ max17135@48 { -+ compatible = "maxim,max17135"; -+ reg = <0x48>; -+ vneg_pwrup = <1>; -+ gvee_pwrup = <1>; -+ vpos_pwrup = <2>; -+ gvdd_pwrup = <1>; -+ gvdd_pwrdn = <1>; -+ vpos_pwrdn = <2>; -+ gvee_pwrdn = <1>; -+ vneg_pwrdn = <1>; -+ SENSOR-supply = <®_sensor>; -+ gpio_pmic_pwrgood = <&gpio2 21 0>; -+ gpio_pmic_vcom_ctrl = <&gpio3 17 0>; -+ gpio_pmic_wakeup = <&gpio3 20 0>; -+ gpio_pmic_v3p3 = <&gpio2 20 0>; -+ gpio_pmic_intr = <&gpio2 25 0>; -+ -+ regulators { -+ DISPLAY_reg: DISPLAY { -+ regulator-name = "DISPLAY"; -+ }; -+ -+ GVDD_reg: GVDD { -+ /* 20v */ -+ regulator-name = "GVDD"; -+ }; -+ -+ GVEE_reg: GVEE { -+ /* -22v */ -+ regulator-name = "GVEE"; -+ }; -+ -+ HVINN_reg: HVINN { -+ /* -22v */ -+ regulator-name = "HVINN"; -+ }; -+ -+ HVINP_reg: HVINP { -+ /* 20v */ -+ regulator-name = "HVINP"; -+ }; -+ -+ VCOM_reg: VCOM { -+ regulator-name = "VCOM"; -+ /* 2's-compliment, -4325000 */ -+ regulator-min-microvolt = <0xffbe0178>; -+ /* 2's-compliment, -500000 */ -+ regulator-max-microvolt = <0xfff85ee0>; -+ }; -+ -+ VNEG_reg: VNEG { -+ /* -15v */ -+ regulator-name = "VNEG"; -+ }; -+ -+ VPOS_reg: VPOS { -+ /* 15v */ -+ regulator-name = "VPOS"; -+ }; -+ -+ V3P3_reg: V3P3 { -+ regulator-name = "V3P3"; -+ }; -+ }; -+ }; -+}; -+ -+&iomuxc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hog_1>, <&pinctrl_hog_2>; -+ -+ hog { -+ pinctrl_hog_2: hoggrp-2 { -+ fsl,pins = < -+ /* MAX17135 */ -+ MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000 -+ MX6QDL_PAD_EIM_D17__GPIO3_IO17 0x80000000 -+ MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000 -+ MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x80000000 -+ MX6QDL_PAD_EIM_OE__GPIO2_IO25 0x80000000 -+ /* elan touch */ -+ MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000 -+ MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x80000000 -+ MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x170b0 -+ >; -+ }; -+ }; -+}; -+ -+&epdc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_epdc_0>; -+ V3P3-supply = <&V3P3_reg>; -+ VCOM-supply = <&VCOM_reg>; -+ DISPLAY-supply = <&DISPLAY_reg>; -+ status = "okay"; -+}; -+ -+&ldb { -+ ipu_id = <0>; -+ sec_ipu_id = <0>; -+}; -+ -+&mxcfb1 { -+ status = "okay"; -+}; -+ -+&mxcfb2 { -+ status = "okay"; -+}; -+ -+&pxp { -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts b/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts -new file mode 100644 -index 0000000..499f7d3 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6dl-sabresd-pf200.dts -@@ -0,0 +1,126 @@ -+/* -+ * Copyright (C) 2014 Freescale Semiconductor, Inc. -+ * -+ * 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 "imx6dl.dtsi" -+#include "imx6qdl-sabresd.dtsi" -+#include "imx6dl-sabresd-common.dtsi" -+ -+/ { -+ model = "Freescale i.MX6 DualLite SABRE Smart Device Board(PFUZE200)"; -+ compatible = "fsl,imx6dl-sabresd", "fsl,imx6dl"; -+}; -+ -+&cpu0 { -+ arm-supply = <®_arm>; -+ soc-supply = <®_soc>; -+ pu-supply = <®_pu>; /* use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&gpc { -+ fsl,ldo-bypass = <0>; /* use ldo-bypass, u-boot will check it and configure */ -+ fsl,wdog-reset = <1>; /* watchdog select of reset source */ -+ pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&gpu { -+ pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&vpu { -+ pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&i2c2 { -+ pmic: pfuze200@08 { -+ compatible = "fsl,pfuze200"; -+ reg = <0x08>; -+ -+ regulators { -+ sw1a_reg: sw1ab { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; -+ }; -+ -+ sw2_reg: sw2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3a_reg: sw3a { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3b_reg: sw3b { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ swbst_reg: swbst { -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5150000>; -+ }; -+ -+ snvs_reg: vsnvs { -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vref_reg: vrefddr { -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vgen1_reg: vgen1 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen2_reg: vgen2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen3_reg: vgen3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ vgen4_reg: vgen4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen5_reg: vgen5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen6_reg: vgen6 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ }; -+ }; -+}; -diff --git a/arch/arm/boot/dts/imx6dl-sabresd.dts b/arch/arm/boot/dts/imx6dl-sabresd.dts -index 5713c71..b4c738d 100644 ---- a/arch/arm/boot/dts/imx6dl-sabresd.dts -+++ b/arch/arm/boot/dts/imx6dl-sabresd.dts -@@ -1,5 +1,5 @@ - /* -- * Copyright (C) 2013 Freescale Semiconductor, Inc. -+ * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. - * - * 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 -@@ -10,131 +10,110 @@ - - #include "imx6dl.dtsi" - #include "imx6qdl-sabresd.dtsi" -+#include "imx6dl-sabresd-common.dtsi" - - / { -- model = "Freescale i.MX6 DualLite SABRE Smart Device Board"; -+ model = "Freescale i.MX6 DualLite SABRE Smart Device Board(PFUZE100)"; - compatible = "fsl,imx6dl-sabresd", "fsl,imx6dl"; - }; - --&battery { -- offset-charger = <1485>; -- offset-discharger = <1464>; -- offset-usb-charger = <1285>; --}; -- --&i2c3 { -- max17135@48 { -- compatible = "maxim,max17135"; -- reg = <0x48>; -- vneg_pwrup = <1>; -- gvee_pwrup = <1>; -- vpos_pwrup = <2>; -- gvdd_pwrup = <1>; -- gvdd_pwrdn = <1>; -- vpos_pwrdn = <2>; -- gvee_pwrdn = <1>; -- vneg_pwrdn = <1>; -- SENSOR-supply = <®_sensor>; -- gpio_pmic_pwrgood = <&gpio2 21 0>; -- gpio_pmic_vcom_ctrl = <&gpio3 17 0>; -- gpio_pmic_wakeup = <&gpio3 20 0>; -- gpio_pmic_v3p3 = <&gpio2 20 0>; -- gpio_pmic_intr = <&gpio2 25 0>; -+&i2c2 { -+ pmic: pfuze100@08 { -+ compatible = "fsl,pfuze100"; -+ reg = <0x08>; - - regulators { -- DISPLAY_reg: DISPLAY { -- regulator-name = "DISPLAY"; -+ sw1a_reg: sw1ab { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; - }; - -- GVDD_reg: GVDD { -- /* 20v */ -- regulator-name = "GVDD"; -+ sw1c_reg: sw1c { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; - }; - -- GVEE_reg: GVEE { -- /* -22v */ -- regulator-name = "GVEE"; -+ sw2_reg: sw2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; - }; - -- HVINN_reg: HVINN { -- /* -22v */ -- regulator-name = "HVINN"; -+ sw3a_reg: sw3a { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; - }; - -- HVINP_reg: HVINP { -- /* 20v */ -- regulator-name = "HVINP"; -+ sw3b_reg: sw3b { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; - }; - -- VCOM_reg: VCOM { -- regulator-name = "VCOM"; -- /* 2's-compliment, -4325000 */ -- regulator-min-microvolt = <0xffbe0178>; -- /* 2's-compliment, -500000 */ -- regulator-max-microvolt = <0xfff85ee0>; -+ sw4_reg: sw4 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; - }; - -- VNEG_reg: VNEG { -- /* -15v */ -- regulator-name = "VNEG"; -+ swbst_reg: swbst { -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5150000>; - }; - -- VPOS_reg: VPOS { -- /* 15v */ -- regulator-name = "VPOS"; -+ snvs_reg: vsnvs { -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-boot-on; -+ regulator-always-on; - }; - -- V3P3_reg: V3P3 { -- regulator-name = "V3P3"; -+ vref_reg: vrefddr { -+ regulator-boot-on; -+ regulator-always-on; - }; -- }; -- }; --}; - --&iomuxc { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_hog_1>, <&pinctrl_hog_2>; -- -- hog { -- pinctrl_hog_2: hoggrp-2 { -- fsl,pins = < -- /* MAX17135 */ -- MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000 -- MX6QDL_PAD_EIM_D17__GPIO3_IO17 0x80000000 -- MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000 -- MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x80000000 -- MX6QDL_PAD_EIM_OE__GPIO2_IO25 0x80000000 -- /* elan touch */ -- MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x80000000 -- MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x80000000 -- MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x170b0 -- >; -- }; -- }; --}; -+ vgen1_reg: vgen1 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; - --&epdc { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_epdc_0>; -- V3P3-supply = <&V3P3_reg>; -- VCOM-supply = <&VCOM_reg>; -- DISPLAY-supply = <&DISPLAY_reg>; -- status = "okay"; --}; -+ vgen2_reg: vgen2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; - --&ldb { -- ipu_id = <0>; -- sec_ipu_id = <0>; --}; -+ vgen3_reg: vgen3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ }; - --&mxcfb1 { -- status = "okay"; --}; -+ vgen4_reg: vgen4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; - --&mxcfb2 { -- status = "okay"; --}; -+ vgen5_reg: vgen5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; - --&pxp { -- status = "okay"; -+ vgen6_reg: vgen6 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ }; -+ }; - }; -diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts -index 072e7d3..5e5ff56 100644 ---- a/arch/arm/boot/dts/imx6q-sabresd.dts -+++ b/arch/arm/boot/dts/imx6q-sabresd.dts -@@ -26,6 +26,107 @@ - offset-usb-charger = <1685>; - }; - -+&i2c2 { -+ pmic: pfuze100@08 { -+ compatible = "fsl,pfuze100"; -+ reg = <0x08>; -+ -+ regulators { -+ sw1a_reg: sw1ab { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; -+ }; -+ -+ sw1c_reg: sw1c { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; -+ }; -+ -+ sw2_reg: sw2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3a_reg: sw3a { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3b_reg: sw3b { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw4_reg: sw4 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ swbst_reg: swbst { -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5150000>; -+ }; -+ -+ snvs_reg: vsnvs { -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vref_reg: vrefddr { -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vgen1_reg: vgen1 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen2_reg: vgen2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen3_reg: vgen3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ vgen4_reg: vgen4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen5_reg: vgen5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen6_reg: vgen6 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ }; -+ }; -+}; -+ - &mxcfb1 { - status = "okay"; - }; -diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi -index 66b6145..5d774e5 100644 ---- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi -+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi -@@ -405,105 +405,6 @@ - mclk_source = <0>; - }; - -- pmic: pfuze100@08 { -- compatible = "fsl,pfuze100"; -- reg = <0x08>; -- -- regulators { -- sw1a_reg: sw1ab { -- regulator-min-microvolt = <300000>; -- regulator-max-microvolt = <1875000>; -- regulator-boot-on; -- regulator-always-on; -- regulator-ramp-delay = <6250>; -- }; -- -- sw1c_reg: sw1c { -- regulator-min-microvolt = <300000>; -- regulator-max-microvolt = <1875000>; -- regulator-boot-on; -- regulator-always-on; -- regulator-ramp-delay = <6250>; -- }; -- -- sw2_reg: sw2 { -- regulator-min-microvolt = <800000>; -- regulator-max-microvolt = <3300000>; -- regulator-boot-on; -- regulator-always-on; -- }; -- -- sw3a_reg: sw3a { -- regulator-min-microvolt = <400000>; -- regulator-max-microvolt = <1975000>; -- regulator-boot-on; -- regulator-always-on; -- }; -- -- sw3b_reg: sw3b { -- regulator-min-microvolt = <400000>; -- regulator-max-microvolt = <1975000>; -- regulator-boot-on; -- regulator-always-on; -- }; -- -- sw4_reg: sw4 { -- regulator-min-microvolt = <800000>; -- regulator-max-microvolt = <3300000>; -- }; -- -- swbst_reg: swbst { -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5150000>; -- }; -- -- snvs_reg: vsnvs { -- regulator-min-microvolt = <1000000>; -- regulator-max-microvolt = <3000000>; -- regulator-boot-on; -- regulator-always-on; -- }; -- -- vref_reg: vrefddr { -- regulator-boot-on; -- regulator-always-on; -- }; -- -- vgen1_reg: vgen1 { -- regulator-min-microvolt = <800000>; -- regulator-max-microvolt = <1550000>; -- }; -- -- vgen2_reg: vgen2 { -- regulator-min-microvolt = <800000>; -- regulator-max-microvolt = <1550000>; -- }; -- -- vgen3_reg: vgen3 { -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <3300000>; -- }; -- -- vgen4_reg: vgen4 { -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <3300000>; -- regulator-always-on; -- }; -- -- vgen5_reg: vgen5 { -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <3300000>; -- regulator-always-on; -- }; -- -- vgen6_reg: vgen6 { -- regulator-min-microvolt = <1800000>; -- regulator-max-microvolt = <3300000>; -- regulator-always-on; -- }; -- }; -- }; -- - egalax_ts@04 { - compatible = "eeti,egalax_ts"; - reg = <0x04>; --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0009-ENGR00301078-2-ARM-dts-imx6sl-evk-add-support-for-pf.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0009-ENGR00301078-2-ARM-dts-imx6sl-evk-add-support-for-pf.patch deleted file mode 100644 index 326e0a74..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0009-ENGR00301078-2-ARM-dts-imx6sl-evk-add-support-for-pf.patch +++ /dev/null @@ -1,1202 +0,0 @@ -From 3082ee40d024412e8c275f1945e4a06a638e81bb Mon Sep 17 00:00:00 2001 -From: Robin Gong -Date: Thu, 6 Mar 2014 19:36:02 +0800 -Subject: [PATCH 09/10] ENGR00301078-2: ARM: dts: imx6sl-evk: add support for - pfuze200 on imx6sl-evk -Organization: O.S. Systems Software LTDA. - -move pmic device node from imx6sl-evk.dtsi to upper-level, and add -another layer on imx6sl-evk to diff pfuze100 or pfuze200. Meanwhile -only works in ldo-enable mode if using pfuze200, since 'SW1C' switch -regulator is cut for cost-down which means VDDARM_IN and VDDSOC_IN have -to share the same switch regulator - -Signed-off-by: Robin Gong - -Upstream-Status: Pending ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/imx6sl-evk-common.dtsi | 504 +++++++++++++++++++++++++++++++ - arch/arm/boot/dts/imx6sl-evk-pf200.dts | 122 ++++++++ - arch/arm/boot/dts/imx6sl-evk.dts | 497 +----------------------------- - 4 files changed, 630 insertions(+), 494 deletions(-) - create mode 100644 arch/arm/boot/dts/imx6sl-evk-common.dtsi - create mode 100644 arch/arm/boot/dts/imx6sl-evk-pf200.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index c744cda..c5f9a19 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ - imx6sl-evk.dtb \ - imx6sl-evk-csi.dtb \ - imx6sl-evk-ldo.dtb \ -+ imx6sl-evk-pf200.dtb \ - vf610-twr.dtb - dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ - imx23-olinuxino.dtb \ -diff --git a/arch/arm/boot/dts/imx6sl-evk-common.dtsi b/arch/arm/boot/dts/imx6sl-evk-common.dtsi -new file mode 100644 -index 0000000..a1a3969 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6sl-evk-common.dtsi -@@ -0,0 +1,504 @@ -+/* -+ * Copyright (C) 2014 Freescale Semiconductor, Inc. -+ * -+ * 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. -+ */ -+ -+/ { -+ memory { -+ reg = <0x80000000 0x40000000>; -+ }; -+ -+ battery: max8903@0 { -+ compatible = "fsl,max8903-charger"; -+ pinctrl-names = "default"; -+ dok_input = <&gpio4 13 1>; -+ uok_input = <&gpio4 13 1>; -+ chg_input = <&gpio4 15 1>; -+ flt_input = <&gpio4 14 1>; -+ fsl,dcm_always_high; -+ fsl,dc_valid; -+ fsl,adc_disable; -+ status = "okay"; -+ }; -+ -+ regulators { -+ compatible = "simple-bus"; -+ -+ reg_lcd_3v3: lcd-3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "lcd-3v3"; -+ gpio = <&gpio4 3 0>; -+ enable-active-high; -+ }; -+ -+ reg_aud3v: wm8962_supply_3v15 { -+ compatible = "regulator-fixed"; -+ regulator-name = "wm8962-supply-3v15"; -+ regulator-min-microvolt = <3150000>; -+ regulator-max-microvolt = <3150000>; -+ regulator-boot-on; -+ }; -+ -+ reg_aud4v: wm8962_supply_4v2 { -+ compatible = "regulator-fixed"; -+ regulator-name = "wm8962-supply-4v2"; -+ regulator-min-microvolt = <4325000>; -+ regulator-max-microvolt = <4325000>; -+ regulator-boot-on; -+ }; -+ -+ reg_usb_otg1_vbus: usb_otg1_vbus { -+ compatible = "regulator-fixed"; -+ regulator-name = "usb_otg1_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ gpio = <&gpio4 0 0>; -+ enable-active-high; -+ }; -+ -+ reg_usb_otg2_vbus: usb_otg2_vbus { -+ compatible = "regulator-fixed"; -+ regulator-name = "usb_otg2_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ gpio = <&gpio4 2 0>; -+ enable-active-high; -+ }; -+ }; -+ -+ backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&pwm1 0 5000000>; -+ brightness-levels = <0 4 8 16 32 64 128 255>; -+ default-brightness-level = <6>; -+ }; -+ -+ csi_v4l2_cap { -+ compatible = "fsl,imx6sl-csi-v4l2"; -+ status = "disabled"; -+ }; -+ -+ pxp_v4l2_out { -+ compatible = "fsl,imx6sl-pxp-v4l2"; -+ status = "okay"; -+ }; -+ -+ sound { -+ compatible = "fsl,imx6q-sabresd-wm8962", -+ "fsl,imx-audio-wm8962"; -+ model = "wm8962-audio"; -+ ssi-controller = <&ssi2>; -+ audio-codec = <&codec>; -+ audio-routing = -+ "Headphone Jack", "HPOUTL", -+ "Headphone Jack", "HPOUTR", -+ "Ext Spk", "SPKOUTL", -+ "Ext Spk", "SPKOUTR", -+ "AMIC", "MICBIAS", -+ "IN3R", "AMIC"; -+ amic-mono; -+ mux-int-port = <2>; -+ mux-ext-port = <3>; -+ hp-det-gpios = <&gpio4 19 1>; -+ }; -+ -+ sound-spdif { -+ compatible = "fsl,imx-audio-spdif", -+ "fsl,imx6sl-evk-spdif"; -+ model = "imx-spdif"; -+ spdif-controller = <&spdif>; -+ spdif-out; -+ }; -+ -+ sii902x_reset: sii902x-reset { -+ compatible = "gpio-reset"; -+ reset-gpios = <&gpio2 19 1>; -+ reset-delay-us = <100000>; -+ #reset-cells = <0>; -+ }; -+}; -+ -+&audmux { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_audmux_1>; -+ status = "okay"; -+}; -+ -+&csi { -+ status = "disabled"; -+}; -+ -+&ecspi1 { -+ fsl,spi-num-chipselects = <1>; -+ cs-gpios = <&gpio4 11 0>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_ecspi1_1>; -+ status = "okay"; -+ -+ flash: m25p80@0 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ compatible = "st,m25p32"; -+ spi-max-frequency = <20000000>; -+ reg = <0>; -+ }; -+}; -+ -+&epdc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_epdc_0>; -+ V3P3-supply = <&V3P3_reg>; -+ VCOM-supply = <&VCOM_reg>; -+ DISPLAY-supply = <&DISPLAY_reg>; -+ status = "okay"; -+}; -+ -+&cpu0 { -+ arm-supply = <&sw1a_reg>; -+ soc-supply = <&sw1c_reg>; -+ pu-supply = <&pu_dummy>; /* use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&fec { -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&pinctrl_fec_1>; -+ pinctrl-1 = <&pinctrl_fec_1_sleep>; -+ phy-mode = "rmii"; -+ phy-reset-gpios = <&gpio4 21 0>; /* GPIO4_21 */ -+ phy-reset-duration = <1>; -+ status = "okay"; -+}; -+ -+&gpc { -+ fsl,cpu_pupscr_sw2iso = <0xf>; -+ fsl,cpu_pupscr_sw = <0xf>; -+ fsl,cpu_pdnscr_iso2sw = <0x1>; -+ fsl,cpu_pdnscr_iso = <0x1>; -+ fsl,ldo-bypass = <1>; /* use ldo-bypass, u-boot will check it and configure */ -+ fsl,wdog-reset = <1>; /* watchdog select of reset source */ -+ pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&gpu { -+ pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&i2c1 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_i2c1_1>; -+ status = "okay"; -+ -+ elan@10 { -+ compatible = "elan,elan-touch"; -+ reg = <0x10>; -+ interrupt-parent = <&gpio2>; -+ interrupts = <10 2>; -+ gpio_elan_cs = <&gpio2 9 0>; -+ gpio_elan_rst = <&gpio4 4 0>; -+ gpio_intr = <&gpio2 10 0>; -+ status = "okay"; -+ }; -+ -+ max17135@48 { -+ compatible = "maxim,max17135"; -+ reg = <0x48>; -+ vneg_pwrup = <1>; -+ gvee_pwrup = <2>; -+ vpos_pwrup = <10>; -+ gvdd_pwrup = <12>; -+ gvdd_pwrdn = <1>; -+ vpos_pwrdn = <2>; -+ gvee_pwrdn = <8>; -+ vneg_pwrdn = <10>; -+ gpio_pmic_pwrgood = <&gpio2 13 0>; -+ gpio_pmic_vcom_ctrl = <&gpio2 3 0>; -+ gpio_pmic_wakeup = <&gpio2 14 0>; -+ gpio_pmic_v3p3 = <&gpio2 7 0>; -+ gpio_pmic_intr = <&gpio2 12 0>; -+ -+ regulators { -+ DISPLAY_reg: DISPLAY { -+ regulator-name = "DISPLAY"; -+ }; -+ -+ GVDD_reg: GVDD { -+ /* 20v */ -+ regulator-name = "GVDD"; -+ }; -+ -+ GVEE_reg: GVEE { -+ /* -22v */ -+ regulator-name = "GVEE"; -+ }; -+ -+ HVINN_reg: HVINN { -+ /* -22v */ -+ regulator-name = "HVINN"; -+ }; -+ -+ HVINP_reg: HVINP { -+ /* 20v */ -+ regulator-name = "HVINP"; -+ }; -+ -+ VCOM_reg: VCOM { -+ regulator-name = "VCOM"; -+ /* 2's-compliment, -4325000 */ -+ regulator-min-microvolt = <0xffbe0178>; -+ /* 2's-compliment, -500000 */ -+ regulator-max-microvolt = <0xfff85ee0>; -+ }; -+ -+ VNEG_reg: VNEG { -+ /* -15v */ -+ regulator-name = "VNEG"; -+ }; -+ -+ VPOS_reg: VPOS { -+ /* 15v */ -+ regulator-name = "VPOS"; -+ }; -+ -+ V3P3_reg: V3P3 { -+ regulator-name = "V3P3"; -+ }; -+ }; -+ }; -+ -+ mma8450@1c { -+ compatible = "fsl,mma8450"; -+ reg = <0x1c>; -+ }; -+}; -+ -+&i2c2 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_i2c2_1>; -+ status = "okay"; -+ -+ codec: wm8962@1a { -+ compatible = "wlf,wm8962"; -+ reg = <0x1a>; -+ clocks = <&clks IMX6SL_CLK_EXTERN_AUDIO>; -+ DCVDD-supply = <&vgen3_reg>; -+ DBVDD-supply = <®_aud3v>; -+ AVDD-supply = <&vgen3_reg>; -+ CPVDD-supply = <&vgen3_reg>; -+ MICVDD-supply = <®_aud3v>; -+ PLLVDD-supply = <&vgen3_reg>; -+ SPKVDD1-supply = <®_aud4v>; -+ SPKVDD2-supply = <®_aud4v>; -+ amic-mono; -+ }; -+ -+ sii902x@39 { -+ compatible = "SiI,sii902x"; -+ interrupt-parent = <&gpio2>; -+ interrupts = <10 2>; -+ mode_str ="1280x720M@60"; -+ bits-per-pixel = <32>; -+ resets = <&sii902x_reset>; -+ reg = <0x39>; -+ }; -+}; -+ -+&i2c3 { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_i2c3_1>; -+ status = "disabled"; -+ -+ ov564x: ov564x@3c { -+ compatible = "ovti,ov564x"; -+ reg = <0x3c>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_csi_0>; -+ clocks = <&clks IMX6SL_CLK_CSI>; -+ clock-names = "csi_mclk"; -+ AVDD-supply = <&vgen6_reg>; /* 2.8v */ -+ DVDD-supply = <&vgen2_reg>; /* 1.5v*/ -+ pwn-gpios = <&gpio1 25 1>; -+ rst-gpios = <&gpio1 26 0>; -+ csi_id = <0>; -+ mclk = <24000000>; -+ mclk_source = <0>; -+ }; -+}; -+ -+&iomuxc { -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&pinctrl_hog>; -+ pinctrl-1 = <&pinctrl_hog_sleep>; -+ -+ hog { -+ pinctrl_hog: hoggrp { -+ fsl,pins = < -+ MX6SL_PAD_KEY_ROW7__GPIO4_IO07 0x17059 -+ MX6SL_PAD_KEY_COL7__GPIO4_IO06 0x17059 -+ MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x17059 -+ MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x17059 -+ MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059 -+ MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21 0x80000000 -+ MX6SL_PAD_KEY_ROW5__GPIO4_IO03 0x110b0 -+ MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03 0x80000000 -+ MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13 0x80000000 -+ MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07 0x80000000 -+ MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x80000000 -+ MX6SL_PAD_EPDC_PWRINT__GPIO2_IO12 0x80000000 -+ MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x170b0 -+ MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x80000000 -+ MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x110b0 -+ MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000 -+ MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000 -+ MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15 0x17000 -+ MX6SL_PAD_FEC_RX_ER__GPIO4_IO19 0x1b0b0 -+ MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x1b0b0 -+ MX6SL_PAD_KEY_COL4__GPIO4_IO00 0x80000000 -+ MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x80000000 -+ >; -+ }; -+ -+ pinctrl_hog_sleep: hoggrp_sleep { -+ fsl,pins = < -+ MX6SL_PAD_KEY_ROW5__GPIO4_IO03 0x3080 -+ MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x3080 -+ MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x3080 -+ >; -+ }; -+ }; -+}; -+ -+&kpp { -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&pinctrl_kpp_1>; -+ pinctrl-1 = <&pinctrl_kpp_1_sleep>; -+ linux,keymap = < -+ 0x00000067 /* KEY_UP */ -+ 0x0001006c /* KEY_DOWN */ -+ 0x0002001c /* KEY_ENTER */ -+ 0x01000066 /* KEY_HOME */ -+ 0x0101006a /* KEY_RIGHT */ -+ 0x01020069 /* KEY_LEFT */ -+ 0x02000072 /* KEY_VOLUMEDOWN */ -+ 0x02010073 /* KEY_VOLUMEUP */ -+ >; -+ status = "okay"; -+}; -+ -+&lcdif { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_lcdif_dat_0 -+ &pinctrl_lcdif_ctrl_0>; -+ lcd-supply = <®_lcd_3v3>; -+ display = <&display>; -+ status = "okay"; -+ -+ display: display { -+ bits-per-pixel = <16>; -+ bus-width = <24>; -+ -+ display-timings { -+ native-mode = <&timing0>; -+ timing0: timing0 { -+ clock-frequency = <33500000>; -+ hactive = <800>; -+ vactive = <480>; -+ hback-porch = <89>; -+ hfront-porch = <164>; -+ vback-porch = <23>; -+ vfront-porch = <10>; -+ hsync-len = <10>; -+ vsync-len = <10>; -+ hsync-active = <0>; -+ vsync-active = <0>; -+ de-active = <1>; -+ pixelclk-active = <0>; -+ }; -+ }; -+ }; -+}; -+ -+&pwm1 { -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&pinctrl_pwm1_0>; -+ pinctrl-1 = <&pinctrl_pwm1_0_sleep>; -+ status = "okay"; -+}; -+ -+&pxp { -+ status = "okay"; -+}; -+ -+&spdif { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_spdif_1>; -+ status = "okay"; -+}; -+ -+&ssi2 { -+ fsl,mode = "i2s-slave"; -+ status = "okay"; -+}; -+ -+&uart1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_uart1_1>; -+ status = "okay"; -+}; -+ -+&usbotg1 { -+ vbus-supply = <®_usb_otg1_vbus>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_usbotg1_1>; -+ disable-over-current; -+ imx6-usb-charger-detection; -+ status = "okay"; -+}; -+ -+&usbotg2 { -+ vbus-supply = <®_usb_otg2_vbus>; -+ dr_mode = "host"; -+ disable-over-current; -+ status = "okay"; -+}; -+ -+&usdhc1 { -+ pinctrl-names = "default", "state_100mhz", "state_200mhz"; -+ pinctrl-0 = <&pinctrl_usdhc1_1>; -+ pinctrl-1 = <&pinctrl_usdhc1_1_100mhz>; -+ pinctrl-2 = <&pinctrl_usdhc1_1_200mhz>; -+ bus-width = <8>; -+ cd-gpios = <&gpio4 7 0>; -+ wp-gpios = <&gpio4 6 0>; -+ keep-power-in-suspend; -+ enable-sdio-wakeup; -+ status = "okay"; -+}; -+ -+&usdhc2 { -+ pinctrl-names = "default", "state_100mhz", "state_200mhz"; -+ pinctrl-0 = <&pinctrl_usdhc2_1>; -+ pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>; -+ pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>; -+ cd-gpios = <&gpio5 0 0>; -+ wp-gpios = <&gpio4 29 0>; -+ keep-power-in-suspend; -+ enable-sdio-wakeup; -+ status = "okay"; -+}; -+ -+&usdhc3 { -+ pinctrl-names = "default", "state_100mhz", "state_200mhz"; -+ pinctrl-0 = <&pinctrl_usdhc3_1>; -+ pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>; -+ pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>; -+ cd-gpios = <&gpio3 22 0>; -+ keep-power-in-suspend; -+ enable-sdio-wakeup; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/imx6sl-evk-pf200.dts b/arch/arm/boot/dts/imx6sl-evk-pf200.dts -new file mode 100644 -index 0000000..55d3081 ---- /dev/null -+++ b/arch/arm/boot/dts/imx6sl-evk-pf200.dts -@@ -0,0 +1,122 @@ -+/* -+ * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. -+ * -+ * 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 "imx6sl.dtsi" -+#include "imx6sl-evk-common.dtsi" -+ -+/ { -+ model = "Freescale i.MX6 SoloLite EVK Board(PFUZE200)"; -+ compatible = "fsl,imx6sl-evk", "fsl,imx6sl"; -+}; -+ -+&cpu0 { -+ arm-supply = <®_arm>; -+ soc-supply = <®_soc>; -+ pu-supply = <®_pu>; /* use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&gpc { -+ fsl,ldo-bypass = <0>; /* use ldo-bypass, u-boot will check it and configure */ -+ fsl,wdog-reset = <1>; /* watchdog select of reset source */ -+ pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&gpu { -+ pu-supply = <®_pu>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ -+}; -+ -+&i2c1 { -+ pmic: pfuze200@08 { -+ compatible = "fsl,pfuze200"; -+ reg = <0x08>; -+ -+ regulators { -+ sw1a_reg: sw1ab { -+ regulator-min-microvolt = <300000>; -+ regulator-max-microvolt = <1875000>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-ramp-delay = <6250>; -+ }; -+ -+ sw2_reg: sw2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3a_reg: sw3a { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sw3b_reg: sw3b { -+ regulator-min-microvolt = <400000>; -+ regulator-max-microvolt = <1975000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ swbst_reg: swbst { -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5150000>; -+ }; -+ -+ snvs_reg: vsnvs { -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vref_reg: vrefddr { -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vgen1_reg: vgen1 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen2_reg: vgen2 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1550000>; -+ }; -+ -+ vgen3_reg: vgen3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen4_reg: vgen4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen5_reg: vgen5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vgen6_reg: vgen6 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ }; -+ }; -+}; -diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts -index 4966f38..ed0ce89 100644 ---- a/arch/arm/boot/dts/imx6sl-evk.dts -+++ b/arch/arm/boot/dts/imx6sl-evk.dts -@@ -1,5 +1,5 @@ - /* -- * Copyright (C) 2013 Freescale Semiconductor, Inc. -+ * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. - * - * 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 -@@ -9,195 +9,14 @@ - /dts-v1/; - - #include "imx6sl.dtsi" -+#include "imx6sl-evk-common.dtsi" - - / { -- model = "Freescale i.MX6 SoloLite EVK Board"; -+ model = "Freescale i.MX6 SoloLite EVK Board(PFUZE100)"; - compatible = "fsl,imx6sl-evk", "fsl,imx6sl"; -- -- memory { -- reg = <0x80000000 0x40000000>; -- }; -- -- battery: max8903@0 { -- compatible = "fsl,max8903-charger"; -- pinctrl-names = "default"; -- dok_input = <&gpio4 13 1>; -- uok_input = <&gpio4 13 1>; -- chg_input = <&gpio4 15 1>; -- flt_input = <&gpio4 14 1>; -- fsl,dcm_always_high; -- fsl,dc_valid; -- fsl,adc_disable; -- status = "okay"; -- }; -- regulators { -- compatible = "simple-bus"; -- -- reg_lcd_3v3: lcd-3v3 { -- compatible = "regulator-fixed"; -- regulator-name = "lcd-3v3"; -- gpio = <&gpio4 3 0>; -- enable-active-high; -- }; -- -- reg_aud3v: wm8962_supply_3v15 { -- compatible = "regulator-fixed"; -- regulator-name = "wm8962-supply-3v15"; -- regulator-min-microvolt = <3150000>; -- regulator-max-microvolt = <3150000>; -- regulator-boot-on; -- }; -- -- reg_aud4v: wm8962_supply_4v2 { -- compatible = "regulator-fixed"; -- regulator-name = "wm8962-supply-4v2"; -- regulator-min-microvolt = <4325000>; -- regulator-max-microvolt = <4325000>; -- regulator-boot-on; -- }; -- -- reg_usb_otg1_vbus: usb_otg1_vbus { -- compatible = "regulator-fixed"; -- regulator-name = "usb_otg1_vbus"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- gpio = <&gpio4 0 0>; -- enable-active-high; -- }; -- -- reg_usb_otg2_vbus: usb_otg2_vbus { -- compatible = "regulator-fixed"; -- regulator-name = "usb_otg2_vbus"; -- regulator-min-microvolt = <5000000>; -- regulator-max-microvolt = <5000000>; -- gpio = <&gpio4 2 0>; -- enable-active-high; -- }; -- }; -- -- backlight { -- compatible = "pwm-backlight"; -- pwms = <&pwm1 0 5000000>; -- brightness-levels = <0 4 8 16 32 64 128 255>; -- default-brightness-level = <6>; -- }; -- -- csi_v4l2_cap { -- compatible = "fsl,imx6sl-csi-v4l2"; -- status = "disabled"; -- }; -- -- pxp_v4l2_out { -- compatible = "fsl,imx6sl-pxp-v4l2"; -- status = "okay"; -- }; -- -- sound { -- compatible = "fsl,imx6q-sabresd-wm8962", -- "fsl,imx-audio-wm8962"; -- model = "wm8962-audio"; -- ssi-controller = <&ssi2>; -- audio-codec = <&codec>; -- audio-routing = -- "Headphone Jack", "HPOUTL", -- "Headphone Jack", "HPOUTR", -- "Ext Spk", "SPKOUTL", -- "Ext Spk", "SPKOUTR", -- "AMIC", "MICBIAS", -- "IN3R", "AMIC"; -- amic-mono; -- mux-int-port = <2>; -- mux-ext-port = <3>; -- hp-det-gpios = <&gpio4 19 1>; -- }; -- -- sound-spdif { -- compatible = "fsl,imx-audio-spdif", -- "fsl,imx6sl-evk-spdif"; -- model = "imx-spdif"; -- spdif-controller = <&spdif>; -- spdif-out; -- }; -- -- sii902x_reset: sii902x-reset { -- compatible = "gpio-reset"; -- reset-gpios = <&gpio2 19 1>; -- reset-delay-us = <100000>; -- #reset-cells = <0>; -- }; --}; -- --&audmux { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_audmux_1>; -- status = "okay"; --}; -- --&csi { -- status = "disabled"; --}; -- --&ecspi1 { -- fsl,spi-num-chipselects = <1>; -- cs-gpios = <&gpio4 11 0>; -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_ecspi1_1>; -- status = "okay"; -- -- flash: m25p80@0 { -- #address-cells = <1>; -- #size-cells = <1>; -- compatible = "st,m25p32"; -- spi-max-frequency = <20000000>; -- reg = <0>; -- }; --}; -- --&epdc { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_epdc_0>; -- V3P3-supply = <&V3P3_reg>; -- VCOM-supply = <&VCOM_reg>; -- DISPLAY-supply = <&DISPLAY_reg>; -- status = "okay"; --}; -- --&cpu0 { -- arm-supply = <&sw1a_reg>; -- soc-supply = <&sw1c_reg>; -- pu-supply = <&pu_dummy>; /* use pu_dummy if VDDSOC share with VDDPU */ --}; -- --&fec { -- pinctrl-names = "default", "sleep"; -- pinctrl-0 = <&pinctrl_fec_1>; -- pinctrl-1 = <&pinctrl_fec_1_sleep>; -- phy-mode = "rmii"; -- phy-reset-gpios = <&gpio4 21 0>; /* GPIO4_21 */ -- phy-reset-duration = <1>; -- status = "okay"; --}; -- --&gpc { -- fsl,cpu_pupscr_sw2iso = <0xf>; -- fsl,cpu_pupscr_sw = <0xf>; -- fsl,cpu_pdnscr_iso2sw = <0x1>; -- fsl,cpu_pdnscr_iso = <0x1>; -- fsl,ldo-bypass = <1>; /* use ldo-bypass, u-boot will check it and configure */ -- fsl,wdog-reset = <1>; /* watchdog select of reset source */ -- pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ --}; -- --&gpu { -- pu-supply = <&pu_dummy>; /* ldo-bypass:use pu_dummy if VDDSOC share with VDDPU */ - }; - - &i2c1 { -- clock-frequency = <100000>; -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_i2c1_1>; -- status = "okay"; -- - pmic: pfuze100@08 { - compatible = "fsl,pfuze100"; - reg = <0x08>; -@@ -297,314 +116,4 @@ - }; - }; - }; -- -- elan@10 { -- compatible = "elan,elan-touch"; -- reg = <0x10>; -- interrupt-parent = <&gpio2>; -- interrupts = <10 2>; -- gpio_elan_cs = <&gpio2 9 0>; -- gpio_elan_rst = <&gpio4 4 0>; -- gpio_intr = <&gpio2 10 0>; -- status = "okay"; -- }; -- -- max17135@48 { -- compatible = "maxim,max17135"; -- reg = <0x48>; -- vneg_pwrup = <1>; -- gvee_pwrup = <2>; -- vpos_pwrup = <10>; -- gvdd_pwrup = <12>; -- gvdd_pwrdn = <1>; -- vpos_pwrdn = <2>; -- gvee_pwrdn = <8>; -- vneg_pwrdn = <10>; -- gpio_pmic_pwrgood = <&gpio2 13 0>; -- gpio_pmic_vcom_ctrl = <&gpio2 3 0>; -- gpio_pmic_wakeup = <&gpio2 14 0>; -- gpio_pmic_v3p3 = <&gpio2 7 0>; -- gpio_pmic_intr = <&gpio2 12 0>; -- -- regulators { -- DISPLAY_reg: DISPLAY { -- regulator-name = "DISPLAY"; -- }; -- -- GVDD_reg: GVDD { -- /* 20v */ -- regulator-name = "GVDD"; -- }; -- -- GVEE_reg: GVEE { -- /* -22v */ -- regulator-name = "GVEE"; -- }; -- -- HVINN_reg: HVINN { -- /* -22v */ -- regulator-name = "HVINN"; -- }; -- -- HVINP_reg: HVINP { -- /* 20v */ -- regulator-name = "HVINP"; -- }; -- -- VCOM_reg: VCOM { -- regulator-name = "VCOM"; -- /* 2's-compliment, -4325000 */ -- regulator-min-microvolt = <0xffbe0178>; -- /* 2's-compliment, -500000 */ -- regulator-max-microvolt = <0xfff85ee0>; -- }; -- -- VNEG_reg: VNEG { -- /* -15v */ -- regulator-name = "VNEG"; -- }; -- -- VPOS_reg: VPOS { -- /* 15v */ -- regulator-name = "VPOS"; -- }; -- -- V3P3_reg: V3P3 { -- regulator-name = "V3P3"; -- }; -- }; -- }; -- -- mma8450@1c { -- compatible = "fsl,mma8450"; -- reg = <0x1c>; -- }; --}; -- --&i2c2 { -- clock-frequency = <100000>; -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_i2c2_1>; -- status = "okay"; -- -- codec: wm8962@1a { -- compatible = "wlf,wm8962"; -- reg = <0x1a>; -- clocks = <&clks IMX6SL_CLK_EXTERN_AUDIO>; -- DCVDD-supply = <&vgen3_reg>; -- DBVDD-supply = <®_aud3v>; -- AVDD-supply = <&vgen3_reg>; -- CPVDD-supply = <&vgen3_reg>; -- MICVDD-supply = <®_aud3v>; -- PLLVDD-supply = <&vgen3_reg>; -- SPKVDD1-supply = <®_aud4v>; -- SPKVDD2-supply = <®_aud4v>; -- amic-mono; -- }; -- -- sii902x@39 { -- compatible = "SiI,sii902x"; -- interrupt-parent = <&gpio2>; -- interrupts = <10 2>; -- mode_str ="1280x720M@60"; -- bits-per-pixel = <32>; -- resets = <&sii902x_reset>; -- reg = <0x39>; -- }; --}; -- --&i2c3 { -- clock-frequency = <100000>; -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_i2c3_1>; -- status = "disabled"; -- -- ov564x: ov564x@3c { -- compatible = "ovti,ov564x"; -- reg = <0x3c>; -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_csi_0>; -- clocks = <&clks IMX6SL_CLK_CSI>; -- clock-names = "csi_mclk"; -- AVDD-supply = <&vgen6_reg>; /* 2.8v */ -- DVDD-supply = <&vgen2_reg>; /* 1.5v*/ -- pwn-gpios = <&gpio1 25 1>; -- rst-gpios = <&gpio1 26 0>; -- csi_id = <0>; -- mclk = <24000000>; -- mclk_source = <0>; -- }; --}; -- --&iomuxc { -- pinctrl-names = "default", "sleep"; -- pinctrl-0 = <&pinctrl_hog>; -- pinctrl-1 = <&pinctrl_hog_sleep>; -- -- hog { -- pinctrl_hog: hoggrp { -- fsl,pins = < -- MX6SL_PAD_KEY_ROW7__GPIO4_IO07 0x17059 -- MX6SL_PAD_KEY_COL7__GPIO4_IO06 0x17059 -- MX6SL_PAD_SD2_DAT7__GPIO5_IO00 0x17059 -- MX6SL_PAD_SD2_DAT6__GPIO4_IO29 0x17059 -- MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059 -- MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21 0x80000000 -- MX6SL_PAD_KEY_ROW5__GPIO4_IO03 0x110b0 -- MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03 0x80000000 -- MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13 0x80000000 -- MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07 0x80000000 -- MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x80000000 -- MX6SL_PAD_EPDC_PWRINT__GPIO2_IO12 0x80000000 -- MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x170b0 -- MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x80000000 -- MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x110b0 -- MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000 -- MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000 -- MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15 0x17000 -- MX6SL_PAD_FEC_RX_ER__GPIO4_IO19 0x1b0b0 -- MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x1b0b0 -- MX6SL_PAD_KEY_COL4__GPIO4_IO00 0x80000000 -- MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x80000000 -- >; -- }; -- -- pinctrl_hog_sleep: hoggrp_sleep { -- fsl,pins = < -- MX6SL_PAD_KEY_ROW5__GPIO4_IO03 0x3080 -- MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x3080 -- MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x3080 -- >; -- }; -- }; --}; -- --&kpp { -- pinctrl-names = "default", "sleep"; -- pinctrl-0 = <&pinctrl_kpp_1>; -- pinctrl-1 = <&pinctrl_kpp_1_sleep>; -- linux,keymap = < -- 0x00000067 /* KEY_UP */ -- 0x0001006c /* KEY_DOWN */ -- 0x0002001c /* KEY_ENTER */ -- 0x01000066 /* KEY_HOME */ -- 0x0101006a /* KEY_RIGHT */ -- 0x01020069 /* KEY_LEFT */ -- 0x02000072 /* KEY_VOLUMEDOWN */ -- 0x02010073 /* KEY_VOLUMEUP */ -- >; -- status = "okay"; --}; -- --&lcdif { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_lcdif_dat_0 -- &pinctrl_lcdif_ctrl_0>; -- lcd-supply = <®_lcd_3v3>; -- display = <&display>; -- status = "okay"; -- -- display: display { -- bits-per-pixel = <16>; -- bus-width = <24>; -- -- display-timings { -- native-mode = <&timing0>; -- timing0: timing0 { -- clock-frequency = <33500000>; -- hactive = <800>; -- vactive = <480>; -- hback-porch = <89>; -- hfront-porch = <164>; -- vback-porch = <23>; -- vfront-porch = <10>; -- hsync-len = <10>; -- vsync-len = <10>; -- hsync-active = <0>; -- vsync-active = <0>; -- de-active = <1>; -- pixelclk-active = <0>; -- }; -- }; -- }; --}; -- --&pwm1 { -- pinctrl-names = "default", "sleep"; -- pinctrl-0 = <&pinctrl_pwm1_0>; -- pinctrl-1 = <&pinctrl_pwm1_0_sleep>; -- status = "okay"; --}; -- --&pxp { -- status = "okay"; --}; -- --&spdif { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_spdif_1>; -- status = "okay"; --}; -- --&ssi2 { -- fsl,mode = "i2s-slave"; -- status = "okay"; --}; -- --&uart1 { -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_uart1_1>; -- status = "okay"; --}; -- --&usbotg1 { -- vbus-supply = <®_usb_otg1_vbus>; -- pinctrl-names = "default"; -- pinctrl-0 = <&pinctrl_usbotg1_1>; -- disable-over-current; -- imx6-usb-charger-detection; -- status = "okay"; --}; -- --&usbotg2 { -- vbus-supply = <®_usb_otg2_vbus>; -- dr_mode = "host"; -- disable-over-current; -- status = "okay"; --}; -- --&usdhc1 { -- pinctrl-names = "default", "state_100mhz", "state_200mhz"; -- pinctrl-0 = <&pinctrl_usdhc1_1>; -- pinctrl-1 = <&pinctrl_usdhc1_1_100mhz>; -- pinctrl-2 = <&pinctrl_usdhc1_1_200mhz>; -- bus-width = <8>; -- cd-gpios = <&gpio4 7 0>; -- wp-gpios = <&gpio4 6 0>; -- keep-power-in-suspend; -- enable-sdio-wakeup; -- status = "okay"; --}; -- --&usdhc2 { -- pinctrl-names = "default", "state_100mhz", "state_200mhz"; -- pinctrl-0 = <&pinctrl_usdhc2_1>; -- pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>; -- pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>; -- cd-gpios = <&gpio5 0 0>; -- wp-gpios = <&gpio4 29 0>; -- keep-power-in-suspend; -- enable-sdio-wakeup; -- status = "okay"; --}; -- --&usdhc3 { -- pinctrl-names = "default", "state_100mhz", "state_200mhz"; -- pinctrl-0 = <&pinctrl_usdhc3_1>; -- pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>; -- pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>; -- cd-gpios = <&gpio3 22 0>; -- keep-power-in-suspend; -- enable-sdio-wakeup; -- status = "okay"; - }; --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0010-ENGR00318392-ARM-imx6x-Save-restore-SCU-and-some-CP1.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0010-ENGR00318392-ARM-imx6x-Save-restore-SCU-and-some-CP1.patch deleted file mode 100644 index 44595763..00000000 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/0010-ENGR00318392-ARM-imx6x-Save-restore-SCU-and-some-CP1.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 4a46352d23f1f7b4f513487cb1701a8592ba980f Mon Sep 17 00:00:00 2001 -From: Ranjani Vaidyanathan -Date: Fri, 13 Jun 2014 15:43:14 -0500 -Subject: [PATCH 10/10] ENGR00318392 ARM:imx6x: Save/restore SCU and some CP15 - registers across suspend/resume -Organization: O.S. Systems Software LTDA. - -This patch ensures that the SCU and certain A9 CP15 registers state are maintained across -a suspend/resume cycle: -1. Need to ensure that SCU standby bit is set again after suspend/resume cycle, else -the system will never WAIT mode after a suspend/resume cycle. This bit should be enabled -on all SMP systems immaterial of whether CPUIDLE is enabled or not. -2. Several A9 errata workarounds involve setting bits in the ARM diagnostic register. -Save/restore this register across a suspend/resume cycle. -3. Save and restore the A9 power control register also. - -Signed-off-by: Ranjani Vaidyanathan -(cherry picked from commit 7b5b4ef5b3cdc65c0576f87cfa52bcca1bda8b33) - -Upstream-Status: Pending ---- - arch/arm/mach-imx/cpuidle-imx6q.c | 5 +---- - arch/arm/mach-imx/platsmp.c | 4 +++- - arch/arm/mach-imx/pm-imx6.c | 36 ++++++++++++++++++++++++++++++++++++ - 3 files changed, 40 insertions(+), 5 deletions(-) - -diff --git a/arch/arm/mach-imx/cpuidle-imx6q.c b/arch/arm/mach-imx/cpuidle-imx6q.c -index d74d0ce..9ffbd34 100644 ---- a/arch/arm/mach-imx/cpuidle-imx6q.c -+++ b/arch/arm/mach-imx/cpuidle-imx6q.c -@@ -1,5 +1,5 @@ - /* -- * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. -+ * Copyright (C) 2012-2014 Freescale Semiconductor, Inc. - * - * 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 -@@ -65,9 +65,6 @@ static struct cpuidle_driver imx6q_cpuidle_driver = { - - int __init imx6q_cpuidle_init(void) - { -- /* Need to enable SCU standby for entering WAIT modes */ -- imx_scu_standby_enable(); -- - /* Set cache lpm bit for reliable WAIT mode support */ - imx6_set_cache_lpm_in_wait(true); - -diff --git a/arch/arm/mach-imx/platsmp.c b/arch/arm/mach-imx/platsmp.c -index c6e1ab5..d2fa7ec 100644 ---- a/arch/arm/mach-imx/platsmp.c -+++ b/arch/arm/mach-imx/platsmp.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2011 Freescale Semiconductor, Inc. -+ * Copyright 2011-2014 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * The code contained herein is licensed under the GNU General Public -@@ -77,6 +77,8 @@ static void __init imx_smp_init_cpus(void) - void imx_smp_prepare(void) - { - scu_enable(scu_base); -+ /* Need to enable SCU standby for entering WAIT mode */ -+ imx_scu_standby_enable(); - } - - static void __init imx_smp_prepare_cpus(unsigned int max_cpus) -diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c -index de46b87..587cc7e 100644 ---- a/arch/arm/mach-imx/pm-imx6.c -+++ b/arch/arm/mach-imx/pm-imx6.c -@@ -73,6 +73,8 @@ static int (*suspend_in_iram_fn)(void *iram_vbase, - unsigned long iram_pbase, unsigned int cpu_type); - static unsigned int cpu_type; - static void __iomem *ccm_base; -+static unsigned long dcr; -+static unsigned long pcr; - - unsigned long save_ttbr1(void) - { -@@ -111,6 +113,34 @@ void imx6_set_cache_lpm_in_wait(bool enable) - } - } - -+static void imx6_save_cpu_arch_regs(void) -+{ -+ /* Save the Diagnostic Control Register. */ -+ asm volatile( -+ "mrc p15, 0, %0, c15, c0, 1\n" -+ : "=r" (dcr) -+ ); -+ /* Save the Power Control Register. */ -+ asm volatile( -+ "mrc p15, 0, %0, c15, c0, 0\n" -+ : "=r" (pcr) -+ ); -+} -+ -+static void imx6_restore_cpu_arch_regs(void) -+{ -+ /* Restore the diagnostic Control Register. */ -+ asm volatile( -+ "mcr p15, 0, %0, c15, c0, 1\n" -+ : : "r" (dcr) -+ ); -+ /* Restore the Power Control Register. */ -+ asm volatile( -+ "mcr p15, 0, %0, c15, c0, 0\n" -+ : : "r" (pcr) -+ ); -+} -+ - static void imx6_enable_rbc(bool enable) - { - u32 val; -@@ -290,8 +320,14 @@ static int imx6_pm_enter(suspend_state_t state) - imx_gpc_pre_suspend(true); - imx_anatop_pre_suspend(); - imx_set_cpu_jump(0, v7_cpu_resume); -+ -+ imx6_save_cpu_arch_regs(); -+ - /* Zzz ... */ - cpu_suspend(0, imx6_suspend_finish); -+ -+ imx6_restore_cpu_arch_regs(); -+ - if (!cpu_is_imx6sl()) - imx_smp_prepare(); - imx_anatop_post_resume(); --- -2.1.0 - diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.31/mx6/defconfig similarity index 96% rename from meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig rename to meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.31/mx6/defconfig index fa2eadaa..9c9c4779 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.10.31/mx6/defconfig @@ -25,6 +25,7 @@ CONFIG_MACH_EUKREA_CPUIMX51SD=y CONFIG_SOC_IMX53=y CONFIG_SOC_IMX6Q=y CONFIG_SOC_IMX6SL=y +CONFIG_SOC_IMX6SX=y CONFIG_SOC_VF610=y # CONFIG_SWP_EMULATE is not set CONFIG_SMP=y @@ -61,8 +62,10 @@ CONFIG_IP_PNP_DHCP=y CONFIG_IPV6=y CONFIG_NETFILTER=y CONFIG_VLAN_8021Q=y +CONFIG_LLC2=y CONFIG_CAN=y CONFIG_CAN_FLEXCAN=y +CONFIG_CAN_M_CAN=y CONFIG_CFG80211=y CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=y @@ -88,6 +91,8 @@ CONFIG_MTD_SST25L=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_GPMI_NAND=y CONFIG_MTD_NAND_MXC=y +CONFIG_MTD_SPI_NOR_BASE=y +CONFIG_SPI_FSL_QUADSPI=y CONFIG_MTD_UBI=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y @@ -127,6 +132,7 @@ CONFIG_ATH6KL_SDIO=m CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVBUG=m CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_SNVS_PWRKEY=y CONFIG_KEYBOARD_IMX=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ELANTECH=y @@ -157,6 +163,7 @@ CONFIG_I2C_IMX=y CONFIG_SPI=y CONFIG_SPI_IMX=y CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MAX732X=y CONFIG_POWER_SUPPLY=y CONFIG_SABRESD_MAX8903=y CONFIG_IMX6_USB_CHARGER=y @@ -195,6 +202,7 @@ CONFIG_MXC_CAMERA_OV5640=m CONFIG_MXC_CAMERA_OV5642=m CONFIG_MXC_CAMERA_OV5640_MIPI=m CONFIG_MXC_TVIN_ADV7180=m +CONFIG_MXC_VADC=m CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m CONFIG_VIDEO_MXC_IPU_OUTPUT=y CONFIG_VIDEO_MXC_PXP_V4L2=y @@ -219,6 +227,7 @@ CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y CONFIG_FB_MXC_HDMI=y CONFIG_FB_MXC_EINK_PANEL=y CONFIG_FB_MXS_SII902X=y +CONFIG_FB_MXC_DCIC=m CONFIG_HANNSTAR_CABC=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y @@ -239,18 +248,19 @@ CONFIG_SND_SOC_IMX_SPDIF=y CONFIG_SND_SOC_IMX_MC13783=y CONFIG_SND_SOC_IMX_HDMI=y CONFIG_SND_SOC_IMX_SI476X=y +CONFIG_SND_SOC_CS42XX8_I2C=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_CHIPIDEA=y CONFIG_USB_CHIPIDEA_UDC=y CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_PHY=y CONFIG_NOP_USB_XCEIV=y CONFIG_USB_MXS_PHY=y CONFIG_USB_GADGET=y CONFIG_USB_ZERO=m CONFIG_USB_ETH=m +CONFIG_USB_G_NCM=m CONFIG_USB_MASS_STORAGE=m CONFIG_USB_G_SERIAL=m CONFIG_MMC=y @@ -280,6 +290,8 @@ CONFIG_MXS_DMA=y CONFIG_STAGING=y CONFIG_COMMON_CLK_DEBUG=y # CONFIG_IOMMU_SUPPORT is not set +CONFIG_IIO=y +CONFIG_VF610_ADC=y CONFIG_PWM=y CONFIG_PWM_IMX=y CONFIG_EXT2_FS=y @@ -355,4 +367,3 @@ CONFIG_CRC_CCITT=m CONFIG_CRC_T10DIF=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m -CONFIG_FHANDLE=y diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.10.31/mx6/defconfig similarity index 98% rename from meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig rename to meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.10.31/mx6/defconfig index a4e880b9..677eaa0a 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.10.31/mx6/defconfig @@ -25,6 +25,7 @@ CONFIG_MACH_EUKREA_CPUIMX51SD=y CONFIG_SOC_IMX53=y CONFIG_SOC_IMX6Q=y CONFIG_SOC_IMX6SL=y +CONFIG_SOC_IMX6SX=y CONFIG_SOC_VF610=y # CONFIG_SWP_EMULATE is not set CONFIG_SMP=y @@ -67,7 +68,7 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set CONFIG_CMA=y -CONFIG_CMA_SIZE_MBYTES=256 +CONFIG_CMA_SIZE_MBYTES=320 CONFIG_IMX_WEIM=y CONFIG_CONNECTOR=y CONFIG_MTD=y @@ -85,6 +86,8 @@ CONFIG_MTD_SST25L=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_GPMI_NAND=y CONFIG_MTD_NAND_MXC=y +CONFIG_MTD_SPI_NOR_BASE=y +CONFIG_SPI_FSL_QUADSPI=y CONFIG_MTD_UBI=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.10.31.bb similarity index 87% rename from meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb rename to meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.10.31.bb index 1400973d..5a0fb42e 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.10.31.bb @@ -1,4 +1,6 @@ # Copyright (C) 2014 O.S. Systems Software LTDA. +# Copyright (C) 2014 Freescale Semiconductor + SUMMARY = "Produces a Manufacturing Tool compatible Linux Kernel" DESCRIPTION = "Linux Kernel provided and supported by Freescale that produces a \ Manufacturing Tool compatible Linux Kernel to be used in updater environment" diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.17.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.31.bb similarity index 75% rename from meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.17.bb rename to meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.31.bb index cae14891..10ad2f07 100644 --- a/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.17.bb +++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.31.bb @@ -10,9 +10,8 @@ require recipes-kernel/linux/linux-dtb.inc DEPENDS += "lzop-native bc-native" -# back to -1.0.0_ga branch for all patch release -SRCBRANCH = "imx_3.10.17_1.0.0_ga" -SRCREV = "33597e348b2d60dd5c71890ef7b7d3d3fd6e4e97" -LOCALVERSION = "-1.0.2_ga" +SRCBRANCH = "imx_3.10.31_1.1.0_beta" +SRCREV = "94a7e472c47b800c001c0a5d17bb2f14a13e1980" +LOCALVERSION = "-1.1.0_beta" COMPATIBLE_MACHINE = "(mx6)"