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
24 * some changes (as is the case for the LCD controller on da850-lcdk - the
38 .name = "da850-pbbpr",
57 .name = "da850-pbbpr",
65 .board = "ti,da850-lcdk",
79 if (strcmp(knob->name, setting->name) == 0) in da8xx_ddrctl_match_knob()
94 if (of_machine_is_compatible(board_settings->board)) in da8xx_ddrctl_get_board_settings()
95 return board_settings->settings; in da8xx_ddrctl_get_board_settings()
110 dev = &pdev->dev; in da8xx_ddrctl_probe()
115 return -EINVAL; in da8xx_ddrctl_probe()
121 dev_err(dev, "unable to map memory controller registers\n"); in da8xx_ddrctl_probe()
125 for (; setting->name; setting++) { in da8xx_ddrctl_probe()
129 "no such config option: %s\n", setting->name); in da8xx_ddrctl_probe()
133 if (knob->reg + sizeof(u32) > resource_size(res)) { in da8xx_ddrctl_probe()
136 knob->name); in da8xx_ddrctl_probe()
140 reg = readl(ddrctl + knob->reg); in da8xx_ddrctl_probe()
141 reg &= knob->mask; in da8xx_ddrctl_probe()
142 reg |= setting->val << knob->shift; in da8xx_ddrctl_probe()
144 dev_dbg(dev, "writing 0x%08x to %s\n", reg, setting->name); in da8xx_ddrctl_probe()
146 writel(reg, ddrctl + knob->reg); in da8xx_ddrctl_probe()
153 { .compatible = "ti,da850-ddr-controller", },
160 .name = "da850-ddr-controller",
167 MODULE_DESCRIPTION("TI da8xx DDR2/mDDR controller driver");