Lines Matching +full:da850 +full:- +full:ddr +full:- +full:controller
1 // SPDX-License-Identifier: GPL-2.0-only
3 * TI da8xx DDR2/mDDR controller driver
23 * some changes (as is the case for the LCD controller on da850-lcdk - the
37 .name = "da850-pbbpr",
56 .name = "da850-pbbpr",
64 .board = "ti,da850-lcdk",
78 if (strcmp(knob->name, setting->name) == 0) in da8xx_ddrctl_match_knob()
93 if (of_machine_is_compatible(board_settings->board)) in da8xx_ddrctl_get_board_settings()
94 return board_settings->settings; in da8xx_ddrctl_get_board_settings()
109 dev = &pdev->dev; in da8xx_ddrctl_probe()
114 return -EINVAL; in da8xx_ddrctl_probe()
119 dev_err(dev, "unable to map memory controller registers\n"); in da8xx_ddrctl_probe()
123 for (; setting->name; setting++) { in da8xx_ddrctl_probe()
127 "no such config option: %s\n", setting->name); in da8xx_ddrctl_probe()
131 if (knob->reg + sizeof(u32) > resource_size(res)) { in da8xx_ddrctl_probe()
134 knob->name); in da8xx_ddrctl_probe()
138 reg = readl(ddrctl + knob->reg); in da8xx_ddrctl_probe()
139 reg &= knob->mask; in da8xx_ddrctl_probe()
140 reg |= setting->val << knob->shift; in da8xx_ddrctl_probe()
142 dev_dbg(dev, "writing 0x%08x to %s\n", reg, setting->name); in da8xx_ddrctl_probe()
144 writel(reg, ddrctl + knob->reg); in da8xx_ddrctl_probe()
151 { .compatible = "ti,da850-ddr-controller", },
158 .name = "da850-ddr-controller",
165 MODULE_DESCRIPTION("TI da8xx DDR2/mDDR controller driver");