mirror of
https://github.com/Freescale/meta-freescale-3rdparty.git
synced 2025-07-19 20:19:01 +02:00
linux-advantech: Bump kernel version to 4.9.x
Add support for DMS-BA16 board Signed-off-by: Ken Lin <yungching0725@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
This commit is contained in:
parent
9d674c4556
commit
314291fb10
File diff suppressed because it is too large
Load Diff
|
@ -1,50 +0,0 @@
|
|||
From 6f2dae2ee19cfc972335511053a5b94cc30879f7 Mon Sep 17 00:00:00 2001
|
||||
From: Justin Waters <justin.waters@timesys.com>
|
||||
Date: Wed, 2 Mar 2016 11:47:13 -0500
|
||||
Subject: [PATCH 2/7] ahci_imx: Make receive DPLL mode configurable
|
||||
|
||||
---
|
||||
drivers/ata/ahci_imx.c | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/ata/ahci_imx.c b/drivers/ata/ahci_imx.c
|
||||
index 3fccbed..4a91fe3 100644
|
||||
--- a/drivers/ata/ahci_imx.c
|
||||
+++ b/drivers/ata/ahci_imx.c
|
||||
@@ -472,6 +472,13 @@ static const struct reg_value gpr13_rx_eq[] = {
|
||||
{ 4000, IMX6Q_GPR13_SATA_RX_EQ_VAL_4_0_DB },
|
||||
};
|
||||
|
||||
+static const struct reg_value gpr13_rx_dpll[] = {
|
||||
+ { 0, IMX6Q_GPR13_SATA_RX_DPLL_MODE_1P_1F },
|
||||
+ { 1, IMX6Q_GPR13_SATA_RX_DPLL_MODE_2P_2F },
|
||||
+ { 2, IMX6Q_GPR13_SATA_RX_DPLL_MODE_1P_4F },
|
||||
+ { 3, IMX6Q_GPR13_SATA_RX_DPLL_MODE_2P_4F },
|
||||
+};
|
||||
+
|
||||
static const struct reg_property gpr13_props[] = {
|
||||
{
|
||||
.name = "fsl,transmit-level-mV",
|
||||
@@ -497,6 +504,11 @@ static const struct reg_property gpr13_props[] = {
|
||||
.name = "fsl,no-spread-spectrum",
|
||||
.def_value = IMX6Q_GPR13_SATA_MPLL_SS_EN,
|
||||
.set_value = 0,
|
||||
+ }, {
|
||||
+ .name = "fsl,receive-dpll-mode",
|
||||
+ .values = gpr13_rx_dpll,
|
||||
+ .num_values = ARRAY_SIZE(gpr13_rx_dpll),
|
||||
+ .def_value = IMX6Q_GPR13_SATA_RX_DPLL_MODE_2P_4F,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -604,7 +616,6 @@ static int imx_ahci_probe(struct platform_device *pdev)
|
||||
|
||||
imxpriv->phy_params =
|
||||
IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2M |
|
||||
- IMX6Q_GPR13_SATA_RX_DPLL_MODE_2P_4F |
|
||||
IMX6Q_GPR13_SATA_SPD_MODE_3P0G |
|
||||
reg_value;
|
||||
}
|
||||
--
|
||||
2.8.1
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
From 03857322243162663a3b760c92b3fab837ba9820 Mon Sep 17 00:00:00 2001
|
||||
From: Justin Waters <justin.waters@timesys.com>
|
||||
Date: Fri, 15 Jan 2016 10:24:35 -0500
|
||||
Subject: [PATCH 3/7] PCI: imx6: Add DT bindings to configure PHY Tx driver
|
||||
settings
|
||||
|
||||
The settings in GPR8 are dependent upon the particular layout of the
|
||||
hardware platform. As such, they should be configurable via the device
|
||||
tree.
|
||||
|
||||
Look up PHY Tx driver settings from the device tree. Fall back to the
|
||||
original hard-coded values if they are not specified in the device tree.
|
||||
|
||||
Signed-off-by: Justin Waters <justin.waters@timesys.com>
|
||||
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Acked-by: Lucas Stach <l.stach@pengutronix.de>
|
||||
---
|
||||
.../devicetree/bindings/pci/fsl,imx6q-pcie.txt | 7 ++++
|
||||
drivers/pci/host/pci-imx6.c | 41 +++++++++++++++++++---
|
||||
2 files changed, 43 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
|
||||
index 6fbba53..97f863e 100644
|
||||
--- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
|
||||
+++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
|
||||
@@ -13,6 +13,13 @@ Required properties:
|
||||
- clock-names: Must include the following additional entries:
|
||||
- "pcie_phy"
|
||||
|
||||
+Optional properties:
|
||||
+- fsl,tx-deemph-gen1: Gen1 De-emphasis value. Default: 20
|
||||
+- fsl,tx-deemph-gen2-3p5db: Gen2 (3.5db) De-emphasis value. Default: 20
|
||||
+- fsl,tx-deemph-gen2-6db: Gen2 (6db) De-emphasis value. Default: 20
|
||||
+- fsl,tx-swing-full: Gen2 TX SWING FULL value. Default: 115
|
||||
+- fsl,tx-swing-low: TX launch amplitude swing_low value. Default: 115
|
||||
+
|
||||
Example:
|
||||
|
||||
pcie@0x01000000 {
|
||||
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
|
||||
index 75f15ce..3bec59a 100644
|
||||
--- a/drivers/pci/host/pci-imx6.c
|
||||
+++ b/drivers/pci/host/pci-imx6.c
|
||||
@@ -59,6 +59,11 @@ struct imx6_pcie {
|
||||
struct regmap *reg_src;
|
||||
void __iomem *mem_base;
|
||||
struct regulator *pcie_phy_regulator;
|
||||
+ u32 tx_deemph_gen1;
|
||||
+ u32 tx_deemph_gen2_3p5db;
|
||||
+ u32 tx_deemph_gen2_6db;
|
||||
+ u32 tx_swing_full;
|
||||
+ u32 tx_swing_low;
|
||||
};
|
||||
|
||||
/* PCIe Root Complex registers (memory-mapped) */
|
||||
@@ -477,15 +482,20 @@ static void imx6_pcie_init_phy(struct pcie_port *pp)
|
||||
IMX6Q_GPR12_LOS_LEVEL, IMX6Q_GPR12_LOS_LEVEL_9);
|
||||
|
||||
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
|
||||
- IMX6Q_GPR8_TX_DEEMPH_GEN1, 0 << 0);
|
||||
+ IMX6Q_GPR8_TX_DEEMPH_GEN1,
|
||||
+ imx6_pcie->tx_deemph_gen1 << 0);
|
||||
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
|
||||
- IMX6Q_GPR8_TX_DEEMPH_GEN2_3P5DB, 0 << 6);
|
||||
+ IMX6Q_GPR8_TX_DEEMPH_GEN2_3P5DB,
|
||||
+ imx6_pcie->tx_deemph_gen2_3p5db << 6);
|
||||
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
|
||||
- IMX6Q_GPR8_TX_DEEMPH_GEN2_6DB, 20 << 12);
|
||||
+ IMX6Q_GPR8_TX_DEEMPH_GEN2_6DB,
|
||||
+ imx6_pcie->tx_deemph_gen2_6db << 12);
|
||||
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
|
||||
- IMX6Q_GPR8_TX_SWING_FULL, 127 << 18);
|
||||
+ IMX6Q_GPR8_TX_SWING_FULL,
|
||||
+ imx6_pcie->tx_swing_full << 18);
|
||||
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
|
||||
- IMX6Q_GPR8_TX_SWING_LOW, 127 << 25);
|
||||
+ IMX6Q_GPR8_TX_SWING_LOW,
|
||||
+ imx6_pcie->tx_swing_low << 25);
|
||||
}
|
||||
|
||||
/* configure the device type */
|
||||
@@ -1212,6 +1222,27 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(imx6_pcie->iomuxc_gpr);
|
||||
}
|
||||
|
||||
+ /* Grab PCIe PHY Tx Settings */
|
||||
+ if (of_property_read_u32(np, "fsl,tx-deemph-gen1",
|
||||
+ &imx6_pcie->tx_deemph_gen1))
|
||||
+ imx6_pcie->tx_deemph_gen1 = 20;
|
||||
+
|
||||
+ if (of_property_read_u32(np, "fsl,tx-deemph-gen2-3p5db",
|
||||
+ &imx6_pcie->tx_deemph_gen2_3p5db))
|
||||
+ imx6_pcie->tx_deemph_gen2_3p5db = 20;
|
||||
+
|
||||
+ if (of_property_read_u32(np, "fsl,tx-deemph-gen2-6db",
|
||||
+ &imx6_pcie->tx_deemph_gen2_6db))
|
||||
+ imx6_pcie->tx_deemph_gen2_6db = 20;
|
||||
+
|
||||
+ if (of_property_read_u32(np, "fsl,tx-swing-full",
|
||||
+ &imx6_pcie->tx_swing_full))
|
||||
+ imx6_pcie->tx_swing_full = 115;
|
||||
+
|
||||
+ if (of_property_read_u32(np, "fsl,tx-swing-low",
|
||||
+ &imx6_pcie->tx_swing_low))
|
||||
+ imx6_pcie->tx_swing_low = 115;
|
||||
+
|
||||
if (IS_ENABLED(CONFIG_EP_MODE_IN_EP_RC_SYS)) {
|
||||
int i;
|
||||
void *test_reg1, *test_reg2;
|
||||
--
|
||||
2.8.1
|
||||
|
|
@ -1,277 +0,0 @@
|
|||
From 25b18dc1f1a91fbbb697fc3fa362f8f2d1709a7f Mon Sep 17 00:00:00 2001
|
||||
From: "Opensource [Steve Twiss]" <stwiss.opensource@diasemi.com>
|
||||
Date: Mon, 2 Feb 2015 01:32:27 -0500
|
||||
Subject: [PATCH 4/7] input: da9063_onkey: Add driver
|
||||
|
||||
https://lkml.org/lkml/2014/3/10/424
|
||||
---
|
||||
drivers/input/misc/Kconfig | 10 ++
|
||||
drivers/input/misc/Makefile | 1 +
|
||||
drivers/input/misc/da9063-onkey.c | 209 ++++++++++++++++++++++++++++++++++++++
|
||||
include/linux/mfd/da9063/pdata.h | 1 +
|
||||
4 files changed, 221 insertions(+)
|
||||
create mode 100644 drivers/input/misc/da9063-onkey.c
|
||||
|
||||
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
|
||||
index 5d3fc34..336d273 100644
|
||||
--- a/drivers/input/misc/Kconfig
|
||||
+++ b/drivers/input/misc/Kconfig
|
||||
@@ -610,6 +610,16 @@ config INPUT_DA9055_ONKEY
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called da9055_onkey.
|
||||
|
||||
+config INPUT_DA9063_ONKEY
|
||||
+ tristate "Dialog DA9063 OnKey"
|
||||
+ depends on MFD_DA9063
|
||||
+ help
|
||||
+ Support the ONKEY of Dialog DA9063 Power Management IC as an
|
||||
+ input device reporting power button statue.
|
||||
+
|
||||
+ To compile this driver as a module, choose M here: the module
|
||||
+ will be called da9063-onkey.
|
||||
+
|
||||
config INPUT_DM355EVM
|
||||
tristate "TI DaVinci DM355 EVM Keypad and IR Remote"
|
||||
depends on MFD_DM355EVM_MSP
|
||||
diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
|
||||
index 361e086..d37fb32 100644
|
||||
--- a/drivers/input/misc/Makefile
|
||||
+++ b/drivers/input/misc/Makefile
|
||||
@@ -25,6 +25,7 @@ obj-$(CONFIG_INPUT_CMA3000_I2C) += cma3000_d0x_i2c.o
|
||||
obj-$(CONFIG_INPUT_COBALT_BTNS) += cobalt_btns.o
|
||||
obj-$(CONFIG_INPUT_DA9052_ONKEY) += da9052_onkey.o
|
||||
obj-$(CONFIG_INPUT_DA9055_ONKEY) += da9055_onkey.o
|
||||
+obj-$(CONFIG_INPUT_DA9063_ONKEY) += da9063-onkey.o
|
||||
obj-$(CONFIG_INPUT_DM355EVM) += dm355evm_keys.o
|
||||
obj-$(CONFIG_INPUT_E3X0_BUTTON) += e3x0-button.o
|
||||
obj-$(CONFIG_INPUT_DRV260X_HAPTICS) += drv260x.o
|
||||
diff --git a/drivers/input/misc/da9063-onkey.c b/drivers/input/misc/da9063-onkey.c
|
||||
new file mode 100644
|
||||
index 0000000..ce08954
|
||||
--- /dev/null
|
||||
+++ b/drivers/input/misc/da9063-onkey.c
|
||||
@@ -0,0 +1,209 @@
|
||||
+/* da9063-onkey.c - Onkey device driver for DA9063
|
||||
+ * Copyright (C) 2013 Dialog Semiconductor Ltd.
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Library General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Library General Public License for more details.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/errno.h>
|
||||
+#include <linux/input.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/workqueue.h>
|
||||
+#include <linux/regmap.h>
|
||||
+
|
||||
+#include <linux/mfd/da9063/core.h>
|
||||
+#include <linux/mfd/da9063/pdata.h>
|
||||
+#include <linux/mfd/da9063/registers.h>
|
||||
+
|
||||
+struct da9063_onkey {
|
||||
+ struct da9063 *hw;
|
||||
+ struct delayed_work work;
|
||||
+ struct input_dev *input;
|
||||
+ int irq;
|
||||
+ bool key_power;
|
||||
+};
|
||||
+
|
||||
+static void da9063_poll_on(struct work_struct *work)
|
||||
+{
|
||||
+ struct da9063_onkey *onkey = container_of(work, struct da9063_onkey,
|
||||
+ work.work);
|
||||
+ unsigned int val;
|
||||
+ bool poll = true;
|
||||
+ int ret;
|
||||
+
|
||||
+ /* poll to see when the pin is released */
|
||||
+ ret = regmap_read(onkey->hw->regmap, DA9063_REG_STATUS_A, &val);
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(&onkey->input->dev,
|
||||
+ "Failed to read ON status: %d\n", ret);
|
||||
+ goto err_poll;
|
||||
+ }
|
||||
+
|
||||
+ if (!(val & DA9063_NONKEY)) {
|
||||
+ ret = regmap_update_bits(onkey->hw->regmap,
|
||||
+ DA9063_REG_CONTROL_B,
|
||||
+ DA9063_NONKEY_LOCK, 0);
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(&onkey->input->dev,
|
||||
+ "Failed to reset the Key Delay %d\n", ret);
|
||||
+ goto err_poll;
|
||||
+ }
|
||||
+
|
||||
+ /* unmask the onkey interrupt again */
|
||||
+ ret = regmap_update_bits(onkey->hw->regmap,
|
||||
+ DA9063_REG_IRQ_MASK_A,
|
||||
+ DA9063_NONKEY, 0);
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(&onkey->input->dev,
|
||||
+ "Failed to unmask the onkey IRQ: %d\n", ret);
|
||||
+ goto err_poll;
|
||||
+ }
|
||||
+
|
||||
+ input_report_key(onkey->input, KEY_POWER, 0);
|
||||
+ input_sync(onkey->input);
|
||||
+
|
||||
+ poll = false;
|
||||
+ }
|
||||
+
|
||||
+err_poll:
|
||||
+ if (poll)
|
||||
+ schedule_delayed_work(&onkey->work, 50);
|
||||
+}
|
||||
+
|
||||
+static irqreturn_t da9063_onkey_irq_handler(int irq, void *data)
|
||||
+{
|
||||
+ struct da9063_onkey *onkey = data;
|
||||
+ unsigned int val;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = regmap_read(onkey->hw->regmap, DA9063_REG_STATUS_A, &val);
|
||||
+ if (onkey->key_power && (ret >= 0) && (val & DA9063_NONKEY)) {
|
||||
+ ret = regmap_update_bits(onkey->hw->regmap,
|
||||
+ DA9063_REG_IRQ_MASK_A,
|
||||
+ DA9063_NONKEY, 1);
|
||||
+ if (ret < 0)
|
||||
+ dev_err(&onkey->input->dev,
|
||||
+ "Failed to mask the onkey IRQ: %d\n", ret);
|
||||
+
|
||||
+ input_report_key(onkey->input, KEY_POWER, 1);
|
||||
+ input_sync(onkey->input);
|
||||
+
|
||||
+ schedule_delayed_work(&onkey->work, 0);
|
||||
+ dev_dbg(&onkey->input->dev, "KEY_POWER pressed.\n");
|
||||
+ } else {
|
||||
+ input_report_key(onkey->input, KEY_SLEEP, 1);
|
||||
+ input_sync(onkey->input);
|
||||
+ input_report_key(onkey->input, KEY_SLEEP, 0);
|
||||
+ input_sync(onkey->input);
|
||||
+ dev_dbg(&onkey->input->dev, "KEY_SLEEP pressed.\n");
|
||||
+ }
|
||||
+
|
||||
+ return IRQ_HANDLED;
|
||||
+}
|
||||
+
|
||||
+static int da9063_onkey_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct da9063 *da9063 = dev_get_drvdata(pdev->dev.parent);
|
||||
+ struct da9063_pdata *pdata = dev_get_platdata(da9063->dev);
|
||||
+ struct da9063_onkey *onkey;
|
||||
+ bool kp_tmp = true;
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (pdata)
|
||||
+ kp_tmp = pdata->key_power;
|
||||
+
|
||||
+ onkey = devm_kzalloc(&pdev->dev, sizeof(struct da9063_onkey),
|
||||
+ GFP_KERNEL);
|
||||
+ if (!onkey) {
|
||||
+ dev_err(&pdev->dev, "Failed to allocate memory.\n");
|
||||
+ ret = -ENOMEM;
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ INIT_DELAYED_WORK(&onkey->work, da9063_poll_on);
|
||||
+
|
||||
+ onkey->input = devm_input_allocate_device(&pdev->dev);
|
||||
+ if (!onkey->input) {
|
||||
+ dev_err(&pdev->dev, "Failed to allocated input device.\n");
|
||||
+ ret = -ENOMEM;
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ ret = platform_get_irq_byname(pdev, "ONKEY");
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(&pdev->dev, "Failed to get platform IRQ.\n");
|
||||
+ goto err;
|
||||
+ }
|
||||
+ onkey->irq = ret;
|
||||
+
|
||||
+ ret = request_threaded_irq(onkey->irq, NULL,
|
||||
+ da9063_onkey_irq_handler,
|
||||
+ IRQF_TRIGGER_LOW | IRQF_ONESHOT,
|
||||
+ "ONKEY", onkey);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev,
|
||||
+ "Failed to request input device IRQ.\n");
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ onkey->hw = da9063;
|
||||
+ onkey->key_power = kp_tmp;
|
||||
+ onkey->input->evbit[0] = BIT_MASK(EV_KEY);
|
||||
+ onkey->input->name = DA9063_DRVNAME_ONKEY;
|
||||
+ onkey->input->phys = DA9063_DRVNAME_ONKEY "/input0";
|
||||
+ onkey->input->dev.parent = &pdev->dev;
|
||||
+
|
||||
+ if (onkey->key_power)
|
||||
+ input_set_capability(onkey->input, EV_KEY, KEY_POWER);
|
||||
+ input_set_capability(onkey->input, EV_KEY, KEY_SLEEP);
|
||||
+
|
||||
+ ret = input_register_device(onkey->input);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev,
|
||||
+ "Failed to register input device.\n");
|
||||
+ goto err_irq;
|
||||
+ }
|
||||
+
|
||||
+ platform_set_drvdata(pdev, onkey);
|
||||
+ return 0;
|
||||
+
|
||||
+err_irq:
|
||||
+ free_irq(onkey->irq, onkey);
|
||||
+ cancel_delayed_work_sync(&onkey->work);
|
||||
+err:
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int da9063_onkey_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct da9063_onkey *onkey = platform_get_drvdata(pdev);
|
||||
+ free_irq(onkey->irq, onkey);
|
||||
+ cancel_delayed_work_sync(&onkey->work);
|
||||
+ input_unregister_device(onkey->input);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct platform_driver da9063_onkey_driver = {
|
||||
+ .probe = da9063_onkey_probe,
|
||||
+ .remove = da9063_onkey_remove,
|
||||
+ .driver = {
|
||||
+ .name = DA9063_DRVNAME_ONKEY,
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(da9063_onkey_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("S Twiss <stwiss.opensource@diasemi.com>");
|
||||
+MODULE_DESCRIPTION("Onkey device driver for Dialog DA9063");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
+MODULE_ALIAS("platform:" DA9063_DRVNAME_ONKEY);
|
||||
diff --git a/include/linux/mfd/da9063/pdata.h b/include/linux/mfd/da9063/pdata.h
|
||||
index 95c8742..612383b 100644
|
||||
--- a/include/linux/mfd/da9063/pdata.h
|
||||
+++ b/include/linux/mfd/da9063/pdata.h
|
||||
@@ -103,6 +103,7 @@ struct da9063;
|
||||
struct da9063_pdata {
|
||||
int (*init)(struct da9063 *da9063);
|
||||
int irq_base;
|
||||
+ bool key_power;
|
||||
unsigned flags;
|
||||
struct da9063_regulators_pdata *regulators_pdata;
|
||||
struct led_platform_data *leds_pdata;
|
||||
--
|
||||
2.8.1
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
From 18fe0924c45d803967a304abe4fb7b143a0a0296 Mon Sep 17 00:00:00 2001
|
||||
From: Steve Twiss <stwiss.opensource@diasemi.com>
|
||||
Date: Tue, 19 May 2015 11:32:45 +0100
|
||||
Subject: [PATCH 5/7] mfd: da9063: Add support for OnKey driver
|
||||
|
||||
Add MFD support for the DA9063 OnKey driver
|
||||
|
||||
The function da9063_clear_fault_log() is added to mitigate the case of a
|
||||
hardware power-cut after a long-long OnKey press. Although there is no
|
||||
software intervention in this case (by definition) such a shutdown would
|
||||
cause persistent information within the DA9063 FAULT_LOG that would be
|
||||
available during the next device restart.
|
||||
|
||||
Clearance of this persistent register must be completed after such a
|
||||
hardware power-cut operation has happened so that the FAULT_LOG does not
|
||||
continue with previous values. The clearance function has been added here
|
||||
in the kernel driver because wiping the fault-log cannot be counted on
|
||||
outside the Linux kernel.
|
||||
|
||||
Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com>
|
||||
[Lee: Removed 'key_power' for Dmitry to take through the Input Tree]
|
||||
Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
||||
---
|
||||
drivers/mfd/da9063-core.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 54 insertions(+)
|
||||
|
||||
diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c
|
||||
index facd361..af841c1 100644
|
||||
--- a/drivers/mfd/da9063-core.c
|
||||
+++ b/drivers/mfd/da9063-core.c
|
||||
@@ -60,6 +60,7 @@ static struct resource da9063_rtc_resources[] = {
|
||||
|
||||
static struct resource da9063_onkey_resources[] = {
|
||||
{
|
||||
+ .name = "ONKEY",
|
||||
.start = DA9063_IRQ_ONKEY,
|
||||
.end = DA9063_IRQ_ONKEY,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
@@ -97,6 +98,7 @@ static const struct mfd_cell da9063_devs[] = {
|
||||
.name = DA9063_DRVNAME_ONKEY,
|
||||
.num_resources = ARRAY_SIZE(da9063_onkey_resources),
|
||||
.resources = da9063_onkey_resources,
|
||||
+ .of_compatible = "dlg,da9063-onkey",
|
||||
},
|
||||
{
|
||||
.name = DA9063_DRVNAME_RTC,
|
||||
@@ -109,12 +111,64 @@ static const struct mfd_cell da9063_devs[] = {
|
||||
},
|
||||
};
|
||||
|
||||
+static int da9063_clear_fault_log(struct da9063 *da9063)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+ int fault_log = 0;
|
||||
+
|
||||
+ ret = regmap_read(da9063->regmap, DA9063_REG_FAULT_LOG, &fault_log);
|
||||
+ if (ret < 0) {
|
||||
+ dev_err(da9063->dev, "Cannot read FAULT_LOG.\n");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ if (fault_log) {
|
||||
+ if (fault_log & DA9063_TWD_ERROR)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_TWD_ERROR\n");
|
||||
+ if (fault_log & DA9063_POR)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_POR\n");
|
||||
+ if (fault_log & DA9063_VDD_FAULT)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_VDD_FAULT\n");
|
||||
+ if (fault_log & DA9063_VDD_START)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_VDD_START\n");
|
||||
+ if (fault_log & DA9063_TEMP_CRIT)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_TEMP_CRIT\n");
|
||||
+ if (fault_log & DA9063_KEY_RESET)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_KEY_RESET\n");
|
||||
+ if (fault_log & DA9063_NSHUTDOWN)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_NSHUTDOWN\n");
|
||||
+ if (fault_log & DA9063_WAIT_SHUT)
|
||||
+ dev_dbg(da9063->dev,
|
||||
+ "Fault log entry detected: DA9063_WAIT_SHUT\n");
|
||||
+ }
|
||||
+
|
||||
+ ret = regmap_write(da9063->regmap,
|
||||
+ DA9063_REG_FAULT_LOG,
|
||||
+ fault_log);
|
||||
+ if (ret < 0)
|
||||
+ dev_err(da9063->dev,
|
||||
+ "Cannot reset FAULT_LOG values %d\n", ret);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
int da9063_device_init(struct da9063 *da9063, unsigned int irq)
|
||||
{
|
||||
struct da9063_pdata *pdata = da9063->dev->platform_data;
|
||||
int model, variant_id, variant_code;
|
||||
int ret;
|
||||
|
||||
+ ret = da9063_clear_fault_log(da9063);
|
||||
+ if (ret < 0)
|
||||
+ dev_err(da9063->dev, "Cannot clear fault log\n");
|
||||
+
|
||||
if (pdata) {
|
||||
da9063->flags = pdata->flags;
|
||||
da9063->irq_base = pdata->irq_base;
|
||||
--
|
||||
2.8.1
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
From b555459597027af3362d93020162dfbb30e0eddd Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <ken.lin@advantech.com.tw>
|
||||
Date: Sun, 13 Sep 2015 10:38:29 +0800
|
||||
Subject: [PATCH 6/7] add usb hub_test suport
|
||||
|
||||
---
|
||||
drivers/usb/core/sysfs.c | 29 +++++++++++++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c
|
||||
index d269738..e78188d 100644
|
||||
--- a/drivers/usb/core/sysfs.c
|
||||
+++ b/drivers/usb/core/sysfs.c
|
||||
@@ -16,6 +16,8 @@
|
||||
#include <linux/usb/quirks.h>
|
||||
#include "usb.h"
|
||||
|
||||
+#include <uapi/linux/usb/ch11.h>
|
||||
+
|
||||
/* Active configuration fields */
|
||||
#define usb_actconfig_show(field, format_string) \
|
||||
static ssize_t field##_show(struct device *dev, \
|
||||
@@ -677,6 +679,30 @@ static ssize_t remove_store(struct device *dev, struct device_attribute *attr,
|
||||
static DEVICE_ATTR_IGNORE_LOCKDEP(remove, S_IWUSR, NULL, remove_store);
|
||||
|
||||
|
||||
+
|
||||
+static ssize_t usbhub_testmode_store(struct device *dev,
|
||||
+ struct device_attribute *attr,
|
||||
+ const char *buf, size_t count)
|
||||
+{
|
||||
+ int port, testmode;
|
||||
+ struct usb_device *udev = to_usb_device(dev);
|
||||
+
|
||||
+ sscanf(buf, "%d %d\n", &port, &testmode);
|
||||
+ printk(KERN_ERR "[Advantech]%s ,port:%d testmode:%d %d\n", __func__, port, testmode, udev->portnum);
|
||||
+
|
||||
+ usb_control_msg(udev, usb_sndctrlpipe(udev, 0), USB_REQ_SET_FEATURE,
|
||||
+ USB_RT_PORT, USB_PORT_FEAT_SUSPEND,
|
||||
+ port, NULL, 0, 1000);
|
||||
+ usb_control_msg(udev, usb_sndctrlpipe(udev, 0), USB_REQ_SET_FEATURE,
|
||||
+ USB_RT_PORT, USB_PORT_FEAT_TEST,
|
||||
+ (testmode << 8) | port, NULL, 0, 1000);
|
||||
+
|
||||
+ return count;
|
||||
+}
|
||||
+
|
||||
+static DEVICE_ATTR(hub_test, 0200, NULL, usbhub_testmode_store);
|
||||
+
|
||||
+
|
||||
static struct attribute *dev_attrs[] = {
|
||||
/* current configuration's attributes */
|
||||
&dev_attr_configuration.attr,
|
||||
@@ -706,6 +732,9 @@ static struct attribute *dev_attrs[] = {
|
||||
&dev_attr_remove.attr,
|
||||
&dev_attr_removable.attr,
|
||||
&dev_attr_ltm_capable.attr,
|
||||
+
|
||||
+ &dev_attr_hub_test.attr,
|
||||
+
|
||||
NULL,
|
||||
};
|
||||
static struct attribute_group dev_attr_grp = {
|
||||
--
|
||||
2.8.1
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
From d2b1dd5c8591c6e87b955329615683d0431cfb6e Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <ken.lin@advantech.com.tw>
|
||||
Date: Tue, 26 Jul 2016 11:48:57 +0800
|
||||
Subject: [PATCH 3/3] ARM: dts: imx: Add Q7 SUS_S3_OUT control support during
|
||||
suspend/resume
|
||||
|
||||
configure Q7 SUS_S3_OUT as GPO and set the correct level during suspend/resume
|
||||
---
|
||||
arch/arm/boot/dts/imx6q-dms-ba16.dts | 6 +++++-
|
||||
arch/arm/mach-imx/mach-dms-ba16.c | 8 ++++++--
|
||||
2 files changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6q-dms-ba16.dts b/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
index 533d536..9805aca 100644
|
||||
--- a/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
+++ b/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
@@ -260,12 +260,14 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+
|
||||
&hdmi_cec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hdmi_cec>;
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
};
|
||||
|
||||
+
|
||||
&hdmi_core {
|
||||
ipu_id = <1>;
|
||||
disp_id = <0>;
|
||||
@@ -471,6 +473,8 @@
|
||||
MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x80000000 /* BLEN_OUT */
|
||||
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* LVDS_PPEN_OUT */
|
||||
MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x80000000 /* RTC_INT */
|
||||
+ MX6QDL_PAD_KEY_ROW2__GPIO4_IO11 0x1b0b0 /*SUS_S3_OUT*/
|
||||
+
|
||||
>;
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm/mach-imx/mach-dms-ba16.c b/arch/arm/mach-imx/mach-dms-ba16.c
|
||||
index bc327d5..ac6e6a0 100644
|
||||
--- a/arch/arm/mach-imx/mach-dms-ba16.c
|
||||
+++ b/arch/arm/mach-imx/mach-dms-ba16.c
|
||||
@@ -25,7 +25,10 @@
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
+#include <linux/gpio.h>
|
||||
+#include "hardware.h"
|
||||
|
||||
+#define SUS_S3_OUT IMX_GPIO_NR(4, 11)
|
||||
static struct i2c_client *da9063_client;
|
||||
|
||||
static int dms_ba16_suspend_pm_cb(struct notifier_block *nb,
|
||||
@@ -40,7 +43,7 @@ static int dms_ba16_suspend_pm_cb(struct notifier_block *nb,
|
||||
* i2c_smbus_write_byte_data(dms_ba16_client, <REGISTER>, <VALUE>);
|
||||
*/
|
||||
|
||||
-
|
||||
+ gpio_direction_output(SUS_S3_OUT, 0); /*Set SUS_S3 low during suspend*/
|
||||
|
||||
break;
|
||||
case PM_POST_SUSPEND:
|
||||
@@ -57,7 +60,7 @@ static int dms_ba16_suspend_pm_cb(struct notifier_block *nb,
|
||||
i2c_smbus_write_byte_data(da9063_client,0xA8,0x7d); // VBPERI_A(3.3V)
|
||||
|
||||
|
||||
-
|
||||
+ gpio_direction_output(SUS_S3_OUT, 1); /*Set SUS_S3 high during resume*/
|
||||
|
||||
break;
|
||||
default:
|
||||
@@ -151,6 +154,7 @@ static int platform_i2c_bus_notify(struct notifier_block *nb,
|
||||
i2c_smbus_write_byte_data(da9063_client,0x24,0x1); /*BIO_CONT let BIO_B off when supsend*/
|
||||
|
||||
|
||||
+ gpio_direction_output(SUS_S3_OUT, 1); /*Set SUS_S3 high when power on*/
|
||||
|
||||
pm_notifier(dms_ba16_suspend_pm_cb, 0);
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
From d9ff4244846537ccff192c8d10cc5a389193143a Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <yungching0725@gmail.com>
|
||||
Date: Thu, 14 Sep 2017 07:51:52 +0800
|
||||
Subject: [PATCH] dms-ba16: watchdog: enable external wdog_b signal
|
||||
|
||||
Enable the external wdog_b singal in Q7 to support the platform system reset
|
||||
|
||||
Signed-off-by: Ken Lin <yungching0725@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/imx6q-dms-ba16.dts | 14 +++++++++++++-
|
||||
drivers/watchdog/imx2_wdt.c | 12 ++++++++++--
|
||||
2 files changed, 23 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6q-dms-ba16.dts b/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
index 570e4ab5c531..154aa77e4c91 100644
|
||||
--- a/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
+++ b/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
@@ -466,7 +466,6 @@
|
||||
MX6QDL_PAD_NANDF_D7__GPIO2_IO07 0x80000000 /* GPIO7 */
|
||||
MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000 /* CAM_PWDN */
|
||||
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* CAM_RST */
|
||||
- MX6QDL_PAD_GPIO_9__WDOG1_B 0x80000000 /* Watchdog out */
|
||||
MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x80000000 /* HUB_RESET */
|
||||
MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x80000000 /* PMIC Interrupt */
|
||||
MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x80000000 /* AR8033 Interrupt */
|
||||
@@ -666,6 +665,13 @@
|
||||
>;
|
||||
};
|
||||
};
|
||||
+ wdog {
|
||||
+ pinctrl_wdog: wdoggrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_GPIO_9__WDOG1_B 0x1b0b0 /* Watchdog out */
|
||||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&ldb {
|
||||
@@ -797,3 +803,9 @@
|
||||
fsl,receive-dpll-mode = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&wdog1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_wdog>;
|
||||
+ fsl,wdog_b;
|
||||
+};
|
||||
diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c
|
||||
index 805df6b33625..decfef3ecd41 100644
|
||||
--- a/drivers/watchdog/imx2_wdt.c
|
||||
+++ b/drivers/watchdog/imx2_wdt.c
|
||||
@@ -43,6 +43,8 @@
|
||||
|
||||
#define IMX2_WDT_WCR 0x00 /* Control Register */
|
||||
#define IMX2_WDT_WCR_WT (0xFF << 8) /* -> Watchdog Timeout Field */
|
||||
+#define IMX2_WDT_WCR_WDA (1 << 5) /* -> WDOG_B assertion */
|
||||
+#define IMX2_WDT_WCR_SRS (1 << 4) /* -> Software Reset Signal */
|
||||
#define IMX2_WDT_WCR_WRE (1 << 3) /* -> WDOG Reset Enable */
|
||||
#define IMX2_WDT_WCR_WDE (1 << 2) /* -> Watchdog Enable */
|
||||
#define IMX2_WDT_WCR_WDZST (1 << 0) /* -> Watchdog timer Suspend */
|
||||
@@ -102,7 +104,9 @@ static int imx2_restart_handler(struct notifier_block *this, unsigned long mode,
|
||||
restart_handler);
|
||||
/* Assert WDOG_B signal */
|
||||
if (wdev->wdog_b)
|
||||
- wcr_enable = 0x14;
|
||||
+ wcr_enable |= IMX2_WDT_WCR_SRS;
|
||||
+ else
|
||||
+ wcr_enable |= IMX2_WDT_WCR_WDA;
|
||||
|
||||
regmap_write(wdev->regmap, 0, wcr_enable);
|
||||
/*
|
||||
@@ -133,7 +137,11 @@ static inline void imx2_wdt_setup(struct watchdog_device *wdog)
|
||||
/* Strip the old watchdog Time-Out value */
|
||||
val &= ~IMX2_WDT_WCR_WT;
|
||||
/* Generate reset if WDOG times out */
|
||||
- val &= ~IMX2_WDT_WCR_WRE;
|
||||
+ if (!wdev->wdog_b)
|
||||
+ val &= ~IMX2_WDT_WCR_WRE;
|
||||
+ /* Or if external-reset assert WDOG_B reset only on time-out */
|
||||
+ else
|
||||
+ val |= IMX2_WDT_WCR_WRE;
|
||||
/* Keep Watchdog Disabled */
|
||||
val &= ~IMX2_WDT_WCR_WDE;
|
||||
/* Set the watchdog's Time-Out value */
|
||||
--
|
||||
2.11.0
|
||||
|
|
@ -1,25 +1,22 @@
|
|||
From b65cedb176959d126e062e437a58738a2b31f724 Mon Sep 17 00:00:00 2001
|
||||
From: Justin Waters <justin.waters@timesys.com>
|
||||
Date: Fri, 12 Dec 2014 17:12:24 -0500
|
||||
Subject: [PATCH 7/7] ARM: dts: imx: Add support for Advantech DMS-BA16
|
||||
From 65b84fc181347ae04b1e38dbaa1672751050a5f5 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <yungching0725@gmail.com>
|
||||
Date: Thu, 7 Jun 2018 07:20:32 +0800
|
||||
Subject: [PATCH] Add support for the Advantech DMS-BA16 Board
|
||||
|
||||
Add support for the Advantech DMS-BA16 Board.
|
||||
|
||||
Signed-off-by: Justin Waters <justin.waters@timesys.com>
|
||||
Signed-off-by: Ken Lin <yungching0725@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/imx6q-dms-ba16.dts | 795 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 795 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
arch/arm/boot/dts/imx6q-dms-ba16.dts | 815 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 815 insertions(+)
|
||||
create mode 100755 arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6q-dms-ba16.dts b/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
new file mode 100644
|
||||
index 0000000..533d536
|
||||
new file mode 100755
|
||||
index 000000000000..fb5c9ae6579f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/imx6q-dms-ba16.dts
|
||||
@@ -0,0 +1,795 @@
|
||||
@@ -0,0 +1,815 @@
|
||||
+/*
|
||||
+ * Copyright 2016 Timesys Corporation
|
||||
+ * Copyright 2016 Advantech Corporation
|
||||
+ * Copyright 2018 Advantech Corporation
|
||||
+ *
|
||||
+ * The code contained herein is licensed under the GNU General Public
|
||||
+ * License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -279,12 +276,14 @@ index 0000000..533d536
|
|||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&hdmi_cec {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hdmi_cec>;
|
||||
+ status = "okay";
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&hdmi_core {
|
||||
+ ipu_id = <1>;
|
||||
+ disp_id = <0>;
|
||||
|
@ -318,10 +317,12 @@ index 0000000..533d536
|
|||
+ pinctrl-0 = <&pinctrl_i2c2>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ hdmi: edid@50 {
|
||||
+
|
||||
+ hdmi_edid: edid@50 {
|
||||
+ compatible = "fsl,imx6-hdmi-i2c";
|
||||
+ reg = <0x50>;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
|
@ -334,7 +335,11 @@ index 0000000..533d536
|
|||
+ compatible = "dialog,da9063";
|
||||
+ reg = <0x58>;
|
||||
+ interrupt-parent = <&gpio7>;
|
||||
+ interrupts = <13 0x8>; /* active-low GPIO7_13 */
|
||||
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>; /* active-low GPIO7_13 */
|
||||
+
|
||||
+ onkey {
|
||||
+ compatible = "dlg,da9063-onkey";
|
||||
+ };
|
||||
+
|
||||
+ regulators {
|
||||
+ bcore1 {
|
||||
|
@ -483,13 +488,14 @@ index 0000000..533d536
|
|||
+ MX6QDL_PAD_NANDF_D7__GPIO2_IO07 0x80000000 /* GPIO7 */
|
||||
+ MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000 /* CAM_PWDN */
|
||||
+ MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* CAM_RST */
|
||||
+ MX6QDL_PAD_GPIO_9__WDOG1_B 0x80000000 /* Watchdog out */
|
||||
+ MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x80000000 /* HUB_RESET */
|
||||
+ MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x80000000 /* PMIC Interrupt */
|
||||
+ MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x80000000 /* AR8033 Interrupt */
|
||||
+ MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x80000000 /* BLEN_OUT */
|
||||
+ MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* LVDS_PPEN_OUT */
|
||||
+ MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x80000000 /* RTC_INT */
|
||||
+ MX6QDL_PAD_KEY_ROW2__GPIO4_IO11 0x1b0b0 /*SUS_S3_OUT*/
|
||||
+
|
||||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
|
@ -681,6 +687,13 @@ index 0000000..533d536
|
|||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
+ wdog {
|
||||
+ pinctrl_wdog: wdoggrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_GPIO_9__WDOG1_B 0x1b0b0 /* Watchdog out */
|
||||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ldb {
|
||||
|
@ -812,6 +825,11 @@ index 0000000..533d536
|
|||
+ fsl,receive-dpll-mode = <1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+&wdog1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_wdog>;
|
||||
+ fsl,wdog_b;
|
||||
+};
|
||||
--
|
||||
2.8.1
|
||||
2.11.0
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 93b8c33148ae69e4e060f1fbe66e21c59c91e368 Mon Sep 17 00:00:00 2001
|
||||
From e330be67b1dd357fdc9676c72315eb0b8a9fd911 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <ken.lin@advantech.com.tw>
|
||||
Date: Tue, 26 Jul 2016 11:36:19 +0800
|
||||
Subject: [PATCH 2/3] mfd: da9063: Add wakeup source support
|
||||
Subject: [PATCH 3/4] mfd: da9063: Add wakeup source support
|
||||
|
||||
Configure da9063 IRQ as a iMx6 wakeup source
|
||||
---
|
||||
|
@ -9,7 +9,7 @@ Configure da9063 IRQ as a iMx6 wakeup source
|
|||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c
|
||||
index af841c1..7ea00a5 100644
|
||||
index 6c2870d4e754..72c303be2568 100644
|
||||
--- a/drivers/mfd/da9063-core.c
|
||||
+++ b/drivers/mfd/da9063-core.c
|
||||
@@ -232,6 +232,10 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq)
|
||||
|
@ -24,5 +24,5 @@ index af841c1..7ea00a5 100644
|
|||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.11.0
|
||||
|
|
@ -1,34 +1,35 @@
|
|||
From f08d25fce37274bb7ff7862ed380b998500b739c Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <ken.lin@advantech.com.tw>
|
||||
Date: Tue, 26 Jul 2016 11:30:25 +0800
|
||||
Subject: [PATCH 1/3] da9063: Add a PMIC qurk to support system suspend/resume and shutdown
|
||||
From f4d37d3abc522e72bebc2310d478cb5ebed24a4a Mon Sep 17 00:00:00 2001
|
||||
From: Ken Lin <yungching0725@gmail.com>
|
||||
Date: Thu, 1 Mar 2018 08:16:47 +0800
|
||||
Subject: [PATCH 4/4] da9063: Add a PMIC qurk to support system suspend/resume
|
||||
and shutdown
|
||||
|
||||
Add a platfrom specific qurik to adjust PMIC power rails during suspend/resume and shutdown
|
||||
---
|
||||
arch/arm/mach-imx/Makefile | 2 +-
|
||||
arch/arm/mach-imx/mach-dms-ba16.c | 184 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 185 insertions(+), 1 deletion(-)
|
||||
arch/arm/mach-imx/mach-dms-ba16.c | 188 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 189 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm/mach-imx/mach-dms-ba16.c
|
||||
|
||||
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
|
||||
index d973b16..dfa25b4 100644
|
||||
index 5d43296bdbe4..6bae5db72870 100644
|
||||
--- a/arch/arm/mach-imx/Makefile
|
||||
+++ b/arch/arm/mach-imx/Makefile
|
||||
@@ -102,7 +102,7 @@ AFLAGS_ddr3_freq_imx6.o :=-Wa,-march=armv7-a
|
||||
@@ -93,7 +93,7 @@ AFLAGS_ddr3_freq_imx6.o :=-Wa,-march=armv7-a
|
||||
AFLAGS_smp_wfe_imx6.o :=-Wa,-march=armv7-a
|
||||
AFLAGS_lpddr2_freq_imx6q.o :=-Wa,-march=armv7-a
|
||||
obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o mach-imx6q.o ddr3_freq_imx6.o \
|
||||
- smp_wfe_imx6.o lpddr2_freq_imx6q.o
|
||||
+ smp_wfe_imx6.o lpddr2_freq_imx6q.o mach-dms-ba16.o
|
||||
obj-$(CONFIG_SOC_IMX6Q) += mach-imx6q.o ddr3_freq_imx6.o smp_wfe_imx6.o \
|
||||
- lpddr2_freq_imx6q.o
|
||||
+ lpddr2_freq_imx6q.o mach-dms-ba16.o
|
||||
AFLAGS_lpddr2_freq_imx6.o :=-Wa,-march=armv7-a
|
||||
obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o mach-imx6sl.o lpddr2_freq_imx6.o
|
||||
AFLAGS_ddr3_freq_imx6sx.o :=-Wa,-march=armv7-a
|
||||
obj-$(CONFIG_SOC_IMX6SL) += mach-imx6sl.o lpddr2_freq_imx6.o
|
||||
AFLAGS_lpddr2_freq_imx6sll.o :=-Wa,-march=armv7-a
|
||||
diff --git a/arch/arm/mach-imx/mach-dms-ba16.c b/arch/arm/mach-imx/mach-dms-ba16.c
|
||||
new file mode 100644
|
||||
index 0000000..bc327d5
|
||||
index 000000000000..ac6e6a0ca7a0
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-imx/mach-dms-ba16.c
|
||||
@@ -0,0 +1,184 @@
|
||||
@@ -0,0 +1,188 @@
|
||||
+/*
|
||||
+ * Platform suspend/resume/poweroff quirk example
|
||||
+ *
|
||||
|
@ -56,7 +57,10 @@ index 0000000..bc327d5
|
|||
+#include <linux/reboot.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/regulator/machine.h>
|
||||
+#include <linux/gpio.h>
|
||||
+#include "hardware.h"
|
||||
+
|
||||
+#define SUS_S3_OUT IMX_GPIO_NR(4, 11)
|
||||
+static struct i2c_client *da9063_client;
|
||||
+
|
||||
+static int dms_ba16_suspend_pm_cb(struct notifier_block *nb,
|
||||
|
@ -71,7 +75,7 @@ index 0000000..bc327d5
|
|||
+ * i2c_smbus_write_byte_data(dms_ba16_client, <REGISTER>, <VALUE>);
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+ gpio_direction_output(SUS_S3_OUT, 0); /*Set SUS_S3 low during suspend*/
|
||||
+
|
||||
+ break;
|
||||
+ case PM_POST_SUSPEND:
|
||||
|
@ -88,7 +92,7 @@ index 0000000..bc327d5
|
|||
+ i2c_smbus_write_byte_data(da9063_client,0xA8,0x7d); // VBPERI_A(3.3V)
|
||||
+
|
||||
+
|
||||
+
|
||||
+ gpio_direction_output(SUS_S3_OUT, 1); /*Set SUS_S3 high during resume*/
|
||||
+
|
||||
+ break;
|
||||
+ default:
|
||||
|
@ -182,6 +186,7 @@ index 0000000..bc327d5
|
|||
+ i2c_smbus_write_byte_data(da9063_client,0x24,0x1); /*BIO_CONT let BIO_B off when supsend*/
|
||||
+
|
||||
+
|
||||
+ gpio_direction_output(SUS_S3_OUT, 1); /*Set SUS_S3 high when power on*/
|
||||
+
|
||||
+ pm_notifier(dms_ba16_suspend_pm_cb, 0);
|
||||
+
|
||||
|
@ -214,5 +219,5 @@ index 0000000..bc327d5
|
|||
+arch_initcall(platform_quirk);
|
||||
+
|
||||
--
|
||||
1.9.1
|
||||
2.11.0
|
||||
|
|
@ -9,7 +9,6 @@ CONFIG_CGROUPS=y
|
|||
CONFIG_RELAY=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
|
@ -18,37 +17,45 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_ARCH_MULTI_V6=y
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MACH_MX31LILLY=y
|
||||
CONFIG_MACH_MX31LITE=y
|
||||
CONFIG_MACH_PCM037=y
|
||||
CONFIG_MACH_PCM037_EET=y
|
||||
CONFIG_MACH_MX31_3DS=y
|
||||
CONFIG_MACH_MX31MOBOARD=y
|
||||
CONFIG_MACH_QONG=y
|
||||
CONFIG_MACH_ARMADILLO5X0=y
|
||||
CONFIG_MACH_KZM_ARM11_01=y
|
||||
CONFIG_MACH_IMX31_DT=y
|
||||
CONFIG_MACH_IMX35_DT=y
|
||||
CONFIG_MACH_PCM043=y
|
||||
CONFIG_MACH_MX35_3DS=y
|
||||
CONFIG_MACH_VPR200=y
|
||||
CONFIG_SOC_IMX50=y
|
||||
CONFIG_SOC_IMX51=y
|
||||
CONFIG_SOC_IMX53=y
|
||||
CONFIG_SOC_IMX6Q=y
|
||||
CONFIG_SOC_IMX6SL=y
|
||||
CONFIG_SOC_IMX6SX=y
|
||||
CONFIG_SOC_IMX6UL=y
|
||||
CONFIG_SOC_IMX7D=y
|
||||
# CONFIG_SOC_IMX6SL=y
|
||||
# CONFIG_SOC_IMX6SX=y
|
||||
# CONFIG_SOC_IMX6UL=y
|
||||
# CONFIG_SOC_IMX7D=y
|
||||
CONFIG_SOC_VF610=y
|
||||
# CONFIG_SWP_EMULATE is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_PCI_IMX6=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_HAVE_ARM_ARCH_TIMER=y
|
||||
CONFIG_VMSPLIT_2G=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_ARM_PSCI=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_CMA=y
|
||||
CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
CONFIG_ARM_IMX6Q_CPUFREQ=y
|
||||
CONFIG_ARM_IMX7D_CPUFREQ=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_NEON=y
|
||||
|
@ -64,34 +71,21 @@ CONFIG_IP_PNP_DHCP=y
|
|||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
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_BT=y
|
||||
CONFIG_BT_RFCOMM=y
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=y
|
||||
CONFIG_BT_BNEP_MC_FILTER=y
|
||||
CONFIG_BT_BNEP_PROTO_FILTER=y
|
||||
CONFIG_BT_HIDP=y
|
||||
CONFIG_BT_HCIBTUSB=y
|
||||
CONFIG_BT_HCIUART=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_BT_HCIUART_ATH3K=y
|
||||
CONFIG_BT_HCIBCM203X=y
|
||||
CONFIG_BT_ATH3K=y
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_LL=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_RFKILL_INPUT=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_CMA_SIZE_MBYTES=320
|
||||
CONFIG_IMX_WEIM=y
|
||||
CONFIG_CONNECTOR=y
|
||||
CONFIG_MTD=y
|
||||
|
@ -108,15 +102,16 @@ CONFIG_MTD_M25P80=y
|
|||
CONFIG_MTD_SST25L=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_GPMI_NAND=y
|
||||
CONFIG_MTD_NAND_VF610_NFC=y
|
||||
CONFIG_MTD_NAND_MXC=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_SPI_FSL_QUADSPI=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_FASTMAP=y
|
||||
CONFIG_MTD_UBI_BLOCK=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=65536
|
||||
CONFIG_SENSORS_FXOS8700=y
|
||||
CONFIG_SENSORS_FXAS2100X=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
|
@ -134,7 +129,7 @@ CONFIG_NETDEVICES=y
|
|||
CONFIG_CS89x0=y
|
||||
CONFIG_CS89x0_PLATFORM=y
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
CONFIG_IGB=y
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
|
@ -144,21 +139,17 @@ CONFIG_SMC91X=y
|
|||
CONFIG_SMC911X=y
|
||||
CONFIG_SMSC911X=y
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_MICREL_PHY=y
|
||||
CONFIG_ATH_CARDS=m
|
||||
CONFIG_ATH9K=m
|
||||
CONFIG_ATH6KL=m
|
||||
CONFIG_ATH6KL_SDIO=m
|
||||
CONFIG_USB_PEGASUS=m
|
||||
CONFIG_USB_RTL8150=m
|
||||
CONFIG_USB_RTL8152=m
|
||||
CONFIG_USB_USBNET=m
|
||||
CONFIG_USB_USBNET=y
|
||||
CONFIG_USB_NET_CDC_EEM=m
|
||||
CONFIG_BCMDHD=m
|
||||
CONFIG_BCMDHD_SDIO=y
|
||||
CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/fw_bcmdhd.bin"
|
||||
CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/bcmdhd.cal"
|
||||
# CONFIG_RTL_CARDS is not set
|
||||
CONFIG_BRCMFMAC=m
|
||||
CONFIG_WL12XX=m
|
||||
CONFIG_WLCORE_SDIO=m
|
||||
# CONFIG_WILINK_PLATFORM_DATA is not set
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=m
|
||||
|
@ -169,18 +160,17 @@ CONFIG_MOUSE_PS2_ELANTECH=y
|
|||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_ADS7846=y
|
||||
CONFIG_TOUCHSCREEN_EGALAX=y
|
||||
CONFIG_TOUCHSCREEN_ELAN=y
|
||||
CONFIG_TOUCHSCREEN_MAX11801=y
|
||||
CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
|
||||
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
|
||||
CONFIG_TOUCHSCREEN_MC13783=y
|
||||
CONFIG_TOUCHSCREEN_TSC2004=y
|
||||
CONFIG_TOUCHSCREEN_TSC2007=y
|
||||
CONFIG_TOUCHSCREEN_STMPE=y
|
||||
CONFIG_TOUCHSCREEN_SX8654=y
|
||||
CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_DA9063_ONKEY=y
|
||||
CONFIG_INPUT_MMA8450=y
|
||||
CONFIG_INPUT_MPL3115=y
|
||||
CONFIG_SENSOR_FXLS8471=y
|
||||
CONFIG_INPUT_ISL29023=y
|
||||
CONFIG_INPUT_DA9063_ONKEY=y
|
||||
CONFIG_SERIO_SERPORT=m
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
|
@ -188,36 +178,38 @@ CONFIG_SERIAL_IMX=y
|
|||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
CONFIG_SERIAL_FSL_LPUART=y
|
||||
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
|
||||
CONFIG_FSL_OTP=y
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MUX_GPIO=y
|
||||
# CONFIG_I2C_HELPER_AUTO is not set
|
||||
CONFIG_I2C_ALGOPCF=m
|
||||
CONFIG_I2C_ALGOPCA=m
|
||||
CONFIG_I2C_GPIO=y
|
||||
CONFIG_I2C_IMX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_GPIO=y
|
||||
CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_FSL_DSPI=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_MAX732X=y
|
||||
CONFIG_GPIO_MC9S08DZ60=y
|
||||
CONFIG_GPIO_PCA953X=y
|
||||
CONFIG_GPIO_74X164=y
|
||||
CONFIG_GPIO_STMPE=y
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_IMX=y
|
||||
CONFIG_POWER_RESET_SYSCON=y
|
||||
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_SABRESD_MAX8903=y
|
||||
CONFIG_SENSORS_MAX17135=y
|
||||
CONFIG_SENSORS_MAG3110=y
|
||||
CONFIG_SENSORS_GPIO_FAN=y
|
||||
CONFIG_SENSORS_IIO_HWMON=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_CPU_THERMAL=y
|
||||
CONFIG_IMX_THERMAL=y
|
||||
CONFIG_DEVICE_THERMAL=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_IMX2_WDT=y
|
||||
CONFIG_MFD_DA9052_I2C=y
|
||||
CONFIG_MFD_DA9063=y
|
||||
CONFIG_MFD_MC13XXX_SPI=y
|
||||
CONFIG_MFD_MC13XXX_I2C=y
|
||||
CONFIG_MFD_MAX17135=y
|
||||
CONFIG_MFD_SI476X_CORE=y
|
||||
CONFIG_MFD_STMPE=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
|
@ -225,84 +217,59 @@ CONFIG_REGULATOR_ANATOP=y
|
|||
CONFIG_REGULATOR_DA9052=y
|
||||
CONFIG_REGULATOR_DA9063=y
|
||||
CONFIG_REGULATOR_GPIO=y
|
||||
CONFIG_REGULATOR_MAX17135=y
|
||||
CONFIG_REGULATOR_MC13783=y
|
||||
CONFIG_REGULATOR_MC13892=y
|
||||
CONFIG_REGULATOR_PFUZE100=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_RADIO_SUPPORT=y
|
||||
CONFIG_MEDIA_RC_SUPPORT=y
|
||||
CONFIG_RC_DEVICES=y
|
||||
CONFIG_IR_GPIO_CIR=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_VIDEO_MXC_OUTPUT=y
|
||||
CONFIG_VIDEO_MXC_CAPTURE=m
|
||||
CONFIG_MXC_CAMERA_OV5640=m
|
||||
CONFIG_MXC_CAMERA_OV5642=m
|
||||
CONFIG_MXC_CAMERA_OV5640_MIPI=m
|
||||
CONFIG_MXC_TVIN_ADV7180=m
|
||||
CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
|
||||
CONFIG_VIDEO_MXC_IPU_OUTPUT=y
|
||||
CONFIG_VIDEO_MXC_PXP_V4L2=y
|
||||
CONFIG_VIDEO_MXC_CSI_CAMERA=m
|
||||
CONFIG_MXC_VADC=m
|
||||
CONFIG_MXC_MIPI_CSI=m
|
||||
CONFIG_MXC_CAMERA_OV5647_MIPI=m
|
||||
CONFIG_SOC_CAMERA=y
|
||||
CONFIG_VIDEO_MX3=y
|
||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||
CONFIG_VIDEO_CODA=y
|
||||
CONFIG_RADIO_SI476X=y
|
||||
CONFIG_SOC_CAMERA_OV2640=y
|
||||
CONFIG_IMX_IPUV3_CORE=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_VIVANTE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_DRM_PANEL_SIMPLE=y
|
||||
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
|
||||
CONFIG_DRM_IMX=y
|
||||
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
|
||||
CONFIG_DRM_IMX_TVE=y
|
||||
CONFIG_DRM_IMX_LDB=y
|
||||
CONFIG_DRM_IMX_HDMI=y
|
||||
CONFIG_DRM_ETNAVIV=y
|
||||
CONFIG_FB_MXS=y
|
||||
CONFIG_FB_MXC_SYNC_PANEL=y
|
||||
CONFIG_FB_MXC_MIPI_DSI=y
|
||||
CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
|
||||
CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
|
||||
CONFIG_FB_MXC_LDB=y
|
||||
CONFIG_FB_MXC_HDMI=y
|
||||
CONFIG_FB_MXS_SII902X=y
|
||||
CONFIG_FB_MXC_DCIC=m
|
||||
CONFIG_HANNSTAR_CABC=y
|
||||
CONFIG_FB_MXC_EINK_PANEL=y
|
||||
CONFIG_FB_MXC_EINK_V2_PANEL=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_LCD_L4F00242T03=y
|
||||
CONFIG_LCD_PLATFORM=y
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_BACKLIGHT_GPIO=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_USB_AUDIO=m
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SOC_FSL_ASRC=y
|
||||
CONFIG_SND_IMX_SOC=y
|
||||
CONFIG_SND_SOC_PHYCORE_AC97=y
|
||||
CONFIG_SND_SOC_EUKREA_TLV320=y
|
||||
CONFIG_SND_SOC_IMX_WM8960=y
|
||||
CONFIG_SND_SOC_IMX_SII902X=y
|
||||
CONFIG_SND_SOC_IMX_WM8958=y
|
||||
CONFIG_SND_SOC_IMX_CS42888=y
|
||||
CONFIG_SND_SOC_IMX_WM8962=y
|
||||
CONFIG_SND_SOC_IMX_SGTL5000=y
|
||||
CONFIG_SND_SOC_IMX_MQS=y
|
||||
CONFIG_SND_SOC_IMX_SPDIF=y
|
||||
CONFIG_SND_SOC_IMX_MC13783=y
|
||||
CONFIG_SND_SOC_IMX_SI476X=y
|
||||
CONFIG_SND_SOC_IMX_HDMI=y
|
||||
CONFIG_SND_SOC_FSL_ASOC_CARD=y
|
||||
CONFIG_SND_SOC_CS42XX8_I2C=y
|
||||
CONFIG_SND_SOC_TLV320AIC3X=y
|
||||
CONFIG_SND_SOC_WM8960=y
|
||||
CONFIG_SND_SIMPLE_CARD=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_OTG_WHITELIST=y
|
||||
CONFIG_USB_OTG_FSM=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_MXC=y
|
||||
CONFIG_USB_HCD_TEST_MODE=y
|
||||
CONFIG_USB_ACM=m
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
|
@ -311,10 +278,12 @@ CONFIG_USB_SERIAL=m
|
|||
CONFIG_USB_SERIAL_GENERIC=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=m
|
||||
CONFIG_USB_SERIAL_OPTION=m
|
||||
CONFIG_USB_EHSET_TEST_FIXTURE=y
|
||||
CONFIG_USB_TEST=m
|
||||
CONFIG_USB_EHSET_TEST_FIXTURE=m
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_MXS_PHY=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_FSL_USB2=y
|
||||
CONFIG_USB_CONFIGFS=m
|
||||
CONFIG_USB_CONFIGFS_SERIAL=y
|
||||
CONFIG_USB_CONFIGFS_ACM=y
|
||||
|
@ -327,24 +296,28 @@ CONFIG_USB_CONFIGFS_EEM=y
|
|||
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
|
||||
CONFIG_USB_CONFIGFS_F_LB_SS=y
|
||||
CONFIG_USB_CONFIGFS_F_FS=y
|
||||
CONFIG_USB_CONFIGFS_F_UAC1=y
|
||||
CONFIG_USB_CONFIGFS_F_UAC2=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_USB_CONFIGFS_F_HID=y
|
||||
CONFIG_USB_CONFIGFS_F_UVC=y
|
||||
CONFIG_USB_CONFIGFS_F_PRINTER=y
|
||||
CONFIG_USB_ZERO=m
|
||||
CONFIG_USB_AUDIO=m
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_G_NCM=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_FUNCTIONFS=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_ESDHC_IMX=y
|
||||
CONFIG_MXC_IPU=y
|
||||
CONFIG_MXC_IPU_V3_PRE=y
|
||||
CONFIG_MXC_GPU_VIV=y
|
||||
CONFIG_MXC_SIM=y
|
||||
CONFIG_MXC_MIPI_CSI2=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_PWM=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
|
@ -353,24 +326,27 @@ CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
|||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_ISL1208=y
|
||||
CONFIG_RTC_DRV_PCF8523=y
|
||||
CONFIG_RTC_DRV_PCF8563=y
|
||||
CONFIG_RTC_DRV_M41T80=y
|
||||
CONFIG_RTC_DRV_RX8010=y
|
||||
CONFIG_RTC_DRV_DA9063=y
|
||||
CONFIG_RTC_DRV_MC13XXX=y
|
||||
CONFIG_RTC_DRV_MXC=y
|
||||
CONFIG_RTC_DRV_SNVS=y
|
||||
CONFIG_RTC_HCTOSYS_DEVICE="rtc1"
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_MXC_PXP_V2=y
|
||||
CONFIG_MXC_PXP_V3=y
|
||||
CONFIG_FSL_EDMA=y
|
||||
CONFIG_IMX_SDMA=y
|
||||
CONFIG_MXS_DMA=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_STAGING_MEDIA=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_IIO=y
|
||||
CONFIG_VF610_ADC=y
|
||||
CONFIG_MPL3115=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_FSL_FTM=y
|
||||
CONFIG_PWM_IMX=y
|
||||
CONFIG_NVMEM_IMX_OCOTP=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
|
@ -378,9 +354,6 @@ CONFIG_EXT2_FS_SECURITY=y
|
|||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
|
@ -392,7 +365,6 @@ CONFIG_ZISOFS=y
|
|||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
|
@ -405,43 +377,18 @@ CONFIG_NLS_ASCII=y
|
|||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_ISO8859_15=m
|
||||
CONFIG_NLS_UTF8=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_PANIC_TIMEOUT=3
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_CORESIGHT=y
|
||||
CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
|
||||
CONFIG_CORESIGHT_SINK_TPIU=y
|
||||
CONFIG_CORESIGHT_SINK_ETBV10=y
|
||||
CONFIG_CORESIGHT_SOURCE_ETM3X=y
|
||||
# CONFIG_ARM_UNWIND is not set
|
||||
CONFIG_SECURITYFS=y
|
||||
CONFIG_CRYPTO_USER=y
|
||||
CONFIG_CRYPTO_TEST=m
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_CTS=y
|
||||
CONFIG_CRYPTO_LRW=y
|
||||
CONFIG_CRYPTO_XTS=y
|
||||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=y
|
||||
CONFIG_CRYPTO_RMD128=y
|
||||
CONFIG_CRYPTO_RMD160=y
|
||||
CONFIG_CRYPTO_RMD256=y
|
||||
CONFIG_CRYPTO_RMD320=y
|
||||
CONFIG_CRYPTO_SHA1=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_TGR192=y
|
||||
CONFIG_CRYPTO_WP512=y
|
||||
CONFIG_CRYPTO_BLOWFISH=y
|
||||
CONFIG_CRYPTO_CAMELLIA=y
|
||||
CONFIG_CRYPTO_DES=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
|
||||
CONFIG_CRYPTO_DEV_SAHARA=y
|
||||
CONFIG_CRC_CCITT=m
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC7=m
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright (C) 2016 Timesys Corporation
|
||||
# Copyright (C) 2016 Advantech Corporation
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
include recipes-kernel/linux/linux-imx.inc
|
||||
|
||||
DEPENDS += "lzop-native bc-native"
|
||||
|
||||
SRCBRANCH = "4.1-1.0.x-imx"
|
||||
SRCREV = "8eaed11bf59476b24c46a41036b34e969c40d165"
|
||||
LOCALVERSION = "-${SRCBRANCH}-dms-ba16"
|
||||
|
||||
SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${SRCBRANCH} \
|
||||
file://0001-rtc-rx8010-Add-driver-to-kernel.patch \
|
||||
file://0002-ahci_imx-Make-receive-DPLL-mode-configurable.patch \
|
||||
file://0003-PCI-imx6-Add-DT-bindings-to-configure-PHY-Tx-driver-.patch \
|
||||
file://0004-input-da9063_onkey-Add-driver.patch \
|
||||
file://0005-mfd-da9063-Add-support-for-OnKey-driver.patch \
|
||||
file://0006-add-usb-hub_test-suport.patch \
|
||||
file://0007-ARM-dts-imx-Add-support-for-Advantech-DMS-BA16.patch \
|
||||
file://0008-da9063-Add-a-PMIC-qurk-to-support-system-suspend-res.patch \
|
||||
file://0009-mfd-da9063-Add-wakeup-source-support.patch \
|
||||
file://0010-ARM-dts-imx-Add-Q7-SUS_S3_OUT-control-support-during.patch \
|
||||
file://0011-dms-ba16-watchdog-enable-external-wdog_b-signal.patch \
|
||||
file://defconfig"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx6q-dms-ba16)"
|
18
recipes-kernel/linux/linux-advantech_4.9.bb
Normal file
18
recipes-kernel/linux/linux-advantech_4.9.bb
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Copyright (C) 2018 Advantech Corporation
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
include recipes-kernel/linux/linux-imx.inc
|
||||
DEPENDS += "lzop-native bc-native"
|
||||
|
||||
SRCBRANCH = "4.9-1.0.x-imx"
|
||||
SRCREV = "0e674a64b86e2bb00ab43f56104d3ea85dda0066"
|
||||
LOCALVERSION = "-${SRCBRANCH}-dms-ba16"
|
||||
|
||||
SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${SRCBRANCH} \
|
||||
file://0001-Add-support-for-the-Advantech-DMS-BA16-Board.patch \
|
||||
file://0002-mfd-da9063-Add-wakeup-source-support.patch \
|
||||
file://0003-da9063-Add-a-PMIC-qurk-to-support-system-suspend-res.patch \
|
||||
file://defconfig \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx6q-dms-ba16)"
|
Loading…
Reference in New Issue
Block a user