Lines Matching full:ngd
26 /* NGD (Non-ported Generic Device) registers */
152 struct qcom_slim_ngd *ngd; member
474 req.instance = (ctrl->ngd->id >> 1); in qcom_slim_qmi_init()
764 void __iomem *base = ctrl->ngd->base; in qcom_slim_ngd_interrupt()
1151 u32 cfg = readl_relaxed(ctrl->ngd->base); in qcom_slim_ngd_setup()
1161 /* Enable NGD if it's not already enabled*/ in qcom_slim_ngd_setup()
1165 writel_relaxed(cfg, ctrl->ngd->base); in qcom_slim_ngd_setup()
1171 struct qcom_slim_ngd *ngd = ctrl->ngd; in qcom_slim_ngd_power_up() local
1196 laddr = readl_relaxed(ngd->base + NGD_STATUS); in qcom_slim_ngd_power_up()
1212 * is lost for ngd. in qcom_slim_ngd_power_up()
1216 writel_relaxed(DEF_NGD_INT_MASK, ngd->base + NGD_INT_EN); in qcom_slim_ngd_power_up()
1217 rx_msgq = readl_relaxed(ngd->base + NGD_RX_MSGQ_CFG); in qcom_slim_ngd_power_up()
1220 ngd->base + NGD_RX_MSGQ_CFG); in qcom_slim_ngd_power_up()
1237 for_each_child_of_node(ctrl->ngd->pdev->dev.of_node, node) { in qcom_slim_ngd_notify_slaves()
1425 #define QCOM_SLIM_NGD_DRV_NAME "qcom,slim-ngd"
1429 .compatible = "qcom,slim-ngd-v1.5.0",
1432 .compatible = "qcom,slim-ngd-v2.1.0",
1514 struct qcom_slim_ngd *ngd; in of_qcom_slim_ngd_register() local
1526 ngd = kzalloc(sizeof(*ngd), GFP_KERNEL); in of_qcom_slim_ngd_register()
1527 if (!ngd) { in of_qcom_slim_ngd_register()
1532 ngd->pdev = platform_device_alloc(QCOM_SLIM_NGD_DRV_NAME, id); in of_qcom_slim_ngd_register()
1533 if (!ngd->pdev) { in of_qcom_slim_ngd_register()
1534 kfree(ngd); in of_qcom_slim_ngd_register()
1538 ngd->id = id; in of_qcom_slim_ngd_register()
1539 ngd->pdev->dev.parent = parent; in of_qcom_slim_ngd_register()
1541 ret = driver_set_override(&ngd->pdev->dev, in of_qcom_slim_ngd_register()
1542 &ngd->pdev->driver_override, in of_qcom_slim_ngd_register()
1546 platform_device_put(ngd->pdev); in of_qcom_slim_ngd_register()
1547 kfree(ngd); in of_qcom_slim_ngd_register()
1551 ngd->pdev->dev.of_node = node; in of_qcom_slim_ngd_register()
1552 ctrl->ngd = ngd; in of_qcom_slim_ngd_register()
1554 ret = platform_device_add(ngd->pdev); in of_qcom_slim_ngd_register()
1556 platform_device_put(ngd->pdev); in of_qcom_slim_ngd_register()
1557 kfree(ngd); in of_qcom_slim_ngd_register()
1561 ngd->base = ctrl->base + ngd->id * data->offset + in of_qcom_slim_ngd_register()
1562 (ngd->id - 1) * data->size; in of_qcom_slim_ngd_register()
1630 IRQF_TRIGGER_HIGH, "slim-ngd", ctrl); in qcom_slim_ngd_ctrl_probe()
1702 kfree(ctrl->ngd); in qcom_slim_ngd_remove()
1703 ctrl->ngd = NULL; in qcom_slim_ngd_remove()
1748 .name = "qcom,slim-ngd-ctrl",
1764 MODULE_DESCRIPTION("Qualcomm SLIMBus NGD controller");