Lines Matching +full:ddr +full:- +full:config
1 // SPDX-License-Identifier: GPL-2.0-only
3 * DDR Self-Refresh Power Down (SRPD) support for Broadcom STB SoCs
38 void __iomem *config = memc->ddr_ctrl + REG_MEMC_CNTRLR_CONFIG; in brcmstb_memc_uses_lpddr4() local
41 reg = readl_relaxed(config) & CNTRLR_CONFIG_MASK; in brcmstb_memc_uses_lpddr4()
49 void __iomem *cfg = memc->ddr_ctrl + memc->srpd_offset; in brcmstb_memc_srpd_config()
54 return -EINVAL; in brcmstb_memc_srpd_config()
56 memc->timeout_cycles = cycles; in brcmstb_memc_srpd_config()
74 return sprintf(buf, "%d\n", memc->frequency); in frequency_show()
82 return sprintf(buf, "%d\n", memc->timeout_cycles); in srpd_show()
98 return -EOPNOTSUPP; in srpd_store()
130 struct device *dev = &pdev->dev; in brcmstb_memc_probe()
136 return -ENOMEM; in brcmstb_memc_probe()
141 memc_data = of_id->data; in brcmstb_memc_probe()
142 memc->srpd_offset = memc_data->srpd_offset; in brcmstb_memc_probe()
144 memc->ddr_ctrl = devm_platform_ioremap_resource(pdev, 0); in brcmstb_memc_probe()
145 if (IS_ERR(memc->ddr_ctrl)) in brcmstb_memc_probe()
146 return PTR_ERR(memc->ddr_ctrl); in brcmstb_memc_probe()
148 of_property_read_u32(pdev->dev.of_node, "clock-frequency", in brcmstb_memc_probe()
149 &memc->frequency); in brcmstb_memc_probe()
151 ret = sysfs_create_group(&dev->kobj, &dev_attr_group); in brcmstb_memc_probe()
160 struct device *dev = &pdev->dev; in brcmstb_memc_remove()
162 sysfs_remove_group(&dev->kobj, &dev_attr_group); in brcmstb_memc_remove()
181 .compatible = "brcm,brcmstb-memc-ddr-rev-b.1.x",
185 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.0",
189 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.1",
193 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.2",
197 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.3",
201 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.5",
205 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.6",
209 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.7",
213 .compatible = "brcm,brcmstb-memc-ddr-rev-b.2.8",
217 .compatible = "brcm,brcmstb-memc-ddr-rev-b.3.0",
221 .compatible = "brcm,brcmstb-memc-ddr-rev-b.3.1",
225 .compatible = "brcm,brcmstb-memc-ddr-rev-c.1.0",
229 .compatible = "brcm,brcmstb-memc-ddr-rev-c.1.1",
233 .compatible = "brcm,brcmstb-memc-ddr-rev-c.1.2",
237 .compatible = "brcm,brcmstb-memc-ddr-rev-c.1.3",
241 .compatible = "brcm,brcmstb-memc-ddr-rev-c.1.4",
246 .compatible = "brcm,brcmstb-memc-ddr",
255 void __iomem *cfg = memc->ddr_ctrl + memc->srpd_offset; in brcmstb_memc_suspend()
258 if (memc->timeout_cycles == 0) in brcmstb_memc_suspend()
279 if (memc->timeout_cycles == 0) in brcmstb_memc_resume()
282 return brcmstb_memc_srpd_config(memc, memc->timeout_cycles); in brcmstb_memc_resume()
301 MODULE_DESCRIPTION("DDR SRPD driver for Broadcom STB chips");