Deleted Added
full compact
imx_machdep.h (259354) imx_machdep.h (266198)
1/*-
2 * Copyright (c) 2013 Ian Lepore <ian@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2013 Ian Lepore <ian@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: stable/10/sys/arm/freescale/imx/imx_machdep.h 259354 2013-12-13 22:30:21Z ian $
26 * $FreeBSD: stable/10/sys/arm/freescale/imx/imx_machdep.h 266198 2014-05-15 22:03:24Z ian $
27 */
28
29#ifndef IMX_MACHDEP_H
30#define IMX_MACHDEP_H
31
32#include <sys/types.h>
33
34/* Common functions, implemented in imx_machdep.c. */
35
27 */
28
29#ifndef IMX_MACHDEP_H
30#define IMX_MACHDEP_H
31
32#include <sys/types.h>
33
34/* Common functions, implemented in imx_machdep.c. */
35
36void imx_devmap_addentry(vm_paddr_t _pa, vm_size_t _sz);
37void imx_wdog_cpu_reset(vm_offset_t _wdcr_phys) __attribute__((__noreturn__));
38
39/* From here down, routines are implemented in imxNN_machdep.c. */
40
41/*
42 * SoC identity.
43 * According to the documentation, there is such a thing as an i.MX6 Dual
44 * (non-lite flavor). However, Freescale doesn't seem to have assigned it a

--- 7 unchanged lines hidden (view full) ---

52#define IMXSOC_6DL 0x61000000
53#define IMXSOC_6S 0x62000000
54#define IMXSOC_6Q 0x63000000
55#define IMXSOC_FAMSHIFT 28
56
57u_int imx_soc_type(void);
58u_int imx_soc_family(void);
59
36void imx_wdog_cpu_reset(vm_offset_t _wdcr_phys) __attribute__((__noreturn__));
37
38/* From here down, routines are implemented in imxNN_machdep.c. */
39
40/*
41 * SoC identity.
42 * According to the documentation, there is such a thing as an i.MX6 Dual
43 * (non-lite flavor). However, Freescale doesn't seem to have assigned it a

--- 7 unchanged lines hidden (view full) ---

51#define IMXSOC_6DL 0x61000000
52#define IMXSOC_6S 0x62000000
53#define IMXSOC_6Q 0x63000000
54#define IMXSOC_FAMSHIFT 28
55
56u_int imx_soc_type(void);
57u_int imx_soc_family(void);
58
60void imx_devmap_init(void);
61
62/*
63 * We need a clock management system that works across unrelated SoCs and
64 * devices. For now, to keep imx development moving, define some barebones
65 * functionality that can be shared within the imx family by having each SoC
66 * implement functions with a common name.
67 *
68 * The usb enable functions are best-effort. They turn on the usb otg, host,
69 * and phy clocks in a SoC-specific manner, but it may take a lot more than that
70 * to make usb work on a given board. In particular, it can require specific
71 * pinmux setup of gpio pins connected to external phy parts, voltage regulators
72 * and overcurrent detectors, and so on. On such boards, u-boot or other early
73 * board setup code has to handle those things.
74 */
75void imx_ccm_usb_enable(device_t _usbdev);
76void imx_ccm_usbphy_enable(device_t _phydev);
77
78#endif
79
59/*
60 * We need a clock management system that works across unrelated SoCs and
61 * devices. For now, to keep imx development moving, define some barebones
62 * functionality that can be shared within the imx family by having each SoC
63 * implement functions with a common name.
64 *
65 * The usb enable functions are best-effort. They turn on the usb otg, host,
66 * and phy clocks in a SoC-specific manner, but it may take a lot more than that
67 * to make usb work on a given board. In particular, it can require specific
68 * pinmux setup of gpio pins connected to external phy parts, voltage regulators
69 * and overcurrent detectors, and so on. On such boards, u-boot or other early
70 * board setup code has to handle those things.
71 */
72void imx_ccm_usb_enable(device_t _usbdev);
73void imx_ccm_usbphy_enable(device_t _phydev);
74
75#endif
76