1271546Sian#-
2271546Sian# Copyright (c) 2014 Ian Lepore
3271546Sian# All rights reserved.
4271546Sian#
5271546Sian# Redistribution and use in source and binary forms, with or without
6271546Sian# modification, are permitted provided that the following conditions
7271546Sian# are met:
8271546Sian# 1. Redistributions of source code must retain the above copyright
9271546Sian#    notice, this list of conditions and the following disclaimer.
10271546Sian# 2. Redistributions in binary form must reproduce the above copyright
11271546Sian#    notice, this list of conditions and the following disclaimer in the
12271546Sian#    documentation and/or other materials provided with the distribution.
13271546Sian#
14271546Sian# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15271546Sian# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16271546Sian# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17271546Sian# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18271546Sian# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19271546Sian# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20271546Sian# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21271546Sian# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22271546Sian# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23271546Sian# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24271546Sian# SUCH DAMAGE.
25271546Sian#
26271546Sian# $FreeBSD: releng/10.2/sys/dev/fdt/fdt_pinctrl_if.m 273669 2014-10-26 03:41:27Z ian $
27271546Sian#
28271546Sian
29271546Sian#include <sys/types.h>
30271546Sian#include <dev/ofw/openfirm.h>
31271546Sian
32271546Sian#
33271546Sian# This is the interface that fdt_pinctrl drivers provide to other drivers.
34271546Sian#
35271546Sian
36271546SianINTERFACE fdt_pinctrl;
37271546Sian
38271546Sian#
39271546Sian# Set pins to the specified configuration.  The cfgxref arg is an xref phandle
40271546Sian# to a descendent node (child, grandchild, ...) of the pinctrl device node.
41271546Sian# Returns 0 on success or a standard errno value.
42271546Sian#
43271546SianMETHOD int configure {
44271546Sian	device_t	pinctrl;
45271546Sian	phandle_t	cfgxref;
46271546Sian};
47271546Sian
48