blob: 9daaec44b726a80efc99f3c5510b47b4efe64dc6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# $NetBSD: files.imx,v 1.3 2023/05/04 13:25:07 bouyer Exp $
#
# Configuration info for the Freescale i.MX6
#
file arch/arm/nxp/imx6_platform.c soc_imx
# SOC parameters
defflag opt_soc.h SOC_IMX
defflag opt_soc.h SOC_IMX6DL: SOC_IMX
defflag opt_soc.h SOC_IMX6Q: SOC_IMX
defflag opt_soc.h SOC_IMX6QDL: SOC_IMX
defflag opt_soc.h SOC_IMX6SX: SOC_IMX
defflag opt_soc.h SOC_IMX7D: SOC_IMX
defflag opt_imx.h IMX6
# Clock
device imx6ccm : clk
attach imx6ccm at fdt
file arch/arm/nxp/imx6_clk.c imx6ccm
device imx6sxccm : clk
attach imx6sxccm at fdt
file arch/arm/nxp/imx6sx_clk.c imx6sxccm
file arch/arm/nxp/imx6_ccm.c imx6ccm | imx6sxccm
# Common FDT clock framework
define imx_ccm: clk
file arch/arm/nxp/imx_ccm.c imx_ccm
file arch/arm/nxp/imx_ccm_composite.c imx_ccm
file arch/arm/nxp/imx_ccm_div.c imx_ccm
file arch/arm/nxp/imx_ccm_extclk.c imx_ccm
file arch/arm/nxp/imx_ccm_fixed.c imx_ccm
file arch/arm/nxp/imx_ccm_fixed_factor.c imx_ccm
file arch/arm/nxp/imx_ccm_gate.c imx_ccm
file arch/arm/nxp/imx_ccm_mux.c imx_ccm
file arch/arm/nxp/imx_ccm_pll.c imx_ccm
# CCM (iMX7D)
device imx7dccm: imx_ccm
attach imx7dccm at fdt with imx7d_ccm
file arch/arm/nxp/imx7d_ccm.c imx7d_ccm
# CCM (iMX8MQ)
device imx8mqccm: imx_ccm
attach imx8mqccm at fdt with imx8mq_ccm
file arch/arm/nxp/imx8mq_ccm.c imx8mq_ccm
# GPC
device imxgpc
attach imxgpc at fdt
file arch/arm/nxp/imx6_gpc.c imxgpc
device imx7gpc
attach imx7gpc at fdt
file arch/arm/nxp/imx7_gpc.c imx7gpc
# IOMUX
device imxiomux
attach imxiomux at fdt
file arch/arm/nxp/imx6_iomux.c imxiomux
# GPIO controller
device imxgpio: gpiobus
attach imxgpio at fdt
file arch/arm/imx/imxgpio.c imxgpio needs-flag
file arch/arm/nxp/imx_gpio.c imxgpio
# UART
device imxuart: tty
attach imxuart at fdt with imx_com
file arch/arm/imx/imxuart.c imxuart needs-flag
file arch/arm/nxp/imx_com.c imx_com needs-flag
defflag opt_imxuart.h IMXUARTCONSOLE
# FEC
device enet: ether, ifnet, arp, mii, bus_dma_generic
attach enet at fdt with enet_fdt
file arch/arm/imx/if_enet.c enet
file arch/arm/nxp/if_enet_imx.c enet_fdt
# SATA
attach ahcisata at fdt with imx_ahcisata
file arch/arm/nxp/imx_ahcisata.c imx_ahcisata
# USB Controller
device imxusbc { [unit=-1], [irq=-1] } : bus_dma_generic
attach imxusbc at fdt with imxusbc_fdt
file arch/arm/nxp/imx6_usb.c imxusbc_fdt
attach ehci at imxusbc with imxehci
file arch/arm/imx/imxusb.c imxehci
# USB PHY
device imxusbphy
attach imxusbphy at fdt
file arch/arm/nxp/imx6_usbphy.c imxusbphy
device imx8mqusbphy
attach imx8mqusbphy at fdt
file arch/arm/nxp/imx8mq_usbphy.c imx8mqusbphy
# SDMMC
attach sdhc at fdt with imx_sdhc
file arch/arm/nxp/imx_sdhc.c imx_sdhc
# PCIe
device imxpcie: pcibus, clk
attach imxpcie at fdt with imxpcie_fdt
file arch/arm/nxp/imxpcie.c imxpcie
file arch/arm/nxp/imx6_pcie.c imxpcie_fdt
# iMX iic controller
device imxi2c: motoi2c, i2cbus, i2cexec
attach imxi2c at fdt
file arch/arm/imx/imxi2c.c imxi2c
file arch/arm/nxp/imx_i2c.c imxi2c
# SPI bus controller
device imxspi: spibus
attach imxspi at fdt with imxspi_fdt
file arch/arm/imx/imxspi.c imxspi
file arch/arm/nxp/imx6_spi.c imxspi_fdt
defparam opt_imxspi.h IMXSPI_DEBUG
# iMX6 On-Chip OTP controller
device imxocotp
attach imxocotp at fdt
file arch/arm/nxp/imx6_ocotp.c imxocotp needs-flag
# iMX6 Enhanced Periodic Interrupt Timer
#device imxclock
#attach imxclock at axi
#file arch/arm/imx/imxclock.c imxclock
#file arch/arm/imx/imx6_clock.c imxclock
# iMX6 Secure Non-Volatile Storage (SNVS)
device imxsnvs
attach imxsnvs at fdt
file arch/arm/imx/imxsnvs.c imxsnvs
file arch/arm/nxp/imx_snvs.c imxsnvs
# Watchdog
device imxwdog: sysmon_wdog
attach imxwdog at fdt
file arch/arm/nxp/imxwdog.c imxwdog
# PWM
device imxpwm: pwm, clk
attach imxpwm at fdt with imxpwm_fdt
file arch/arm/imx/imxpwm.c imxpwm
file arch/arm/nxp/imx6_pwm.c imxpwm_fdt
# HDMI TX (Designware based)
attach dwhdmi at fdt with imx6_dwhdmi
file arch/arm/nxp/imx6_dwhdmi.c imx6_dwhdmi
makeoptions imx6_dwhdmi "CPPFLAGS.imx6_dwhdmi"+="${CPPFLAGS.drmkms}"
|