xref: /rk3399_rockchip-uboot/arch/arm/mach-uniphier/pinctrl-glue.c (revision 4af0d7e8709eafc4d410697dd64d26eeb1a9590f)
15ac9dfbeSMasahiro Yamada /*
25ac9dfbeSMasahiro Yamada  * Copyright (C) 2016 Socionext Inc.
35ac9dfbeSMasahiro Yamada  *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
45ac9dfbeSMasahiro Yamada  *
55ac9dfbeSMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
65ac9dfbeSMasahiro Yamada  */
75ac9dfbeSMasahiro Yamada 
8*4af0d7e8SSimon Glass #include <common.h>
90f4ec05bSMasahiro Yamada #include <linux/errno.h>
109d922450SSimon Glass #include <dm.h>
115ac9dfbeSMasahiro Yamada #include <dm/pinctrl.h>
125ac9dfbeSMasahiro Yamada 
135ac9dfbeSMasahiro Yamada #include "init.h"
145ac9dfbeSMasahiro Yamada 
uniphier_pin_init(const char * pinconfig_name)155ac9dfbeSMasahiro Yamada int uniphier_pin_init(const char *pinconfig_name)
165ac9dfbeSMasahiro Yamada {
175ac9dfbeSMasahiro Yamada 	struct udevice *pctldev, *config, *next;
185ac9dfbeSMasahiro Yamada 	int ret;
195ac9dfbeSMasahiro Yamada 
205ac9dfbeSMasahiro Yamada 	ret = uclass_first_device(UCLASS_PINCTRL, &pctldev);
215ac9dfbeSMasahiro Yamada 	if (ret)
225ac9dfbeSMasahiro Yamada 		return ret;
235ac9dfbeSMasahiro Yamada 
245ac9dfbeSMasahiro Yamada 	device_foreach_child_safe(config, next, pctldev) {
255ac9dfbeSMasahiro Yamada 		if (strcmp(config->name, pinconfig_name))
265ac9dfbeSMasahiro Yamada 			continue;
275ac9dfbeSMasahiro Yamada 
285ac9dfbeSMasahiro Yamada 		return pinctrl_generic_set_state(pctldev, config);
295ac9dfbeSMasahiro Yamada 	}
305ac9dfbeSMasahiro Yamada 
315ac9dfbeSMasahiro Yamada 	return -ENODEV;
325ac9dfbeSMasahiro Yamada }
33