Lines Matching +full:hall +full:- +full:enable
1 // SPDX-License-Identifier: GPL-2.0-only
8 * Kylene Hall <kjhall@us.ibm.com>
10 * Maintained by: <tpmdd-devel@lists.sourceforge.net>
38 * irq = -1 means: no irq support
53 static int interrupts = -1;
55 MODULE_PARM_DESC(interrupts, "Enable interrupts");
69 if (interrupts == -1) { in tpm_tis_disable_irq()
70 pr_notice("tpm_tis: %s detected: disabling interrupts.\n", d->ident); in tpm_tis_disable_irq()
94 list_for_each_entry(id, &dev->pnp.ids, list) in has_hid()
95 if (!strcmp(hid, id->id)) in has_hid()
129 if (!aid || aid->driver_data != DEVICE_IS_TPM2) in check_acpi_tpm2()
137 if (ACPI_FAILURE(st) || tbl->header.length < sizeof(*tbl)) { in check_acpi_tpm2()
139 return -EINVAL; in check_acpi_tpm2()
143 if (tbl->start_method != ACPI_TPM2_MEMORY_MAPPED) in check_acpi_tpm2()
144 return -ENODEV; in check_acpi_tpm2()
160 while (len--) in tpm_tcg_read_bytes()
161 *result++ = ioread8(phy->iobase + addr); in tpm_tcg_read_bytes()
171 while (len--) in tpm_tcg_write_bytes()
172 iowrite8(*value++, phy->iobase + addr); in tpm_tcg_write_bytes()
181 *result = ioread16(phy->iobase + addr); in tpm_tcg_read16()
190 *result = ioread32(phy->iobase + addr); in tpm_tcg_read32()
199 iowrite32(value, phy->iobase + addr); in tpm_tcg_write32()
215 int irq = -1; in tpm_tis_init()
226 return -ENOMEM; in tpm_tis_init()
228 phy->iobase = devm_ioremap_resource(dev, &tpm_info->res); in tpm_tis_init()
229 if (IS_ERR(phy->iobase)) in tpm_tis_init()
230 return PTR_ERR(phy->iobase); in tpm_tis_init()
233 irq = tpm_info->irq; in tpm_tis_init()
236 phy->priv.flags |= TPM_TIS_ITPM_WORKAROUND; in tpm_tis_init()
238 return tpm_tis_core_init(dev, &phy->priv, irq, &tpm_tcg, in tpm_tis_init()
252 return -ENODEV; in tpm_tis_pnp_init()
258 tpm_info.irq = -1; in tpm_tis_pnp_init()
260 return tpm_tis_init(&pnp_dev->dev, &tpm_info); in tpm_tis_pnp_init()
302 #define TIS_HID_USR_IDX (ARRAY_SIZE(tpm_pnp_tbl) - 2)
316 dev_err(&pdev->dev, "no memory resource defined\n"); in tpm_tis_plat_probe()
317 return -ENODEV; in tpm_tis_plat_probe()
324 tpm_info.irq = -1; in tpm_tis_plat_probe()
330 return tpm_tis_init(&pdev->dev, &tpm_info); in tpm_tis_plat_probe()
335 struct tpm_chip *chip = dev_get_drvdata(&pdev->dev); in tpm_tis_plat_remove()
345 {.compatible = "tcg,tpm-tis-mmio"},
368 .end = 0xFED40000 + TIS_MEM_LEN - 1, in tpm_tis_force_device()
380 pdev = platform_device_register_simple("tpm_tis", -1, x86_resources, in tpm_tis_force_device()