Lines Matching +full:revision +full:- +full:id
1 // SPDX-License-Identifier: GPL-2.0-only
3 * ID and revision information for mvebu SoCs
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
10 * revision that can be read from the PCI control register. This is
12 * ID and revision are retrieved, the mapping is freed.
15 #define pr_fmt(fmt) "mvebu-soc-id: " fmt
26 #include "mvebu-soc-id.h"
39 { .compatible = "marvell,armada-xp-pcie", },
40 { .compatible = "marvell,armada-370-pcie", },
41 { .compatible = "marvell,kirkwood-pcie" },
52 return -ENODEV; in mvebu_get_soc_id()
68 * ID and revision are available from any port, so we in get_soc_id_by_pci()
74 ret = -ENOMEM; in get_soc_id_by_pci()
81 ret = -ENOMEM; in get_soc_id_by_pci()
94 ret = -ENOMEM; in get_soc_id_by_pci()
98 /* SoC ID */ in get_soc_id_by_pci()
101 /* SoC revision */ in get_soc_id_by_pci()
106 pr_info("MVEBU SoC ID=0x%X, Rev=0x%X\n", soc_dev_id, soc_rev); in get_soc_id_by_pci()
135 * First try to get the ID and the revision by the system in mvebu_soc_id_init()
140 pr_info("MVEBU SoC ID=0x%X, Rev=0x%X\n", soc_dev_id, soc_rev); in mvebu_soc_id_init()
153 /* Also protects against running on non-mvebu systems */ in mvebu_soc_device()
159 return -ENOMEM; in mvebu_soc_device()
161 soc_dev_attr->family = kasprintf(GFP_KERNEL, "Marvell"); in mvebu_soc_device()
162 soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%X", soc_rev); in mvebu_soc_device()
163 soc_dev_attr->soc_id = kasprintf(GFP_KERNEL, "%X", soc_dev_id); in mvebu_soc_device()
167 kfree(soc_dev_attr->family); in mvebu_soc_device()
168 kfree(soc_dev_attr->revision); in mvebu_soc_device()
169 kfree(soc_dev_attr->soc_id); in mvebu_soc_device()