|
|
|
@ -29,7 +29,7 @@ DECLARE_GLOBAL_DATA_PTR; |
|
|
|
|
#define REG_STATUS_VAL_MASK 0x1 |
|
|
|
|
|
|
|
|
|
/* MODE_CTL */ |
|
|
|
|
#define REG_CTL 0x40 |
|
|
|
|
#define REG_CTL 0x40 |
|
|
|
|
#define REG_CTL_MODE_MASK 0x70 |
|
|
|
|
#define REG_CTL_MODE_INPUT 0x00 |
|
|
|
|
#define REG_CTL_MODE_INOUT 0x20 |
|
|
|
@ -183,7 +183,7 @@ static int pm8916_gpio_probe(struct udevice *dev) |
|
|
|
|
return -ENODEV; |
|
|
|
|
|
|
|
|
|
reg = pmic_reg_read(dev->parent, priv->pid + REG_SUBTYPE); |
|
|
|
|
if (reg != 0x5) |
|
|
|
|
if (reg != 0x5 && reg != 0x1) |
|
|
|
|
return -ENODEV; |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
@ -203,6 +203,7 @@ static int pm8916_gpio_ofdata_to_platdata(struct udevice *dev) |
|
|
|
|
|
|
|
|
|
static const struct udevice_id pm8916_gpio_ids[] = { |
|
|
|
|
{ .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); |
|
|
|
|
|
|
|
|
|
uc_priv->gpio_count = 2; |
|
|
|
|
uc_priv->bank_name = dev_read_string(dev, "gpio-bank-name"); |
|
|
|
|
if (uc_priv->bank_name == NULL) |
|
|
|
|
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[] = { |
|
|
|
|
{ .compatible = "qcom,pm8916-pwrkey" }, |
|
|
|
|
{ .compatible = "qcom,pm8994-pwrkey" }, |
|
|
|
|
{ } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|