Lines Matching refs:rza1_pctl

544 					  struct rza1_pinctrl *rza1_pctl)  in rza1_pinmux_get_flags()  argument
547 const struct rza1_pinmux_conf *pmx_conf = rza1_pctl->data; in rza1_pinmux_get_flags()
670 static int rza1_pin_mux_single(struct rza1_pinctrl *rza1_pctl, in rza1_pin_mux_single() argument
673 struct rza1_port *port = &rza1_pctl->ports[mux_conf->port]; in rza1_pin_mux_single()
683 rza1_pctl); in rza1_pin_mux_single()
885 static int rza1_parse_pinmux_node(struct rza1_pinctrl *rza1_pctl, in rza1_parse_pinmux_node() argument
890 struct pinctrl_dev *pctldev = rza1_pctl->pctl; in rza1_parse_pinmux_node()
902 dev_dbg(rza1_pctl->dev, "Missing %s property\n", prop_name); in rza1_parse_pinmux_node()
914 dev_err(rza1_pctl->dev, in rza1_parse_pinmux_node()
958 dev_err(rza1_pctl->dev, in rza1_parse_pinmux_node()
985 struct rza1_pinctrl *rza1_pctl = pinctrl_dev_get_drvdata(pctldev); in rza1_dt_node_to_map() local
996 dev_err(rza1_pctl->dev, "invalid pinmux node structure\n"); in rza1_dt_node_to_map()
1006 mux_confs = devm_kcalloc(rza1_pctl->dev, npins, sizeof(*mux_confs), in rza1_dt_node_to_map()
1008 grpins = devm_kcalloc(rza1_pctl->dev, npins, sizeof(*grpins), in rza1_dt_node_to_map()
1010 fngrps = devm_kzalloc(rza1_pctl->dev, sizeof(*fngrps), GFP_KERNEL); in rza1_dt_node_to_map()
1023 ret = rza1_parse_pinmux_node(rza1_pctl, np, mux_conf, grpin); in rza1_dt_node_to_map()
1026 ret = rza1_parse_pinmux_node(rza1_pctl, child, mux_conf, in rza1_dt_node_to_map()
1043 mutex_lock(&rza1_pctl->mutex); in rza1_dt_node_to_map()
1047 mutex_unlock(&rza1_pctl->mutex); in rza1_dt_node_to_map()
1058 dev_info(rza1_pctl->dev, "Parsed function and group %s with %d pins\n", in rza1_dt_node_to_map()
1073 mutex_unlock(&rza1_pctl->mutex); in rza1_dt_node_to_map()
1082 mutex_unlock(&rza1_pctl->mutex); in rza1_dt_node_to_map()
1084 dev_info(rza1_pctl->dev, "Unable to parse function and group %s\n", in rza1_dt_node_to_map()
1118 struct rza1_pinctrl *rza1_pctl = pinctrl_dev_get_drvdata(pctldev); in rza1_set_mux() local
1136 ret = rza1_pin_mux_single(rza1_pctl, &mux_confs[i]); in rza1_set_mux()
1182 static int rza1_parse_gpiochip(struct rza1_pinctrl *rza1_pctl, in rza1_parse_gpiochip() argument
1195 dev_err(rza1_pctl->dev, "Unable to parse %s list property\n", in rza1_parse_gpiochip()
1207 dev_err(rza1_pctl->dev, in rza1_parse_gpiochip()
1214 chip->label = devm_kasprintf(rza1_pctl->dev, GFP_KERNEL, "%pOFn", in rza1_parse_gpiochip()
1221 chip->parent = rza1_pctl->dev; in rza1_parse_gpiochip()
1229 ret = devm_gpiochip_add_data(rza1_pctl->dev, chip, in rza1_parse_gpiochip()
1230 &rza1_pctl->ports[gpioport]); in rza1_parse_gpiochip()
1234 pinctrl_add_gpio_range(rza1_pctl->pctl, range); in rza1_parse_gpiochip()
1236 dev_dbg(rza1_pctl->dev, "Parsed gpiochip %s with %d pins\n", in rza1_parse_gpiochip()
1247 static int rza1_gpio_register(struct rza1_pinctrl *rza1_pctl) in rza1_gpio_register() argument
1249 struct device_node *np = rza1_pctl->dev->of_node; in rza1_gpio_register()
1259 dev_dbg(rza1_pctl->dev, "No gpiochip registered\n"); in rza1_gpio_register()
1263 gpio_chips = devm_kcalloc(rza1_pctl->dev, ngpiochips, in rza1_gpio_register()
1265 gpio_ranges = devm_kcalloc(rza1_pctl->dev, ngpiochips, in rza1_gpio_register()
1275 ret = rza1_parse_gpiochip(rza1_pctl, child, &gpio_chips[i], in rza1_gpio_register()
1285 dev_info(rza1_pctl->dev, "Registered %u gpio controllers\n", i); in rza1_gpio_register()
1296 static int rza1_pinctrl_register(struct rza1_pinctrl *rza1_pctl) in rza1_pinctrl_register() argument
1303 pins = devm_kcalloc(rza1_pctl->dev, RZA1_NPINS, sizeof(*pins), in rza1_pinctrl_register()
1305 ports = devm_kcalloc(rza1_pctl->dev, RZA1_NPORTS, sizeof(*ports), in rza1_pinctrl_register()
1310 rza1_pctl->pins = pins; in rza1_pinctrl_register()
1311 rza1_pctl->desc.pins = pins; in rza1_pinctrl_register()
1312 rza1_pctl->desc.npins = RZA1_NPINS; in rza1_pinctrl_register()
1313 rza1_pctl->ports = ports; in rza1_pinctrl_register()
1320 pins[i].name = devm_kasprintf(rza1_pctl->dev, GFP_KERNEL, in rza1_pinctrl_register()
1333 ports[port_id].base = rza1_pctl->base; in rza1_pinctrl_register()
1339 ret = devm_pinctrl_register_and_init(rza1_pctl->dev, &rza1_pctl->desc, in rza1_pinctrl_register()
1340 rza1_pctl, &rza1_pctl->pctl); in rza1_pinctrl_register()
1342 dev_err(rza1_pctl->dev, in rza1_pinctrl_register()
1347 ret = pinctrl_enable(rza1_pctl->pctl); in rza1_pinctrl_register()
1349 dev_err(rza1_pctl->dev, in rza1_pinctrl_register()
1354 ret = rza1_gpio_register(rza1_pctl); in rza1_pinctrl_register()
1356 dev_err(rza1_pctl->dev, "RZ/A1 GPIO registration failed\n"); in rza1_pinctrl_register()
1365 struct rza1_pinctrl *rza1_pctl; in rza1_pinctrl_probe() local
1368 rza1_pctl = devm_kzalloc(&pdev->dev, sizeof(*rza1_pctl), GFP_KERNEL); in rza1_pinctrl_probe()
1369 if (!rza1_pctl) in rza1_pinctrl_probe()
1372 rza1_pctl->dev = &pdev->dev; in rza1_pinctrl_probe()
1374 rza1_pctl->base = devm_platform_ioremap_resource(pdev, 0); in rza1_pinctrl_probe()
1375 if (IS_ERR(rza1_pctl->base)) in rza1_pinctrl_probe()
1376 return PTR_ERR(rza1_pctl->base); in rza1_pinctrl_probe()
1378 mutex_init(&rza1_pctl->mutex); in rza1_pinctrl_probe()
1380 platform_set_drvdata(pdev, rza1_pctl); in rza1_pinctrl_probe()
1382 rza1_pctl->desc.name = DRIVER_NAME; in rza1_pinctrl_probe()
1383 rza1_pctl->desc.pctlops = &rza1_pinctrl_ops; in rza1_pinctrl_probe()
1384 rza1_pctl->desc.pmxops = &rza1_pinmux_ops; in rza1_pinctrl_probe()
1385 rza1_pctl->desc.owner = THIS_MODULE; in rza1_pinctrl_probe()
1386 rza1_pctl->data = of_device_get_match_data(&pdev->dev); in rza1_pinctrl_probe()
1388 ret = rza1_pinctrl_register(rza1_pctl); in rza1_pinctrl_probe()