From 59ce99a357d7e283b2f463d3e22189e88b2ed412 Mon Sep 17 00:00:00 2001 From: Vijay Kumar Banerjee Date: Sun, 4 Aug 2019 01:49:39 +0530 Subject: Pinmux: Port to RTEMS --- rtemsbsd/include/bsp/nexus-devices.h | 1 + .../include/machine/rtems-bsd-kernel-namespace.h | 9 +++++ rtemsbsd/include/rtems/bsd/local/fdt_pinctrl_if.h | 40 ++++++++++++++++++++++ 3 files changed, 50 insertions(+) (limited to 'rtemsbsd/include') diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h index 97f6d2b2..7c6ff380 100644 --- a/rtemsbsd/include/bsp/nexus-devices.h +++ b/rtemsbsd/include/bsp/nexus-devices.h @@ -54,6 +54,7 @@ RTEMS_BSD_DRIVER_SMC0(0x4e000000, RVPBXA9_IRQ_ETHERNET); RTEMS_BSD_DEFINE_NEXUS_DEVICE(ofwbus, 0, 0, NULL); SYSINIT_DRIVER_REFERENCE(simplebus, ofwbus); SYSINIT_DRIVER_REFERENCE(ti_scm, simplebus); +SYSINIT_DRIVER_REFERENCE(ti_pinmux, simplebus); SYSINIT_DRIVER_REFERENCE(am335x_prcm, simplebus); SYSINIT_DRIVER_REFERENCE(usbss, simplebus); SYSINIT_DRIVER_REFERENCE(musbotg, usbss); diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h index 235c9886..e7bc6d6e 100644 --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h @@ -1226,6 +1226,10 @@ #define fdt_immr_va _bsd_fdt_immr_va #define fdt_is_compatible_strict _bsd_fdt_is_compatible_strict #define fdt_parent_addr_cells _bsd_fdt_parent_addr_cells +#define fdt_pinctrl_configure _bsd_fdt_pinctrl_configure +#define fdt_pinctrl_configure_by_name _bsd_fdt_pinctrl_configure_by_name +#define fdt_pinctrl_configure_tree _bsd_fdt_pinctrl_configure_tree +#define fdt_pinctrl_register _bsd_fdt_pinctrl_register #define fdt_regsize _bsd_fdt_regsize #define fib4_free_nh_ext _bsd_fib4_free_nh_ext #define fib4_lookup_nh_basic _bsd_fib4_lookup_nh_basic @@ -4965,6 +4969,7 @@ #define t_functions _bsd_t_functions #define t_functions_inited _bsd_t_functions_inited #define ti_am335x_clk_devmap _bsd_ti_am335x_clk_devmap +#define ti_am335x_pinmux_dev _bsd_ti_am335x_pinmux_dev #define tick _bsd_tick #define ticket_altqs_active _bsd_ticket_altqs_active #define ticket_altqs_inactive _bsd_ticket_altqs_inactive @@ -4979,6 +4984,10 @@ #define _timeout_task_init _bsd__timeout_task_init #define timevaladd _bsd_timevaladd #define timevalsub _bsd_timevalsub +#define ti_pinmux_padconf_get _bsd_ti_pinmux_padconf_get +#define ti_pinmux_padconf_get_gpiomode _bsd_ti_pinmux_padconf_get_gpiomode +#define ti_pinmux_padconf_set _bsd_ti_pinmux_padconf_set +#define ti_pinmux_padconf_set_gpiomode _bsd_ti_pinmux_padconf_set_gpiomode #define ti_prcm_clk_disable _bsd_ti_prcm_clk_disable #define ti_prcm_clk_enable _bsd_ti_prcm_clk_enable #define ti_prcm_clk_get_source_freq _bsd_ti_prcm_clk_get_source_freq diff --git a/rtemsbsd/include/rtems/bsd/local/fdt_pinctrl_if.h b/rtemsbsd/include/rtems/bsd/local/fdt_pinctrl_if.h index e69de29b..6343de41 100644 --- a/rtemsbsd/include/rtems/bsd/local/fdt_pinctrl_if.h +++ b/rtemsbsd/include/rtems/bsd/local/fdt_pinctrl_if.h @@ -0,0 +1,40 @@ +/* + * This file is produced automatically. + * Do not modify anything in here by hand. + * + * Created from source file + * freebsd-org/sys/dev/fdt/fdt_pinctrl_if.m + * with + * makeobjops.awk + * + * See the source file for legal information + */ + + +#ifndef _fdt_pinctrl_if_h_ +#define _fdt_pinctrl_if_h_ + + +#include + +/** @brief Unique descriptor for the FDT_PINCTRL_CONFIGURE() method */ +extern struct kobjop_desc fdt_pinctrl_configure_desc; +/** @brief A function implementing the FDT_PINCTRL_CONFIGURE() method */ +typedef int fdt_pinctrl_configure_t(device_t pinctrl, phandle_t cfgxref); + +static __inline int FDT_PINCTRL_CONFIGURE(device_t pinctrl, phandle_t cfgxref) +{ + kobjop_t _m; + int rc; + +TSENTER2(device_get_name(pinctrl)); + + KOBJOPLOOKUP(((kobj_t)pinctrl)->ops,fdt_pinctrl_configure); + rc = ((fdt_pinctrl_configure_t *) _m)(pinctrl, cfgxref); + +TSEXIT2(device_get_name(pinctrl)); + + return (rc); +} + +#endif /* _fdt_pinctrl_if_h_ */ -- cgit v1.2.3