mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-29 16:10:24 +09:00
db820c: enable pmic gpios for pm8994
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
This commit is contained in:
parent
4b684a6b82
commit
e0cc0b6c6d
@ -61,5 +61,48 @@
|
|||||||
clock = <&gcc 0>;
|
clock = <&gcc 0>;
|
||||||
clock-frequency = <200000000>;
|
clock-frequency = <200000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
spmi@400f000 {
|
||||||
|
compatible = "qcom,spmi-pmic-arb";
|
||||||
|
reg = <0x400f800 0x200>,
|
||||||
|
<0x4400000 0x400000>,
|
||||||
|
<0x4c00000 0x400000>;
|
||||||
|
#address-cells = <0x1>;
|
||||||
|
#size-cells = <0x1>;
|
||||||
|
|
||||||
|
pmic0: pm8994@0 {
|
||||||
|
compatible = "qcom,spmi-pmic";
|
||||||
|
reg = <0x0 0x1>;
|
||||||
|
#address-cells = <0x1>;
|
||||||
|
#size-cells = <0x1>;
|
||||||
|
|
||||||
|
pm8994_pon: pm8994_pon@800 {
|
||||||
|
compatible = "qcom,pm8994-pwrkey";
|
||||||
|
reg = <0x800 0x96>;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
gpio-controller;
|
||||||
|
gpio-bank-name="pm8994_key.";
|
||||||
|
};
|
||||||
|
|
||||||
|
pm8994_gpios: pm8994_gpios@c000 {
|
||||||
|
compatible = "qcom,pm8994-gpio";
|
||||||
|
reg = <0xc000 0x400>;
|
||||||
|
gpio-controller;
|
||||||
|
gpio-count = <24>;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
gpio-bank-name="pm8994.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pmic1: pm8994@1 {
|
||||||
|
compatible = "qcom,spmi-pmic";
|
||||||
|
reg = <0x1 0x1>;
|
||||||
|
#address-cells = <0x1>;
|
||||||
|
#size-cells = <0x1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#include "dragonboard820c-uboot.dtsi"
|
||||||
|
@ -23,11 +23,18 @@ CONFIG_CMD_TIMER=y
|
|||||||
CONFIG_CMD_EXT4=y
|
CONFIG_CMD_EXT4=y
|
||||||
CONFIG_CMD_GPT=y
|
CONFIG_CMD_GPT=y
|
||||||
CONFIG_CMD_MMC=y
|
CONFIG_CMD_MMC=y
|
||||||
|
CONFIG_CMD_GPIO=y
|
||||||
|
CONFIG_CMD_PMIC=y
|
||||||
CONFIG_OF_CONTROL=y
|
CONFIG_OF_CONTROL=y
|
||||||
CONFIG_MSM_SERIAL=y
|
CONFIG_MSM_SERIAL=y
|
||||||
|
CONFIG_SPMI_MSM=y
|
||||||
CONFIG_MMC_SDHCI_MSM=y
|
CONFIG_MMC_SDHCI_MSM=y
|
||||||
CONFIG_MMC_SDHCI=y
|
CONFIG_MMC_SDHCI=y
|
||||||
CONFIG_DM_MMC=y
|
CONFIG_DM_MMC=y
|
||||||
|
CONFIG_DM_GPIO=y
|
||||||
|
CONFIG_DM_PMIC=y
|
||||||
|
CONFIG_PMIC_PM8916=y
|
||||||
|
CONFIG_PM8916_GPIO=y
|
||||||
CONFIG_CLK=y
|
CONFIG_CLK=y
|
||||||
CONFIG_PSCI_RESET=y
|
CONFIG_PSCI_RESET=y
|
||||||
CONFIG_ENV_IS_IN_EXT4=y
|
CONFIG_ENV_IS_IN_EXT4=y
|
||||||
|
@ -29,7 +29,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||||||
#define REG_STATUS_VAL_MASK 0x1
|
#define REG_STATUS_VAL_MASK 0x1
|
||||||
|
|
||||||
/* MODE_CTL */
|
/* MODE_CTL */
|
||||||
#define REG_CTL 0x40
|
#define REG_CTL 0x40
|
||||||
#define REG_CTL_MODE_MASK 0x70
|
#define REG_CTL_MODE_MASK 0x70
|
||||||
#define REG_CTL_MODE_INPUT 0x00
|
#define REG_CTL_MODE_INPUT 0x00
|
||||||
#define REG_CTL_MODE_INOUT 0x20
|
#define REG_CTL_MODE_INOUT 0x20
|
||||||
@ -183,7 +183,7 @@ static int pm8916_gpio_probe(struct udevice *dev)
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
reg = pmic_reg_read(dev->parent, priv->pid + REG_SUBTYPE);
|
reg = pmic_reg_read(dev->parent, priv->pid + REG_SUBTYPE);
|
||||||
if (reg != 0x5)
|
if (reg != 0x5 && reg != 0x1)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -203,6 +203,7 @@ static int pm8916_gpio_ofdata_to_platdata(struct udevice *dev)
|
|||||||
|
|
||||||
static const struct udevice_id pm8916_gpio_ids[] = {
|
static const struct udevice_id pm8916_gpio_ids[] = {
|
||||||
{ .compatible = "qcom,pm8916-gpio" },
|
{ .compatible = "qcom,pm8916-gpio" },
|
||||||
|
{ .compatible = "qcom,pm8994-gpio" }, /* 22 GPIO's */
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -278,6 +279,7 @@ static int pm8941_pwrkey_ofdata_to_platdata(struct udevice *dev)
|
|||||||
struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
|
struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
|
||||||
|
|
||||||
uc_priv->gpio_count = 2;
|
uc_priv->gpio_count = 2;
|
||||||
|
uc_priv->bank_name = dev_read_string(dev, "gpio-bank-name");
|
||||||
if (uc_priv->bank_name == NULL)
|
if (uc_priv->bank_name == NULL)
|
||||||
uc_priv->bank_name = "pm8916_key";
|
uc_priv->bank_name = "pm8916_key";
|
||||||
|
|
||||||
@ -286,6 +288,7 @@ static int pm8941_pwrkey_ofdata_to_platdata(struct udevice *dev)
|
|||||||
|
|
||||||
static const struct udevice_id pm8941_pwrkey_ids[] = {
|
static const struct udevice_id pm8941_pwrkey_ids[] = {
|
||||||
{ .compatible = "qcom,pm8916-pwrkey" },
|
{ .compatible = "qcom,pm8916-pwrkey" },
|
||||||
|
{ .compatible = "qcom,pm8994-pwrkey" },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user