Commit bafcf2db4176940953a96339025d7b06e96cb22e
Committed by
Philipp Tomsich
1 parent
ad98f882e8
Exists in
smarc_8mq_lf_v2020.04
and in
17 other branches
rockchip: Add basic support for phyCORE-RK3288 SoM based carrier board
The phyCORE-RK3288 is a SoM (System on Module) containing a RK3288 SoC. The module can be connected to different carrier boards. It can be also equipped with different RAM, SPI flash and eMMC variants. The Rapid Development Kit option is using the following setup: - 1 GB DDR3 RAM (2 Banks) - 1x 4 KB EEPROM - DP83867 Gigabit Ethernet PHY - 16 MB SPI Flash - 4 GB eMMC Flash Add basic support for the PCM-947 carrier board, a RK3288 based development board made by PHYTEC. This board works in a combination with the phyCORE-RK3288 System on Module. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Showing 11 changed files with 981 additions and 0 deletions Inline Diff
- arch/arm/dts/Makefile
- arch/arm/dts/rk3288-phycore-rdk.dts
- arch/arm/dts/rk3288-phycore-som.dtsi
- arch/arm/mach-rockchip/rk3288-board-spl.c
- arch/arm/mach-rockchip/rk3288/Kconfig
- board/phytec/phycore_rk3288/Kconfig
- board/phytec/phycore_rk3288/MAINTAINERS
- board/phytec/phycore_rk3288/Makefile
- board/phytec/phycore_rk3288/phycore-rk3288.c
- configs/phycore-rk3288_defconfig
- include/configs/phycore_rk3288.h
arch/arm/dts/Makefile
1 | # | 1 | # |
2 | # SPDX-License-Identifier: GPL-2.0+ | 2 | # SPDX-License-Identifier: GPL-2.0+ |
3 | # | 3 | # |
4 | 4 | ||
5 | dtb-$(CONFIG_AT91FAMILY) += at91sam9260-smartweb.dtb \ | 5 | dtb-$(CONFIG_AT91FAMILY) += at91sam9260-smartweb.dtb \ |
6 | at91sam9g20-taurus.dtb \ | 6 | at91sam9g20-taurus.dtb \ |
7 | at91sam9g45-corvus.dtb \ | 7 | at91sam9g45-corvus.dtb \ |
8 | at91sam9g45-gurnard.dtb | 8 | at91sam9g45-gurnard.dtb |
9 | 9 | ||
10 | dtb-$(CONFIG_S5PC100) += s5pc1xx-smdkc100.dtb | 10 | dtb-$(CONFIG_S5PC100) += s5pc1xx-smdkc100.dtb |
11 | dtb-$(CONFIG_S5PC110) += s5pc1xx-goni.dtb | 11 | dtb-$(CONFIG_S5PC110) += s5pc1xx-goni.dtb |
12 | dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \ | 12 | dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \ |
13 | exynos4210-smdkv310.dtb \ | 13 | exynos4210-smdkv310.dtb \ |
14 | exynos4210-universal_c210.dtb \ | 14 | exynos4210-universal_c210.dtb \ |
15 | exynos4210-trats.dtb \ | 15 | exynos4210-trats.dtb \ |
16 | exynos4412-trats2.dtb \ | 16 | exynos4412-trats2.dtb \ |
17 | exynos4412-odroid.dtb | 17 | exynos4412-odroid.dtb |
18 | 18 | ||
19 | dtb-$(CONFIG_TARGET_HIKEY) += hi6220-hikey.dtb | 19 | dtb-$(CONFIG_TARGET_HIKEY) += hi6220-hikey.dtb |
20 | 20 | ||
21 | dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ | 21 | dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ |
22 | exynos5250-snow.dtb \ | 22 | exynos5250-snow.dtb \ |
23 | exynos5250-spring.dtb \ | 23 | exynos5250-spring.dtb \ |
24 | exynos5250-smdk5250.dtb \ | 24 | exynos5250-smdk5250.dtb \ |
25 | exynos5420-smdk5420.dtb \ | 25 | exynos5420-smdk5420.dtb \ |
26 | exynos5420-peach-pit.dtb \ | 26 | exynos5420-peach-pit.dtb \ |
27 | exynos5800-peach-pi.dtb \ | 27 | exynos5800-peach-pi.dtb \ |
28 | exynos5422-odroidxu3.dtb | 28 | exynos5422-odroidxu3.dtb |
29 | dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb | 29 | dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb |
30 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ | 30 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ |
31 | rk3036-sdk.dtb \ | 31 | rk3036-sdk.dtb \ |
32 | rk3188-radxarock.dtb \ | 32 | rk3188-radxarock.dtb \ |
33 | rk3288-evb.dtb \ | 33 | rk3288-evb.dtb \ |
34 | rk3288-fennec.dtb \ | 34 | rk3288-fennec.dtb \ |
35 | rk3288-firefly.dtb \ | 35 | rk3288-firefly.dtb \ |
36 | rk3288-miqi.dtb \ | 36 | rk3288-miqi.dtb \ |
37 | rk3288-phycore-rdk.dtb \ | ||
37 | rk3288-popmetal.dtb \ | 38 | rk3288-popmetal.dtb \ |
38 | rk3288-rock2-square.dtb \ | 39 | rk3288-rock2-square.dtb \ |
39 | rk3288-tinker.dtb \ | 40 | rk3288-tinker.dtb \ |
40 | rk3288-veyron-jerry.dtb \ | 41 | rk3288-veyron-jerry.dtb \ |
41 | rk3288-veyron-mickey.dtb \ | 42 | rk3288-veyron-mickey.dtb \ |
42 | rk3288-veyron-minnie.dtb \ | 43 | rk3288-veyron-minnie.dtb \ |
43 | rk3328-evb.dtb \ | 44 | rk3328-evb.dtb \ |
44 | rk3368-sheep.dtb \ | 45 | rk3368-sheep.dtb \ |
45 | rk3368-geekbox.dtb \ | 46 | rk3368-geekbox.dtb \ |
46 | rk3368-px5-evb.dtb \ | 47 | rk3368-px5-evb.dtb \ |
47 | rk3399-evb.dtb \ | 48 | rk3399-evb.dtb \ |
48 | rk3399-firefly.dtb \ | 49 | rk3399-firefly.dtb \ |
49 | rk3399-puma-ddr1333.dtb \ | 50 | rk3399-puma-ddr1333.dtb \ |
50 | rk3399-puma-ddr1600.dtb \ | 51 | rk3399-puma-ddr1600.dtb \ |
51 | rk3399-puma-ddr1866.dtb \ | 52 | rk3399-puma-ddr1866.dtb \ |
52 | rv1108-evb.dtb | 53 | rv1108-evb.dtb |
53 | dtb-$(CONFIG_ARCH_MESON) += \ | 54 | dtb-$(CONFIG_ARCH_MESON) += \ |
54 | meson-gxbb-odroidc2.dtb | 55 | meson-gxbb-odroidc2.dtb |
55 | dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ | 56 | dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ |
56 | tegra20-medcom-wide.dtb \ | 57 | tegra20-medcom-wide.dtb \ |
57 | tegra20-paz00.dtb \ | 58 | tegra20-paz00.dtb \ |
58 | tegra20-plutux.dtb \ | 59 | tegra20-plutux.dtb \ |
59 | tegra20-seaboard.dtb \ | 60 | tegra20-seaboard.dtb \ |
60 | tegra20-tec.dtb \ | 61 | tegra20-tec.dtb \ |
61 | tegra20-trimslice.dtb \ | 62 | tegra20-trimslice.dtb \ |
62 | tegra20-ventana.dtb \ | 63 | tegra20-ventana.dtb \ |
63 | tegra20-colibri.dtb \ | 64 | tegra20-colibri.dtb \ |
64 | tegra30-apalis.dtb \ | 65 | tegra30-apalis.dtb \ |
65 | tegra30-beaver.dtb \ | 66 | tegra30-beaver.dtb \ |
66 | tegra30-cardhu.dtb \ | 67 | tegra30-cardhu.dtb \ |
67 | tegra30-colibri.dtb \ | 68 | tegra30-colibri.dtb \ |
68 | tegra30-tec-ng.dtb \ | 69 | tegra30-tec-ng.dtb \ |
69 | tegra114-dalmore.dtb \ | 70 | tegra114-dalmore.dtb \ |
70 | tegra124-apalis.dtb \ | 71 | tegra124-apalis.dtb \ |
71 | tegra124-jetson-tk1.dtb \ | 72 | tegra124-jetson-tk1.dtb \ |
72 | tegra124-nyan-big.dtb \ | 73 | tegra124-nyan-big.dtb \ |
73 | tegra124-cei-tk1-som.dtb \ | 74 | tegra124-cei-tk1-som.dtb \ |
74 | tegra124-venice2.dtb \ | 75 | tegra124-venice2.dtb \ |
75 | tegra186-p2771-0000-000.dtb \ | 76 | tegra186-p2771-0000-000.dtb \ |
76 | tegra186-p2771-0000-500.dtb \ | 77 | tegra186-p2771-0000-500.dtb \ |
77 | tegra210-e2220-1170.dtb \ | 78 | tegra210-e2220-1170.dtb \ |
78 | tegra210-p2371-0000.dtb \ | 79 | tegra210-p2371-0000.dtb \ |
79 | tegra210-p2371-2180.dtb \ | 80 | tegra210-p2371-2180.dtb \ |
80 | tegra210-p2571.dtb | 81 | tegra210-p2571.dtb |
81 | 82 | ||
82 | dtb-$(CONFIG_ARCH_MVEBU) += \ | 83 | dtb-$(CONFIG_ARCH_MVEBU) += \ |
83 | armada-3720-db.dtb \ | 84 | armada-3720-db.dtb \ |
84 | armada-3720-espressobin.dtb \ | 85 | armada-3720-espressobin.dtb \ |
85 | armada-375-db.dtb \ | 86 | armada-375-db.dtb \ |
86 | armada-388-clearfog.dtb \ | 87 | armada-388-clearfog.dtb \ |
87 | armada-388-gp.dtb \ | 88 | armada-388-gp.dtb \ |
88 | armada-385-amc.dtb \ | 89 | armada-385-amc.dtb \ |
89 | armada-7040-db.dtb \ | 90 | armada-7040-db.dtb \ |
90 | armada-7040-db-nand.dtb \ | 91 | armada-7040-db-nand.dtb \ |
91 | armada-8040-db.dtb \ | 92 | armada-8040-db.dtb \ |
92 | armada-8040-mcbin.dtb \ | 93 | armada-8040-mcbin.dtb \ |
93 | armada-xp-gp.dtb \ | 94 | armada-xp-gp.dtb \ |
94 | armada-xp-maxbcm.dtb \ | 95 | armada-xp-maxbcm.dtb \ |
95 | armada-xp-synology-ds414.dtb \ | 96 | armada-xp-synology-ds414.dtb \ |
96 | armada-xp-theadorable.dtb \ | 97 | armada-xp-theadorable.dtb \ |
97 | armada-38x-controlcenterdc.dtb | 98 | armada-38x-controlcenterdc.dtb |
98 | 99 | ||
99 | dtb-$(CONFIG_ARCH_UNIPHIER_LD11) += \ | 100 | dtb-$(CONFIG_ARCH_UNIPHIER_LD11) += \ |
100 | uniphier-ld11-global.dtb \ | 101 | uniphier-ld11-global.dtb \ |
101 | uniphier-ld11-ref.dtb | 102 | uniphier-ld11-ref.dtb |
102 | dtb-$(CONFIG_ARCH_UNIPHIER_LD20) += \ | 103 | dtb-$(CONFIG_ARCH_UNIPHIER_LD20) += \ |
103 | uniphier-ld20-global.dtb \ | 104 | uniphier-ld20-global.dtb \ |
104 | uniphier-ld20-ref.dtb | 105 | uniphier-ld20-ref.dtb |
105 | dtb-$(CONFIG_ARCH_UNIPHIER_LD4) += \ | 106 | dtb-$(CONFIG_ARCH_UNIPHIER_LD4) += \ |
106 | uniphier-ld4-ref.dtb | 107 | uniphier-ld4-ref.dtb |
107 | dtb-$(CONFIG_ARCH_UNIPHIER_LD6B) += \ | 108 | dtb-$(CONFIG_ARCH_UNIPHIER_LD6B) += \ |
108 | uniphier-ld6b-ref.dtb | 109 | uniphier-ld6b-ref.dtb |
109 | dtb-$(CONFIG_ARCH_UNIPHIER_PRO4) += \ | 110 | dtb-$(CONFIG_ARCH_UNIPHIER_PRO4) += \ |
110 | uniphier-pro4-ace.dtb \ | 111 | uniphier-pro4-ace.dtb \ |
111 | uniphier-pro4-ref.dtb \ | 112 | uniphier-pro4-ref.dtb \ |
112 | uniphier-pro4-sanji.dtb | 113 | uniphier-pro4-sanji.dtb |
113 | dtb-$(CONFIG_ARCH_UNIPHIER_PRO5) += \ | 114 | dtb-$(CONFIG_ARCH_UNIPHIER_PRO5) += \ |
114 | uniphier-pro5-4kbox.dtb | 115 | uniphier-pro5-4kbox.dtb |
115 | dtb-$(CONFIG_ARCH_UNIPHIER_PXS2) += \ | 116 | dtb-$(CONFIG_ARCH_UNIPHIER_PXS2) += \ |
116 | uniphier-pxs2-gentil.dtb \ | 117 | uniphier-pxs2-gentil.dtb \ |
117 | uniphier-pxs2-vodka.dtb | 118 | uniphier-pxs2-vodka.dtb |
118 | dtb-$(CONFIG_ARCH_UNIPHIER_PXS3) += \ | 119 | dtb-$(CONFIG_ARCH_UNIPHIER_PXS3) += \ |
119 | uniphier-pxs3-ref.dtb | 120 | uniphier-pxs3-ref.dtb |
120 | dtb-$(CONFIG_ARCH_UNIPHIER_SLD3) += \ | 121 | dtb-$(CONFIG_ARCH_UNIPHIER_SLD3) += \ |
121 | uniphier-sld3-ref.dtb | 122 | uniphier-sld3-ref.dtb |
122 | dtb-$(CONFIG_ARCH_UNIPHIER_SLD8) += \ | 123 | dtb-$(CONFIG_ARCH_UNIPHIER_SLD8) += \ |
123 | uniphier-sld8-ref.dtb | 124 | uniphier-sld8-ref.dtb |
124 | 125 | ||
125 | dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ | 126 | dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ |
126 | zynq-zc706.dtb \ | 127 | zynq-zc706.dtb \ |
127 | zynq-zed.dtb \ | 128 | zynq-zed.dtb \ |
128 | zynq-zybo.dtb \ | 129 | zynq-zybo.dtb \ |
129 | zynq-microzed.dtb \ | 130 | zynq-microzed.dtb \ |
130 | zynq-picozed.dtb \ | 131 | zynq-picozed.dtb \ |
131 | zynq-topic-miami.dtb \ | 132 | zynq-topic-miami.dtb \ |
132 | zynq-topic-miamilite.dtb \ | 133 | zynq-topic-miamilite.dtb \ |
133 | zynq-topic-miamiplus.dtb \ | 134 | zynq-topic-miamiplus.dtb \ |
134 | zynq-zc770-xm010.dtb \ | 135 | zynq-zc770-xm010.dtb \ |
135 | zynq-zc770-xm011.dtb \ | 136 | zynq-zc770-xm011.dtb \ |
136 | zynq-zc770-xm012.dtb \ | 137 | zynq-zc770-xm012.dtb \ |
137 | zynq-zc770-xm013.dtb | 138 | zynq-zc770-xm013.dtb |
138 | dtb-$(CONFIG_ARCH_ZYNQMP) += \ | 139 | dtb-$(CONFIG_ARCH_ZYNQMP) += \ |
139 | zynqmp-ep108.dtb \ | 140 | zynqmp-ep108.dtb \ |
140 | zynqmp-zcu102.dtb \ | 141 | zynqmp-zcu102.dtb \ |
141 | zynqmp-zcu102-revB.dtb \ | 142 | zynqmp-zcu102-revB.dtb \ |
142 | zynqmp-zc1751-xm015-dc1.dtb \ | 143 | zynqmp-zc1751-xm015-dc1.dtb \ |
143 | zynqmp-zc1751-xm016-dc2.dtb \ | 144 | zynqmp-zc1751-xm016-dc2.dtb \ |
144 | zynqmp-zc1751-xm018-dc4.dtb \ | 145 | zynqmp-zc1751-xm018-dc4.dtb \ |
145 | zynqmp-zc1751-xm019-dc5.dtb | 146 | zynqmp-zc1751-xm019-dc5.dtb |
146 | dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-bone.dtb \ | 147 | dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-bone.dtb \ |
147 | am335x-draco.dtb \ | 148 | am335x-draco.dtb \ |
148 | am335x-evm.dtb \ | 149 | am335x-evm.dtb \ |
149 | am335x-evmsk.dtb \ | 150 | am335x-evmsk.dtb \ |
150 | am335x-bonegreen.dtb \ | 151 | am335x-bonegreen.dtb \ |
151 | am335x-icev2.dtb \ | 152 | am335x-icev2.dtb \ |
152 | am335x-pxm50.dtb \ | 153 | am335x-pxm50.dtb \ |
153 | am335x-rut.dtb | 154 | am335x-rut.dtb |
154 | dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb \ | 155 | dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb \ |
155 | am43x-epos-evm.dtb \ | 156 | am43x-epos-evm.dtb \ |
156 | am437x-idk-evm.dtb | 157 | am437x-idk-evm.dtb |
157 | dtb-$(CONFIG_TI816X) += dm8168-evm.dtb | 158 | dtb-$(CONFIG_TI816X) += dm8168-evm.dtb |
158 | dtb-$(CONFIG_THUNDERX) += thunderx-88xx.dtb | 159 | dtb-$(CONFIG_THUNDERX) += thunderx-88xx.dtb |
159 | 160 | ||
160 | dtb-$(CONFIG_ARCH_SOCFPGA) += \ | 161 | dtb-$(CONFIG_ARCH_SOCFPGA) += \ |
161 | socfpga_arria10_socdk_sdmmc.dtb \ | 162 | socfpga_arria10_socdk_sdmmc.dtb \ |
162 | socfpga_arria5_socdk.dtb \ | 163 | socfpga_arria5_socdk.dtb \ |
163 | socfpga_cyclone5_is1.dtb \ | 164 | socfpga_cyclone5_is1.dtb \ |
164 | socfpga_cyclone5_mcvevk.dtb \ | 165 | socfpga_cyclone5_mcvevk.dtb \ |
165 | socfpga_cyclone5_socdk.dtb \ | 166 | socfpga_cyclone5_socdk.dtb \ |
166 | socfpga_cyclone5_de0_nano_soc.dtb \ | 167 | socfpga_cyclone5_de0_nano_soc.dtb \ |
167 | socfpga_cyclone5_de1_soc.dtb \ | 168 | socfpga_cyclone5_de1_soc.dtb \ |
168 | socfpga_cyclone5_de10_nano.dtb \ | 169 | socfpga_cyclone5_de10_nano.dtb \ |
169 | socfpga_cyclone5_sockit.dtb \ | 170 | socfpga_cyclone5_sockit.dtb \ |
170 | socfpga_cyclone5_socrates.dtb \ | 171 | socfpga_cyclone5_socrates.dtb \ |
171 | socfpga_cyclone5_sr1500.dtb \ | 172 | socfpga_cyclone5_sr1500.dtb \ |
172 | socfpga_cyclone5_vining_fpga.dtb | 173 | socfpga_cyclone5_vining_fpga.dtb |
173 | 174 | ||
174 | dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ | 175 | dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ |
175 | dra72-evm-revc.dtb dra71-evm.dtb | 176 | dra72-evm-revc.dtb dra71-evm.dtb |
176 | dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ | 177 | dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ |
177 | am57xx-beagle-x15-revb1.dtb \ | 178 | am57xx-beagle-x15-revb1.dtb \ |
178 | am572x-idk.dtb \ | 179 | am572x-idk.dtb \ |
179 | am571x-idk.dtb | 180 | am571x-idk.dtb |
180 | dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb | 181 | dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb |
181 | 182 | ||
182 | dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \ | 183 | dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \ |
183 | ls1021a-qds-lpuart.dtb \ | 184 | ls1021a-qds-lpuart.dtb \ |
184 | ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb \ | 185 | ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb \ |
185 | ls1021a-iot-duart.dtb | 186 | ls1021a-iot-duart.dtb |
186 | dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \ | 187 | dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \ |
187 | fsl-ls2080a-rdb.dtb \ | 188 | fsl-ls2080a-rdb.dtb \ |
188 | fsl-ls2081a-rdb.dtb \ | 189 | fsl-ls2081a-rdb.dtb \ |
189 | fsl-ls2088a-rdb-qspi.dtb | 190 | fsl-ls2088a-rdb-qspi.dtb |
190 | dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \ | 191 | dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \ |
191 | fsl-ls1043a-qds-lpuart.dtb \ | 192 | fsl-ls1043a-qds-lpuart.dtb \ |
192 | fsl-ls1043a-rdb.dtb \ | 193 | fsl-ls1043a-rdb.dtb \ |
193 | fsl-ls1046a-qds-duart.dtb \ | 194 | fsl-ls1046a-qds-duart.dtb \ |
194 | fsl-ls1046a-qds-lpuart.dtb \ | 195 | fsl-ls1046a-qds-lpuart.dtb \ |
195 | fsl-ls1046a-rdb.dtb \ | 196 | fsl-ls1046a-rdb.dtb \ |
196 | fsl-ls1012a-qds.dtb \ | 197 | fsl-ls1012a-qds.dtb \ |
197 | fsl-ls1012a-rdb.dtb \ | 198 | fsl-ls1012a-rdb.dtb \ |
198 | fsl-ls1012a-frdm.dtb | 199 | fsl-ls1012a-frdm.dtb |
199 | 200 | ||
200 | dtb-$(CONFIG_ARCH_SNAPDRAGON) += dragonboard410c.dtb | 201 | dtb-$(CONFIG_ARCH_SNAPDRAGON) += dragonboard410c.dtb |
201 | 202 | ||
202 | dtb-$(CONFIG_STM32F7) += stm32f746-disco.dtb \ | 203 | dtb-$(CONFIG_STM32F7) += stm32f746-disco.dtb \ |
203 | stm32f769-disco.dtb | 204 | stm32f769-disco.dtb |
204 | 205 | ||
205 | dtb-$(CONFIG_MACH_SUN4I) += \ | 206 | dtb-$(CONFIG_MACH_SUN4I) += \ |
206 | sun4i-a10-a1000.dtb \ | 207 | sun4i-a10-a1000.dtb \ |
207 | sun4i-a10-ba10-tvbox.dtb \ | 208 | sun4i-a10-ba10-tvbox.dtb \ |
208 | sun4i-a10-chuwi-v7-cw0825.dtb \ | 209 | sun4i-a10-chuwi-v7-cw0825.dtb \ |
209 | sun4i-a10-cubieboard.dtb \ | 210 | sun4i-a10-cubieboard.dtb \ |
210 | sun4i-a10-dserve-dsrv9703c.dtb \ | 211 | sun4i-a10-dserve-dsrv9703c.dtb \ |
211 | sun4i-a10-gemei-g9.dtb \ | 212 | sun4i-a10-gemei-g9.dtb \ |
212 | sun4i-a10-hackberry.dtb \ | 213 | sun4i-a10-hackberry.dtb \ |
213 | sun4i-a10-hyundai-a7hd.dtb \ | 214 | sun4i-a10-hyundai-a7hd.dtb \ |
214 | sun4i-a10-inet1.dtb \ | 215 | sun4i-a10-inet1.dtb \ |
215 | sun4i-a10-inet-3f.dtb \ | 216 | sun4i-a10-inet-3f.dtb \ |
216 | sun4i-a10-inet-3w.dtb \ | 217 | sun4i-a10-inet-3w.dtb \ |
217 | sun4i-a10-inet97fv2.dtb \ | 218 | sun4i-a10-inet97fv2.dtb \ |
218 | sun4i-a10-inet9f-rev03.dtb \ | 219 | sun4i-a10-inet9f-rev03.dtb \ |
219 | sun4i-a10-itead-iteaduino-plus.dtb \ | 220 | sun4i-a10-itead-iteaduino-plus.dtb \ |
220 | sun4i-a10-jesurun-q5.dtb \ | 221 | sun4i-a10-jesurun-q5.dtb \ |
221 | sun4i-a10-marsboard.dtb \ | 222 | sun4i-a10-marsboard.dtb \ |
222 | sun4i-a10-mini-xplus.dtb \ | 223 | sun4i-a10-mini-xplus.dtb \ |
223 | sun4i-a10-mk802.dtb \ | 224 | sun4i-a10-mk802.dtb \ |
224 | sun4i-a10-mk802ii.dtb \ | 225 | sun4i-a10-mk802ii.dtb \ |
225 | sun4i-a10-olinuxino-lime.dtb \ | 226 | sun4i-a10-olinuxino-lime.dtb \ |
226 | sun4i-a10-pcduino.dtb \ | 227 | sun4i-a10-pcduino.dtb \ |
227 | sun4i-a10-pcduino2.dtb \ | 228 | sun4i-a10-pcduino2.dtb \ |
228 | sun4i-a10-pov-protab2-ips9.dtb | 229 | sun4i-a10-pov-protab2-ips9.dtb |
229 | dtb-$(CONFIG_MACH_SUN5I) += \ | 230 | dtb-$(CONFIG_MACH_SUN5I) += \ |
230 | sun5i-a10s-auxtek-t003.dtb \ | 231 | sun5i-a10s-auxtek-t003.dtb \ |
231 | sun5i-a10s-auxtek-t004.dtb \ | 232 | sun5i-a10s-auxtek-t004.dtb \ |
232 | sun5i-a10s-mk802.dtb \ | 233 | sun5i-a10s-mk802.dtb \ |
233 | sun5i-a10s-olinuxino-micro.dtb \ | 234 | sun5i-a10s-olinuxino-micro.dtb \ |
234 | sun5i-a10s-r7-tv-dongle.dtb \ | 235 | sun5i-a10s-r7-tv-dongle.dtb \ |
235 | sun5i-a10s-wobo-i5.dtb \ | 236 | sun5i-a10s-wobo-i5.dtb \ |
236 | sun5i-a13-ampe-a76.dtb \ | 237 | sun5i-a13-ampe-a76.dtb \ |
237 | sun5i-a13-difrnce-dit4350.dtb \ | 238 | sun5i-a13-difrnce-dit4350.dtb \ |
238 | sun5i-a13-empire-electronix-d709.dtb \ | 239 | sun5i-a13-empire-electronix-d709.dtb \ |
239 | sun5i-a13-empire-electronix-m712.dtb \ | 240 | sun5i-a13-empire-electronix-m712.dtb \ |
240 | sun5i-a13-hsg-h702.dtb \ | 241 | sun5i-a13-hsg-h702.dtb \ |
241 | sun5i-a13-inet-86vs.dtb \ | 242 | sun5i-a13-inet-86vs.dtb \ |
242 | sun5i-a13-inet-98v-rev2.dtb \ | 243 | sun5i-a13-inet-98v-rev2.dtb \ |
243 | sun5i-a13-olinuxino.dtb \ | 244 | sun5i-a13-olinuxino.dtb \ |
244 | sun5i-a13-olinuxino-micro.dtb \ | 245 | sun5i-a13-olinuxino-micro.dtb \ |
245 | sun5i-a13-q8-tablet.dtb \ | 246 | sun5i-a13-q8-tablet.dtb \ |
246 | sun5i-a13-utoo-p66.dtb \ | 247 | sun5i-a13-utoo-p66.dtb \ |
247 | sun5i-gr8-chip-pro.dtb \ | 248 | sun5i-gr8-chip-pro.dtb \ |
248 | sun5i-r8-chip.dtb | 249 | sun5i-r8-chip.dtb |
249 | dtb-$(CONFIG_MACH_SUN6I) += \ | 250 | dtb-$(CONFIG_MACH_SUN6I) += \ |
250 | sun6i-a31-app4-evb1.dtb \ | 251 | sun6i-a31-app4-evb1.dtb \ |
251 | sun6i-a31-colombus.dtb \ | 252 | sun6i-a31-colombus.dtb \ |
252 | sun6i-a31-hummingbird.dtb \ | 253 | sun6i-a31-hummingbird.dtb \ |
253 | sun6i-a31-i7.dtb \ | 254 | sun6i-a31-i7.dtb \ |
254 | sun6i-a31-m9.dtb \ | 255 | sun6i-a31-m9.dtb \ |
255 | sun6i-a31-mele-a1000g-quad.dtb \ | 256 | sun6i-a31-mele-a1000g-quad.dtb \ |
256 | sun6i-a31-mixtile-loftq.dtb \ | 257 | sun6i-a31-mixtile-loftq.dtb \ |
257 | sun6i-a31s-colorfly-e708-q1.dtb \ | 258 | sun6i-a31s-colorfly-e708-q1.dtb \ |
258 | sun6i-a31s-cs908.dtb \ | 259 | sun6i-a31s-cs908.dtb \ |
259 | sun6i-a31s-inet-q972.dtb \ | 260 | sun6i-a31s-inet-q972.dtb \ |
260 | sun6i-a31s-primo81.dtb \ | 261 | sun6i-a31s-primo81.dtb \ |
261 | sun6i-a31s-sina31s.dtb \ | 262 | sun6i-a31s-sina31s.dtb \ |
262 | sun6i-a31s-sinovoip-bpi-m2.dtb \ | 263 | sun6i-a31s-sinovoip-bpi-m2.dtb \ |
263 | sun6i-a31s-yones-toptech-bs1078-v2.dtb | 264 | sun6i-a31s-yones-toptech-bs1078-v2.dtb |
264 | dtb-$(CONFIG_MACH_SUN7I) += \ | 265 | dtb-$(CONFIG_MACH_SUN7I) += \ |
265 | sun7i-a20-ainol-aw1.dtb \ | 266 | sun7i-a20-ainol-aw1.dtb \ |
266 | sun7i-a20-bananapi.dtb \ | 267 | sun7i-a20-bananapi.dtb \ |
267 | sun7i-a20-bananapi-m1-plus.dtb \ | 268 | sun7i-a20-bananapi-m1-plus.dtb \ |
268 | sun7i-a20-bananapro.dtb \ | 269 | sun7i-a20-bananapro.dtb \ |
269 | sun7i-a20-cubieboard2.dtb \ | 270 | sun7i-a20-cubieboard2.dtb \ |
270 | sun7i-a20-cubietruck.dtb \ | 271 | sun7i-a20-cubietruck.dtb \ |
271 | sun7i-a20-hummingbird.dtb \ | 272 | sun7i-a20-hummingbird.dtb \ |
272 | sun7i-a20-i12-tvbox.dtb \ | 273 | sun7i-a20-i12-tvbox.dtb \ |
273 | sun7i-a20-icnova-swac.dtb \ | 274 | sun7i-a20-icnova-swac.dtb \ |
274 | sun7i-a20-itead-ibox.dtb \ | 275 | sun7i-a20-itead-ibox.dtb \ |
275 | sun7i-a20-lamobo-r1.dtb \ | 276 | sun7i-a20-lamobo-r1.dtb \ |
276 | sun7i-a20-m3.dtb \ | 277 | sun7i-a20-m3.dtb \ |
277 | sun7i-a20-m5.dtb \ | 278 | sun7i-a20-m5.dtb \ |
278 | sun7i-a20-mk808c.dtb \ | 279 | sun7i-a20-mk808c.dtb \ |
279 | sun7i-a20-olimex-som-evb.dtb \ | 280 | sun7i-a20-olimex-som-evb.dtb \ |
280 | sun7i-a20-olinuxino-lime.dtb \ | 281 | sun7i-a20-olinuxino-lime.dtb \ |
281 | sun7i-a20-olinuxino-lime2.dtb \ | 282 | sun7i-a20-olinuxino-lime2.dtb \ |
282 | sun7i-a20-olinuxino-lime2-emmc.dtb \ | 283 | sun7i-a20-olinuxino-lime2-emmc.dtb \ |
283 | sun7i-a20-olinuxino-micro.dtb \ | 284 | sun7i-a20-olinuxino-micro.dtb \ |
284 | sun7i-a20-orangepi.dtb \ | 285 | sun7i-a20-orangepi.dtb \ |
285 | sun7i-a20-orangepi-mini.dtb \ | 286 | sun7i-a20-orangepi-mini.dtb \ |
286 | sun7i-a20-pcduino3.dtb \ | 287 | sun7i-a20-pcduino3.dtb \ |
287 | sun7i-a20-pcduino3-nano.dtb \ | 288 | sun7i-a20-pcduino3-nano.dtb \ |
288 | sun7i-a20-primo73.dtb \ | 289 | sun7i-a20-primo73.dtb \ |
289 | sun7i-a20-wexler-tab7200.dtb \ | 290 | sun7i-a20-wexler-tab7200.dtb \ |
290 | sun7i-a20-wits-pro-a20-dkt.dtb \ | 291 | sun7i-a20-wits-pro-a20-dkt.dtb \ |
291 | sun7i-a20-yones-toptech-bd1078.dtb | 292 | sun7i-a20-yones-toptech-bd1078.dtb |
292 | dtb-$(CONFIG_MACH_SUN8I_A23) += \ | 293 | dtb-$(CONFIG_MACH_SUN8I_A23) += \ |
293 | sun8i-a23-evb.dtb \ | 294 | sun8i-a23-evb.dtb \ |
294 | sun8i-a23-gt90h-v4.dtb \ | 295 | sun8i-a23-gt90h-v4.dtb \ |
295 | sun8i-a23-inet86dz.dtb \ | 296 | sun8i-a23-inet86dz.dtb \ |
296 | sun8i-a23-polaroid-mid2407pxe03.dtb \ | 297 | sun8i-a23-polaroid-mid2407pxe03.dtb \ |
297 | sun8i-a23-polaroid-mid2809pxe04.dtb \ | 298 | sun8i-a23-polaroid-mid2809pxe04.dtb \ |
298 | sun8i-a23-q8-tablet.dtb | 299 | sun8i-a23-q8-tablet.dtb |
299 | dtb-$(CONFIG_MACH_SUN8I_A33) += \ | 300 | dtb-$(CONFIG_MACH_SUN8I_A33) += \ |
300 | sun8i-a33-ga10h-v1.1.dtb \ | 301 | sun8i-a33-ga10h-v1.1.dtb \ |
301 | sun8i-a33-inet-d978-rev2.dtb \ | 302 | sun8i-a33-inet-d978-rev2.dtb \ |
302 | sun8i-a33-olinuxino.dtb \ | 303 | sun8i-a33-olinuxino.dtb \ |
303 | sun8i-a33-q8-tablet.dtb \ | 304 | sun8i-a33-q8-tablet.dtb \ |
304 | sun8i-a33-sinlinx-sina33.dtb \ | 305 | sun8i-a33-sinlinx-sina33.dtb \ |
305 | sun8i-r16-nintendo-nes-classic-edition.dtb \ | 306 | sun8i-r16-nintendo-nes-classic-edition.dtb \ |
306 | sun8i-r16-parrot.dtb | 307 | sun8i-r16-parrot.dtb |
307 | dtb-$(CONFIG_MACH_SUN8I_A83T) += \ | 308 | dtb-$(CONFIG_MACH_SUN8I_A83T) += \ |
308 | sun8i-a83t-allwinner-h8homlet-v2.dtb \ | 309 | sun8i-a83t-allwinner-h8homlet-v2.dtb \ |
309 | sun8i-a83t-cubietruck-plus.dtb \ | 310 | sun8i-a83t-cubietruck-plus.dtb \ |
310 | sun8i-a83t-sinovoip-bpi-m3.dtb | 311 | sun8i-a83t-sinovoip-bpi-m3.dtb |
311 | dtb-$(CONFIG_MACH_SUN8I_H3) += \ | 312 | dtb-$(CONFIG_MACH_SUN8I_H3) += \ |
312 | sun8i-h2-plus-orangepi-zero.dtb \ | 313 | sun8i-h2-plus-orangepi-zero.dtb \ |
313 | sun8i-h3-bananapi-m2-plus.dtb \ | 314 | sun8i-h3-bananapi-m2-plus.dtb \ |
314 | sun8i-h3-orangepi-2.dtb \ | 315 | sun8i-h3-orangepi-2.dtb \ |
315 | sun8i-h3-orangepi-lite.dtb \ | 316 | sun8i-h3-orangepi-lite.dtb \ |
316 | sun8i-h3-orangepi-one.dtb \ | 317 | sun8i-h3-orangepi-one.dtb \ |
317 | sun8i-h3-orangepi-pc.dtb \ | 318 | sun8i-h3-orangepi-pc.dtb \ |
318 | sun8i-h3-orangepi-pc-plus.dtb \ | 319 | sun8i-h3-orangepi-pc-plus.dtb \ |
319 | sun8i-h3-orangepi-plus.dtb \ | 320 | sun8i-h3-orangepi-plus.dtb \ |
320 | sun8i-h3-orangepi-plus2e.dtb \ | 321 | sun8i-h3-orangepi-plus2e.dtb \ |
321 | sun8i-h3-nanopi-m1.dtb \ | 322 | sun8i-h3-nanopi-m1.dtb \ |
322 | sun8i-h3-nanopi-m1-plus.dtb \ | 323 | sun8i-h3-nanopi-m1-plus.dtb \ |
323 | sun8i-h3-nanopi-neo.dtb \ | 324 | sun8i-h3-nanopi-neo.dtb \ |
324 | sun8i-h3-nanopi-neo-air.dtb | 325 | sun8i-h3-nanopi-neo-air.dtb |
325 | dtb-$(CONFIG_MACH_SUN8I_R40) += \ | 326 | dtb-$(CONFIG_MACH_SUN8I_R40) += \ |
326 | sun8i-r40-bananapi-m2-ultra.dtb | 327 | sun8i-r40-bananapi-m2-ultra.dtb |
327 | dtb-$(CONFIG_MACH_SUN8I_V3S) += \ | 328 | dtb-$(CONFIG_MACH_SUN8I_V3S) += \ |
328 | sun8i-v3s-licheepi-zero.dtb | 329 | sun8i-v3s-licheepi-zero.dtb |
329 | dtb-$(CONFIG_MACH_SUN50I_H5) += \ | 330 | dtb-$(CONFIG_MACH_SUN50I_H5) += \ |
330 | sun50i-h5-nanopi-neo2.dtb \ | 331 | sun50i-h5-nanopi-neo2.dtb \ |
331 | sun50i-h5-orangepi-pc2.dtb \ | 332 | sun50i-h5-orangepi-pc2.dtb \ |
332 | sun50i-h5-orangepi-prime.dtb \ | 333 | sun50i-h5-orangepi-prime.dtb \ |
333 | sun50i-h5-orangepi-zero-plus2.dtb | 334 | sun50i-h5-orangepi-zero-plus2.dtb |
334 | dtb-$(CONFIG_MACH_SUN50I) += \ | 335 | dtb-$(CONFIG_MACH_SUN50I) += \ |
335 | sun50i-a64-bananapi-m64.dtb \ | 336 | sun50i-a64-bananapi-m64.dtb \ |
336 | sun50i-a64-orangepi-win.dtb \ | 337 | sun50i-a64-orangepi-win.dtb \ |
337 | sun50i-a64-pine64-plus.dtb \ | 338 | sun50i-a64-pine64-plus.dtb \ |
338 | sun50i-a64-pine64.dtb | 339 | sun50i-a64-pine64.dtb |
339 | dtb-$(CONFIG_MACH_SUN9I) += \ | 340 | dtb-$(CONFIG_MACH_SUN9I) += \ |
340 | sun9i-a80-optimus.dtb \ | 341 | sun9i-a80-optimus.dtb \ |
341 | sun9i-a80-cubieboard4.dtb \ | 342 | sun9i-a80-cubieboard4.dtb \ |
342 | sun9i-a80-cx-a99.dtb | 343 | sun9i-a80-cx-a99.dtb |
343 | 344 | ||
344 | dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ | 345 | dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ |
345 | vf610-colibri.dtb \ | 346 | vf610-colibri.dtb \ |
346 | vf610-twr.dtb \ | 347 | vf610-twr.dtb \ |
347 | pcm052.dtb \ | 348 | pcm052.dtb \ |
348 | bk4r1.dtb | 349 | bk4r1.dtb |
349 | 350 | ||
350 | dtb-$(CONFIG_MX53) += imx53-cx9020.dtb | 351 | dtb-$(CONFIG_MX53) += imx53-cx9020.dtb |
351 | 352 | ||
352 | dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \ | 353 | dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \ |
353 | imx6sl-evk.dtb \ | 354 | imx6sl-evk.dtb \ |
354 | imx6sll-evk.dtb \ | 355 | imx6sll-evk.dtb \ |
355 | imx6dl-icore.dtb \ | 356 | imx6dl-icore.dtb \ |
356 | imx6dl-icore-rqs.dtb \ | 357 | imx6dl-icore-rqs.dtb \ |
357 | imx6q-icore.dtb \ | 358 | imx6q-icore.dtb \ |
358 | imx6q-icore-rqs.dtb \ | 359 | imx6q-icore-rqs.dtb \ |
359 | imx6q-logicpd.dtb \ | 360 | imx6q-logicpd.dtb \ |
360 | imx6sx-sabreauto.dtb \ | 361 | imx6sx-sabreauto.dtb \ |
361 | imx6ul-geam-kit.dtb \ | 362 | imx6ul-geam-kit.dtb \ |
362 | imx6ul-isiot-emmc.dtb \ | 363 | imx6ul-isiot-emmc.dtb \ |
363 | imx6ul-isiot-mmc.dtb \ | 364 | imx6ul-isiot-mmc.dtb \ |
364 | imx6ul-isiot-nand.dtb \ | 365 | imx6ul-isiot-nand.dtb \ |
365 | imx6ul-opos6uldev.dtb | 366 | imx6ul-opos6uldev.dtb |
366 | 367 | ||
367 | dtb-$(CONFIG_MX7) += imx7-colibri.dtb \ | 368 | dtb-$(CONFIG_MX7) += imx7-colibri.dtb \ |
368 | imx7d-sdb.dtb | 369 | imx7d-sdb.dtb |
369 | 370 | ||
370 | dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-evk.dtb | 371 | dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-evk.dtb |
371 | 372 | ||
372 | dtb-$(CONFIG_SOC_KEYSTONE) += keystone-k2hk-evm.dtb \ | 373 | dtb-$(CONFIG_SOC_KEYSTONE) += keystone-k2hk-evm.dtb \ |
373 | keystone-k2l-evm.dtb \ | 374 | keystone-k2l-evm.dtb \ |
374 | keystone-k2e-evm.dtb \ | 375 | keystone-k2e-evm.dtb \ |
375 | keystone-k2g-evm.dtb | 376 | keystone-k2g-evm.dtb |
376 | 377 | ||
377 | dtb-$(CONFIG_TARGET_AT91SAM9263EK) += at91sam9263ek.dtb | 378 | dtb-$(CONFIG_TARGET_AT91SAM9263EK) += at91sam9263ek.dtb |
378 | 379 | ||
379 | dtb-$(CONFIG_TARGET_AT91SAM9RLEK) += at91sam9rlek.dtb | 380 | dtb-$(CONFIG_TARGET_AT91SAM9RLEK) += at91sam9rlek.dtb |
380 | 381 | ||
381 | dtb-$(CONFIG_TARGET_AT91SAM9260EK) += \ | 382 | dtb-$(CONFIG_TARGET_AT91SAM9260EK) += \ |
382 | at91sam9260ek.dtb \ | 383 | at91sam9260ek.dtb \ |
383 | at91sam9g20ek.dtb \ | 384 | at91sam9g20ek.dtb \ |
384 | at91sam9g20ek_2mmc.dtb | 385 | at91sam9g20ek_2mmc.dtb |
385 | 386 | ||
386 | dtb-$(CONFIG_TARGET_AT91SAM9M10G45EK) += at91sam9m10g45ek.dtb | 387 | dtb-$(CONFIG_TARGET_AT91SAM9M10G45EK) += at91sam9m10g45ek.dtb |
387 | 388 | ||
388 | dtb-$(CONFIG_TARGET_AT91SAM9X5EK) += \ | 389 | dtb-$(CONFIG_TARGET_AT91SAM9X5EK) += \ |
389 | at91sam9g15ek.dtb \ | 390 | at91sam9g15ek.dtb \ |
390 | at91sam9g25ek.dtb \ | 391 | at91sam9g25ek.dtb \ |
391 | at91sam9g35ek.dtb \ | 392 | at91sam9g35ek.dtb \ |
392 | at91sam9x25ek.dtb \ | 393 | at91sam9x25ek.dtb \ |
393 | at91sam9x35ek.dtb | 394 | at91sam9x35ek.dtb |
394 | 395 | ||
395 | dtb-$(CONFIG_TARGET_AT91SAM9N12EK) += at91sam9n12ek.dtb | 396 | dtb-$(CONFIG_TARGET_AT91SAM9N12EK) += at91sam9n12ek.dtb |
396 | 397 | ||
397 | dtb-$(CONFIG_TARGET_OMAP3_LOGIC) += \ | 398 | dtb-$(CONFIG_TARGET_OMAP3_LOGIC) += \ |
398 | logicpd-torpedo-37xx-devkit.dtb \ | 399 | logicpd-torpedo-37xx-devkit.dtb \ |
399 | logicpd-som-lv-37xx-devkit.dtb | 400 | logicpd-som-lv-37xx-devkit.dtb |
400 | 401 | ||
401 | dtb-$(CONFIG_TARGET_SAMA5D2_XPLAINED) += \ | 402 | dtb-$(CONFIG_TARGET_SAMA5D2_XPLAINED) += \ |
402 | at91-sama5d2_xplained.dtb | 403 | at91-sama5d2_xplained.dtb |
403 | 404 | ||
404 | dtb-$(CONFIG_TARGET_SAMA5D3XEK) += \ | 405 | dtb-$(CONFIG_TARGET_SAMA5D3XEK) += \ |
405 | sama5d31ek.dtb \ | 406 | sama5d31ek.dtb \ |
406 | sama5d33ek.dtb \ | 407 | sama5d33ek.dtb \ |
407 | sama5d34ek.dtb \ | 408 | sama5d34ek.dtb \ |
408 | sama5d35ek.dtb \ | 409 | sama5d35ek.dtb \ |
409 | sama5d36ek.dtb \ | 410 | sama5d36ek.dtb \ |
410 | sama5d36ek_cmp.dtb | 411 | sama5d36ek_cmp.dtb |
411 | 412 | ||
412 | dtb-$(CONFIG_TARGET_SAMA5D3_XPLAINED) += \ | 413 | dtb-$(CONFIG_TARGET_SAMA5D3_XPLAINED) += \ |
413 | at91-sama5d3_xplained.dtb | 414 | at91-sama5d3_xplained.dtb |
414 | 415 | ||
415 | dtb-$(CONFIG_TARGET_SAMA5D4EK) += \ | 416 | dtb-$(CONFIG_TARGET_SAMA5D4EK) += \ |
416 | at91-sama5d4ek.dtb | 417 | at91-sama5d4ek.dtb |
417 | 418 | ||
418 | dtb-$(CONFIG_TARGET_SAMA5D4_XPLAINED) += \ | 419 | dtb-$(CONFIG_TARGET_SAMA5D4_XPLAINED) += \ |
419 | at91-sama5d4_xplained.dtb | 420 | at91-sama5d4_xplained.dtb |
420 | 421 | ||
421 | dtb-$(CONFIG_ARCH_BCM283X) += \ | 422 | dtb-$(CONFIG_ARCH_BCM283X) += \ |
422 | bcm2835-rpi-a-plus.dtb \ | 423 | bcm2835-rpi-a-plus.dtb \ |
423 | bcm2835-rpi-a.dtb \ | 424 | bcm2835-rpi-a.dtb \ |
424 | bcm2835-rpi-b-plus.dtb \ | 425 | bcm2835-rpi-b-plus.dtb \ |
425 | bcm2835-rpi-b-rev2.dtb \ | 426 | bcm2835-rpi-b-rev2.dtb \ |
426 | bcm2835-rpi-b.dtb \ | 427 | bcm2835-rpi-b.dtb \ |
427 | bcm2836-rpi-2-b.dtb \ | 428 | bcm2836-rpi-2-b.dtb \ |
428 | bcm2837-rpi-3-b.dtb | 429 | bcm2837-rpi-3-b.dtb |
429 | 430 | ||
430 | dtb-$(CONFIG_ARCH_ASPEED) += ast2500-evb.dtb | 431 | dtb-$(CONFIG_ARCH_ASPEED) += ast2500-evb.dtb |
431 | 432 | ||
432 | dtb-$(CONFIG_ARCH_STI) += stih410-b2260.dtb | 433 | dtb-$(CONFIG_ARCH_STI) += stih410-b2260.dtb |
433 | 434 | ||
434 | targets += $(dtb-y) | 435 | targets += $(dtb-y) |
435 | 436 | ||
436 | # Add any required device tree compiler flags here | 437 | # Add any required device tree compiler flags here |
437 | DTC_FLAGS += | 438 | DTC_FLAGS += |
438 | 439 | ||
439 | PHONY += dtbs | 440 | PHONY += dtbs |
440 | dtbs: $(addprefix $(obj)/, $(dtb-y)) | 441 | dtbs: $(addprefix $(obj)/, $(dtb-y)) |
441 | @: | 442 | @: |
442 | 443 | ||
443 | clean-files := *.dtb | 444 | clean-files := *.dtb |
444 | 445 |
arch/arm/dts/rk3288-phycore-rdk.dts
File was created | 1 | /* | |
2 | * Device tree file for Phytec PCM-947 carrier board | ||
3 | * Copyright (C) 2017 PHYTEC Messtechnik GmbH | ||
4 | * Author: Wadim Egorov <w.egorov@phytec.de> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * Or, alternatively, | ||
22 | * | ||
23 | * b) Permission is hereby granted, free of charge, to any person | ||
24 | * obtaining a copy of this software and associated documentation | ||
25 | * files (the "Software"), to deal in the Software without | ||
26 | * restriction, including without limitation the rights to use, | ||
27 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
28 | * sell copies of the Software, and to permit persons to whom the | ||
29 | * Software is furnished to do so, subject to the following | ||
30 | * conditions: | ||
31 | * | ||
32 | * The above copyright notice and this permission notice shall be | ||
33 | * included in all copies or substantial portions of the Software. | ||
34 | * | ||
35 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
37 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
38 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
39 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
40 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
41 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
42 | * OTHER DEALINGS IN THE SOFTWARE. | ||
43 | */ | ||
44 | |||
45 | /dts-v1/; | ||
46 | |||
47 | #include <dt-bindings/input/input.h> | ||
48 | #include "rk3288-phycore-som.dtsi" | ||
49 | |||
50 | / { | ||
51 | model = "Phytec RK3288 PCM-947"; | ||
52 | compatible = "phytec,rk3288-pcm-947", "phytec,rk3288-phycore-som", "rockchip,rk3288"; | ||
53 | |||
54 | chosen { | ||
55 | stdout-path = &uart2; | ||
56 | }; | ||
57 | |||
58 | config { | ||
59 | u-boot,dm-pre-reloc; | ||
60 | u-boot,boot0 = &emmc; | ||
61 | }; | ||
62 | |||
63 | user_buttons: user-buttons { | ||
64 | compatible = "gpio-keys"; | ||
65 | pinctrl-names = "default"; | ||
66 | pinctrl-0 = <&user_button_pins>; | ||
67 | |||
68 | button@0 { | ||
69 | label = "home"; | ||
70 | linux,code = <KEY_HOME>; | ||
71 | gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>; | ||
72 | wakeup-source; | ||
73 | }; | ||
74 | |||
75 | button@1 { | ||
76 | label = "menu"; | ||
77 | linux,code = <KEY_MENU>; | ||
78 | gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>; | ||
79 | wakeup-source; | ||
80 | }; | ||
81 | }; | ||
82 | |||
83 | vcc_host0_5v: usb-host0-regulator { | ||
84 | compatible = "regulator-fixed"; | ||
85 | gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; | ||
86 | pinctrl-names = "default"; | ||
87 | pinctrl-0 = <&host0_vbus_drv>; | ||
88 | regulator-name = "vcc_host0_5v"; | ||
89 | regulator-min-microvolt = <5000000>; | ||
90 | regulator-max-microvolt = <5000000>; | ||
91 | regulator-always-on; | ||
92 | vin-supply = <&vdd_in_otg_out>; | ||
93 | }; | ||
94 | |||
95 | vcc_host1_5v: usb-host1-regulator { | ||
96 | compatible = "regulator-fixed"; | ||
97 | gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>; | ||
98 | pinctrl-names = "default"; | ||
99 | pinctrl-0 = <&host1_vbus_drv>; | ||
100 | regulator-name = "vcc_host1_5v"; | ||
101 | regulator-min-microvolt = <5000000>; | ||
102 | regulator-max-microvolt = <5000000>; | ||
103 | regulator-always-on; | ||
104 | vin-supply = <&vdd_in_otg_out>; | ||
105 | }; | ||
106 | |||
107 | vcc_otg_5v: usb-otg-regulator { | ||
108 | compatible = "regulator-fixed"; | ||
109 | gpio = <&gpio2 12 GPIO_ACTIVE_HIGH>; | ||
110 | pinctrl-names = "default"; | ||
111 | pinctrl-0 = <&otg_vbus_drv>; | ||
112 | regulator-name = "vcc_otg_5v"; | ||
113 | regulator-min-microvolt = <5000000>; | ||
114 | regulator-max-microvolt = <5000000>; | ||
115 | regulator-always-on; | ||
116 | vin-supply = <&vdd_in_otg_out>; | ||
117 | }; | ||
118 | }; | ||
119 | |||
120 | &dmc { | ||
121 | rockchip,num-channels = <2>; | ||
122 | rockchip,pctl-timing = <0x29a 0xc8 0x1f8 0x42 0x4e 0x4 0xea 0xa | ||
123 | 0x5 0x0 0xa 0x7 0x19 0x24 0xa 0x7 | ||
124 | 0x5 0xa 0x5 0x200 0x5 0x10 0x40 0x0 | ||
125 | 0x1 0x7 0x7 0x4 0xc 0x43 0x100 0x0 | ||
126 | 0x5 0x0>; | ||
127 | rockchip,phy-timing = <0x48f9aab4 0xea0910 0x1002c200 | ||
128 | 0xa60 0x40 0x10 0x0>; | ||
129 | rockchip,sdram-channel = /bits/ 8 <0x1 0xa 0x3 0x2 0x1 0x0 0xe 0xe>; | ||
130 | rockchip,sdram-params = <0x30B25564 0x627 3 666000000 3 5 1>; | ||
131 | }; | ||
132 | |||
133 | &gmac { | ||
134 | status = "okay"; | ||
135 | }; | ||
136 | |||
137 | &hdmi { | ||
138 | status = "okay"; | ||
139 | }; | ||
140 | |||
141 | &i2c1 { | ||
142 | status = "okay"; | ||
143 | |||
144 | touchscreen@44 { | ||
145 | compatible = "st,stmpe811"; | ||
146 | reg = <0x44>; | ||
147 | }; | ||
148 | |||
149 | adc@64 { | ||
150 | compatible = "maxim,max1037"; | ||
151 | reg = <0x64>; | ||
152 | }; | ||
153 | |||
154 | i2c_rtc: rtc@68 { | ||
155 | compatible = "rv4162"; | ||
156 | reg = <0x68>; | ||
157 | pinctrl-names = "default"; | ||
158 | pinctrl-0 = <&i2c_rtc_int>; | ||
159 | interrupt-parent = <&gpio5>; | ||
160 | interrupts = <10 0>; | ||
161 | }; | ||
162 | }; | ||
163 | |||
164 | &i2c3 { | ||
165 | status = "okay"; | ||
166 | |||
167 | i2c_eeprom_cb: eeprom@51 { | ||
168 | compatible = "atmel,24c32"; | ||
169 | reg = <0x51>; | ||
170 | pagesize = <32>; | ||
171 | }; | ||
172 | }; | ||
173 | |||
174 | &i2c4 { | ||
175 | status = "okay"; | ||
176 | }; | ||
177 | |||
178 | &i2c5 { | ||
179 | status = "okay"; | ||
180 | }; | ||
181 | |||
182 | &pinctrl { | ||
183 | u-boot,dm-pre-reloc; | ||
184 | |||
185 | pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { | ||
186 | bias-pull-up; | ||
187 | drive-strength = <12>; | ||
188 | }; | ||
189 | |||
190 | buttons { | ||
191 | user_button_pins: user-button-pins { | ||
192 | /* button 1 */ | ||
193 | rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_pull_up>, | ||
194 | /* button 2 */ | ||
195 | <8 0 RK_FUNC_GPIO &pcfg_pull_up>; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | rv4162 { | ||
200 | i2c_rtc_int: i2c-rtc-int { | ||
201 | rockchip,pins = <5 10 RK_FUNC_GPIO &pcfg_pull_up>; | ||
202 | }; | ||
203 | }; | ||
204 | |||
205 | sdmmc { | ||
206 | /* | ||
207 | * Default drive strength isn't enough to achieve even | ||
208 | * high-speed mode on pcm-947 board so bump up to 12 mA. | ||
209 | */ | ||
210 | sdmmc_bus4: sdmmc-bus4 { | ||
211 | rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, | ||
212 | <6 17 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, | ||
213 | <6 18 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, | ||
214 | <6 19 RK_FUNC_1 &pcfg_pull_up_drv_12ma>; | ||
215 | }; | ||
216 | |||
217 | sdmmc_clk: sdmmc-clk { | ||
218 | rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_12ma>; | ||
219 | }; | ||
220 | |||
221 | sdmmc_cmd: sdmmc-cmd { | ||
222 | rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_12ma>; | ||
223 | }; | ||
224 | |||
225 | sdmmc_pwr: sdmmc-pwr { | ||
226 | rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; | ||
227 | }; | ||
228 | }; | ||
229 | |||
230 | touchscreen { | ||
231 | ts_irq_pin: ts-irq-pin { | ||
232 | rockchip,pins = <5 15 RK_FUNC_GPIO &pcfg_pull_none>; | ||
233 | }; | ||
234 | }; | ||
235 | |||
236 | usb_host { | ||
237 | host0_vbus_drv: host0-vbus-drv { | ||
238 | rockchip,pins = <2 13 RK_FUNC_GPIO &pcfg_pull_none>; | ||
239 | }; | ||
240 | |||
241 | host1_vbus_drv: host1-vbus-drv { | ||
242 | rockchip,pins = <2 0 RK_FUNC_GPIO &pcfg_pull_none>; | ||
243 | }; | ||
244 | }; | ||
245 | |||
246 | usb_otg { | ||
247 | otg_vbus_drv: otg-vbus-drv { | ||
248 | rockchip,pins = <2 12 RK_FUNC_GPIO &pcfg_pull_none>; | ||
249 | }; | ||
250 | }; | ||
251 | }; | ||
252 | |||
253 | &sdmmc { | ||
254 | u-boot,dm-pre-reloc; | ||
255 | |||
256 | bus-width = <4>; | ||
257 | cap-mmc-highspeed; | ||
258 | cap-sd-highspeed; | ||
259 | card-detect-delay = <200>; | ||
260 | disable-wp; | ||
261 | num-slots = <1>; | ||
262 | pinctrl-names = "default"; | ||
263 | pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; | ||
264 | vmmc-supply = <&vdd_io_sd>; | ||
265 | vqmmc-supply = <&vdd_io_sd>; | ||
266 | status = "okay"; | ||
267 | }; | ||
268 | |||
269 | &uart0 { | ||
270 | pinctrl-names = "default"; | ||
271 | pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; | ||
272 | status = "okay"; | ||
273 | }; | ||
274 | |||
275 | &uart2 { | ||
276 | u-boot,dm-pre-reloc; | ||
277 | status = "okay"; | ||
278 | }; | ||
279 | |||
280 | &usbphy { | ||
281 | status = "okay"; | ||
282 | }; | ||
283 | |||
284 | &usb_host0_ehci { | ||
285 | status = "okay"; | ||
286 | }; | ||
287 | |||
288 | &usb_host1 { | ||
289 | status = "okay"; | ||
290 | }; | ||
291 | |||
292 | &usb_otg { | ||
293 | status = "okay"; | ||
294 | }; | ||
295 |
arch/arm/dts/rk3288-phycore-som.dtsi
File was created | 1 | /* | |
2 | * Device tree file for Phytec phyCORE-RK3288 SoM | ||
3 | * Copyright (C) 2017 PHYTEC Messtechnik GmbH | ||
4 | * Author: Wadim Egorov <w.egorov@phytec.de> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * Or, alternatively, | ||
22 | * | ||
23 | * b) Permission is hereby granted, free of charge, to any person | ||
24 | * obtaining a copy of this software and associated documentation | ||
25 | * files (the "Software"), to deal in the Software without | ||
26 | * restriction, including without limitation the rights to use, | ||
27 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
28 | * sell copies of the Software, and to permit persons to whom the | ||
29 | * Software is furnished to do so, subject to the following | ||
30 | * conditions: | ||
31 | * | ||
32 | * The above copyright notice and this permission notice shall be | ||
33 | * included in all copies or substantial portions of the Software. | ||
34 | * | ||
35 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
36 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
37 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
38 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
39 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
40 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
41 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
42 | * OTHER DEALINGS IN THE SOFTWARE. | ||
43 | */ | ||
44 | |||
45 | #include <dt-bindings/net/ti-dp83867.h> | ||
46 | #include "rk3288.dtsi" | ||
47 | |||
48 | / { | ||
49 | model = "Phytec RK3288 phyCORE"; | ||
50 | compatible = "phytec,rk3288-phycore-som", "rockchip,rk3288"; | ||
51 | |||
52 | /* | ||
53 | * Set the minimum memory size here and | ||
54 | * let the bootloader set the real size. | ||
55 | */ | ||
56 | memory { | ||
57 | device_type = "memory"; | ||
58 | reg = <0 0x8000000>; | ||
59 | }; | ||
60 | |||
61 | aliases { | ||
62 | rtc0 = &i2c_rtc; | ||
63 | rtc1 = &rk818; | ||
64 | }; | ||
65 | |||
66 | ext_gmac: external-gmac-clock { | ||
67 | compatible = "fixed-clock"; | ||
68 | #clock-cells = <0>; | ||
69 | clock-frequency = <125000000>; | ||
70 | clock-output-names = "ext_gmac"; | ||
71 | }; | ||
72 | |||
73 | io_domains: io_domains { | ||
74 | compatible = "rockchip,rk3288-io-voltage-domain"; | ||
75 | |||
76 | status = "okay"; | ||
77 | sdcard-supply = <&vdd_io_sd>; | ||
78 | flash0-supply = <&vdd_emmc_io>; | ||
79 | flash1-supply = <&vdd_misc_1v8>; | ||
80 | gpio1830-supply = <&vdd_3v3_io>; | ||
81 | gpio30-supply = <&vdd_3v3_io>; | ||
82 | bb-supply = <&vdd_3v3_io>; | ||
83 | dvp-supply = <&vdd_3v3_io>; | ||
84 | lcdc-supply = <&vdd_3v3_io>; | ||
85 | wifi-supply = <&vdd_3v3_io>; | ||
86 | audio-supply = <&vdd_3v3_io>; | ||
87 | }; | ||
88 | |||
89 | leds: user-leds { | ||
90 | compatible = "gpio-leds"; | ||
91 | pinctrl-names = "default"; | ||
92 | pinctrl-0 = <&user_led>; | ||
93 | |||
94 | user { | ||
95 | label = "green_led"; | ||
96 | gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>; | ||
97 | linux,default-trigger = "heartbeat"; | ||
98 | default-state = "keep"; | ||
99 | }; | ||
100 | }; | ||
101 | |||
102 | vdd_emmc_io: vdd-emmc-io { | ||
103 | compatible = "regulator-fixed"; | ||
104 | regulator-name = "vdd_emmc_io"; | ||
105 | regulator-min-microvolt = <1800000>; | ||
106 | regulator-max-microvolt = <1800000>; | ||
107 | vin-supply = <&vdd_3v3_io>; | ||
108 | }; | ||
109 | |||
110 | vdd_in_otg_out: vdd-in-otg-out { | ||
111 | compatible = "regulator-fixed"; | ||
112 | regulator-name = "vdd_in_otg_out"; | ||
113 | regulator-always-on; | ||
114 | regulator-boot-on; | ||
115 | regulator-min-microvolt = <5000000>; | ||
116 | regulator-max-microvolt = <5000000>; | ||
117 | }; | ||
118 | |||
119 | vdd_misc_1v8: vdd-misc-1v8 { | ||
120 | compatible = "regulator-fixed"; | ||
121 | regulator-name = "vdd_misc_1v8"; | ||
122 | regulator-always-on; | ||
123 | regulator-boot-on; | ||
124 | regulator-min-microvolt = <1800000>; | ||
125 | regulator-max-microvolt = <1800000>; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | &cpu0 { | ||
130 | cpu0-supply = <&vdd_cpu>; | ||
131 | operating-points = < | ||
132 | /* KHz uV */ | ||
133 | 1800000 1400000 | ||
134 | 1608000 1350000 | ||
135 | 1512000 1300000 | ||
136 | 1416000 1200000 | ||
137 | 1200000 1100000 | ||
138 | 1008000 1050000 | ||
139 | 816000 1000000 | ||
140 | 696000 950000 | ||
141 | 600000 900000 | ||
142 | 408000 900000 | ||
143 | 312000 900000 | ||
144 | 216000 900000 | ||
145 | 126000 900000 | ||
146 | >; | ||
147 | }; | ||
148 | |||
149 | &emmc { | ||
150 | status = "okay"; | ||
151 | u-boot,dm-pre-reloc; | ||
152 | |||
153 | bus-width = <8>; | ||
154 | cap-mmc-highspeed; | ||
155 | disable-wp; | ||
156 | non-removable; | ||
157 | num-slots = <1>; | ||
158 | pinctrl-names = "default"; | ||
159 | pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; | ||
160 | vmmc-supply = <&vdd_3v3_io>; | ||
161 | vqmmc-supply = <&vdd_emmc_io>; | ||
162 | }; | ||
163 | |||
164 | &gmac { | ||
165 | assigned-clocks = <&cru SCLK_MAC>; | ||
166 | assigned-clock-parents = <&ext_gmac>; | ||
167 | clock_in_out = "input"; | ||
168 | pinctrl-names = "default"; | ||
169 | pinctrl-0 = <&rgmii_pins &phy_rst &phy_int>; | ||
170 | phy-handle = <&phy0>; | ||
171 | phy-supply = <&vdd_eth_2v5>; | ||
172 | phy-mode = "rgmii-id"; | ||
173 | snps,reset-active-low; | ||
174 | snps,reset-delays-us = <0 10000 1000000>; | ||
175 | snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; | ||
176 | tx_delay = <0x0>; | ||
177 | rx_delay = <0x0>; | ||
178 | |||
179 | mdio0 { | ||
180 | compatible = "snps,dwmac-mdio"; | ||
181 | #address-cells = <1>; | ||
182 | #size-cells = <0>; | ||
183 | |||
184 | phy0: ethernet-phy@0 { | ||
185 | compatible = "ethernet-phy-ieee802.3-c22"; | ||
186 | reg = <0>; | ||
187 | interrupt-parent = <&gpio4>; | ||
188 | interrupts = <2 IRQ_TYPE_EDGE_FALLING>; | ||
189 | ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; | ||
190 | ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; | ||
191 | ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; | ||
192 | enet-phy-lane-no-swap; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | |||
197 | &hdmi { | ||
198 | ddc-i2c-bus = <&i2c5>; | ||
199 | }; | ||
200 | |||
201 | &i2c0 { | ||
202 | status = "okay"; | ||
203 | u-boot,dm-pre-reloc; | ||
204 | |||
205 | clock-frequency = <400000>; | ||
206 | |||
207 | rk818: pmic@1c { | ||
208 | status = "okay"; | ||
209 | compatible = "rockchip,rk818"; | ||
210 | reg = <0x1c>; | ||
211 | interrupt-parent = <&gpio0>; | ||
212 | interrupts = <4 IRQ_TYPE_LEVEL_LOW>; | ||
213 | pinctrl-names = "default"; | ||
214 | pinctrl-0 = <&pmic_int>; | ||
215 | rockchip,system-power-controller; | ||
216 | wakeup-source; | ||
217 | #clock-cells = <1>; | ||
218 | u-boot,dm-pre-reloc; | ||
219 | |||
220 | vcc1-supply = <&vdd_sys>; | ||
221 | vcc2-supply = <&vdd_sys>; | ||
222 | vcc3-supply = <&vdd_sys>; | ||
223 | vcc4-supply = <&vdd_sys>; | ||
224 | boost-supply = <&vdd_in_otg_out>; | ||
225 | vcc6-supply = <&vdd_sys>; | ||
226 | vcc7-supply = <&vdd_misc_1v8>; | ||
227 | vcc8-supply = <&vdd_misc_1v8>; | ||
228 | vcc9-supply = <&vdd_3v3_io>; | ||
229 | vddio-supply = <&vdd_3v3_io>; | ||
230 | |||
231 | regulators { | ||
232 | u-boot,dm-pre-reloc; | ||
233 | vdd_log: DCDC_REG1 { | ||
234 | regulator-name = "vdd_log"; | ||
235 | regulator-always-on; | ||
236 | regulator-boot-on; | ||
237 | regulator-min-microvolt = <1100000>; | ||
238 | regulator-max-microvolt = <1100000>; | ||
239 | regulator-state-mem { | ||
240 | regulator-off-in-suspend; | ||
241 | }; | ||
242 | }; | ||
243 | |||
244 | vdd_gpu: DCDC_REG2 { | ||
245 | regulator-name = "vdd_gpu"; | ||
246 | regulator-always-on; | ||
247 | regulator-boot-on; | ||
248 | regulator-min-microvolt = <800000>; | ||
249 | regulator-max-microvolt = <1250000>; | ||
250 | regulator-state-mem { | ||
251 | regulator-on-in-suspend; | ||
252 | regulator-suspend-microvolt = <1000000>; | ||
253 | }; | ||
254 | }; | ||
255 | |||
256 | vcc_ddr: DCDC_REG3 { | ||
257 | regulator-name = "vcc_ddr"; | ||
258 | regulator-always-on; | ||
259 | regulator-boot-on; | ||
260 | regulator-state-mem { | ||
261 | regulator-on-in-suspend; | ||
262 | }; | ||
263 | }; | ||
264 | |||
265 | vdd_3v3_io: DCDC_REG4 { | ||
266 | regulator-name = "vdd_3v3_io"; | ||
267 | regulator-always-on; | ||
268 | regulator-boot-on; | ||
269 | regulator-min-microvolt = <3300000>; | ||
270 | regulator-max-microvolt = <3300000>; | ||
271 | regulator-state-mem { | ||
272 | regulator-on-in-suspend; | ||
273 | regulator-suspend-microvolt = <3300000>; | ||
274 | }; | ||
275 | }; | ||
276 | |||
277 | vdd_sys: DCDC_BOOST { | ||
278 | regulator-name = "vdd_sys"; | ||
279 | regulator-always-on; | ||
280 | regulator-boot-on; | ||
281 | regulator-min-microvolt = <5000000>; | ||
282 | regulator-max-microvolt = <5000000>; | ||
283 | regulator-state-mem { | ||
284 | regulator-on-in-suspend; | ||
285 | regulator-suspend-microvolt = <5000000>; | ||
286 | }; | ||
287 | }; | ||
288 | |||
289 | /* vcc9 */ | ||
290 | vdd_sd: SWITCH_REG { | ||
291 | regulator-name = "vdd_sd"; | ||
292 | regulator-always-on; | ||
293 | regulator-boot-on; | ||
294 | regulator-state-mem { | ||
295 | regulator-off-in-suspend; | ||
296 | }; | ||
297 | }; | ||
298 | |||
299 | /* vcc6 */ | ||
300 | vdd_eth_2v5: LDO_REG2 { | ||
301 | regulator-name = "vdd_eth_2v5"; | ||
302 | regulator-always-on; | ||
303 | regulator-boot-on; | ||
304 | regulator-min-microvolt = <2500000>; | ||
305 | regulator-max-microvolt = <2500000>; | ||
306 | regulator-state-mem { | ||
307 | regulator-on-in-suspend; | ||
308 | regulator-suspend-microvolt = <2500000>; | ||
309 | }; | ||
310 | }; | ||
311 | |||
312 | /* vcc7 */ | ||
313 | vdd_1v0: LDO_REG3 { | ||
314 | regulator-name = "vdd_1v0"; | ||
315 | regulator-always-on; | ||
316 | regulator-boot-on; | ||
317 | regulator-min-microvolt = <1000000>; | ||
318 | regulator-max-microvolt = <1000000>; | ||
319 | regulator-state-mem { | ||
320 | regulator-on-in-suspend; | ||
321 | regulator-suspend-microvolt = <1000000>; | ||
322 | }; | ||
323 | }; | ||
324 | |||
325 | /* vcc8 */ | ||
326 | vdd_1v8_lcd_ldo: LDO_REG4 { | ||
327 | regulator-name = "vdd_1v8_lcd_ldo"; | ||
328 | regulator-always-on; | ||
329 | regulator-boot-on; | ||
330 | regulator-min-microvolt = <1800000>; | ||
331 | regulator-max-microvolt = <1800000>; | ||
332 | regulator-state-mem { | ||
333 | regulator-on-in-suspend; | ||
334 | regulator-suspend-microvolt = <1800000>; | ||
335 | }; | ||
336 | }; | ||
337 | |||
338 | /* vcc8 */ | ||
339 | vdd_1v0_lcd: LDO_REG6 { | ||
340 | regulator-name = "vdd_1v0_lcd"; | ||
341 | regulator-always-on; | ||
342 | regulator-boot-on; | ||
343 | regulator-min-microvolt = <1000000>; | ||
344 | regulator-max-microvolt = <1000000>; | ||
345 | regulator-state-mem { | ||
346 | regulator-on-in-suspend; | ||
347 | regulator-suspend-microvolt = <1000000>; | ||
348 | }; | ||
349 | }; | ||
350 | |||
351 | /* vcc7 */ | ||
352 | vdd_1v8_ldo: LDO_REG7 { | ||
353 | regulator-name = "vdd_1v8_ldo"; | ||
354 | regulator-always-on; | ||
355 | regulator-boot-on; | ||
356 | regulator-min-microvolt = <1800000>; | ||
357 | regulator-max-microvolt = <1800000>; | ||
358 | regulator-state-mem { | ||
359 | regulator-off-in-suspend; | ||
360 | regulator-suspend-microvolt = <1800000>; | ||
361 | }; | ||
362 | }; | ||
363 | |||
364 | /* vcc9 */ | ||
365 | vdd_io_sd: LDO_REG9 { | ||
366 | regulator-name = "vdd_io_sd"; | ||
367 | regulator-always-on; | ||
368 | regulator-boot-on; | ||
369 | regulator-min-microvolt = <3300000>; | ||
370 | regulator-max-microvolt = <3300000>; | ||
371 | regulator-state-mem { | ||
372 | regulator-on-in-suspend; | ||
373 | regulator-suspend-microvolt = <3300000>; | ||
374 | }; | ||
375 | }; | ||
376 | }; | ||
377 | }; | ||
378 | |||
379 | /* M24C32-D */ | ||
380 | i2c_eeprom: eeprom@50 { | ||
381 | compatible = "atmel,24c32"; | ||
382 | reg = <0x50>; | ||
383 | pagesize = <32>; | ||
384 | }; | ||
385 | |||
386 | vdd_cpu: regulator@60 { | ||
387 | compatible = "fcs,fan53555"; | ||
388 | reg = <0x60>; | ||
389 | fcs,suspend-voltage-selector = <1>; | ||
390 | regulator-always-on; | ||
391 | regulator-boot-on; | ||
392 | regulator-enable-ramp-delay = <300>; | ||
393 | regulator-name = "vdd_cpu"; | ||
394 | regulator-min-microvolt = <800000>; | ||
395 | regulator-max-microvolt = <1430000>; | ||
396 | regulator-ramp-delay = <8000>; | ||
397 | vin-supply = <&vdd_sys>; | ||
398 | }; | ||
399 | }; | ||
400 | |||
401 | &pinctrl { | ||
402 | pcfg_output_high: pcfg-output-high { | ||
403 | output-high; | ||
404 | }; | ||
405 | |||
406 | emmc { | ||
407 | /* | ||
408 | * We run eMMC at max speed; bump up drive strength. | ||
409 | * We also have external pulls, so disable the internal ones. | ||
410 | */ | ||
411 | emmc_clk: emmc-clk { | ||
412 | rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none_12ma>; | ||
413 | }; | ||
414 | |||
415 | emmc_cmd: emmc-cmd { | ||
416 | rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none_12ma>; | ||
417 | }; | ||
418 | |||
419 | emmc_bus8: emmc-bus8 { | ||
420 | rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
421 | <3 1 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
422 | <3 2 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
423 | <3 3 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
424 | <3 4 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
425 | <3 5 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
426 | <3 6 RK_FUNC_2 &pcfg_pull_none_12ma>, | ||
427 | <3 7 RK_FUNC_2 &pcfg_pull_none_12ma>; | ||
428 | }; | ||
429 | }; | ||
430 | |||
431 | gmac { | ||
432 | phy_int: phy-int { | ||
433 | rockchip,pins = <4 2 RK_FUNC_GPIO &pcfg_pull_up>; | ||
434 | }; | ||
435 | |||
436 | phy_rst: phy-rst { | ||
437 | rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; | ||
438 | }; | ||
439 | }; | ||
440 | |||
441 | leds { | ||
442 | user_led: user-led { | ||
443 | rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_output_high>; | ||
444 | }; | ||
445 | }; | ||
446 | |||
447 | pmic { | ||
448 | pmic_int: pmic-int { | ||
449 | rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; | ||
450 | }; | ||
451 | |||
452 | /* Pin for switching state between sleep and non-sleep state */ | ||
453 | pmic_sleep: pmic-sleep { | ||
454 | rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>; | ||
455 | }; | ||
456 | }; | ||
457 | }; | ||
458 | |||
459 | &pwm1 { | ||
460 | status = "okay"; | ||
461 | }; | ||
462 | |||
463 | &saradc { | ||
464 | status = "okay"; | ||
465 | vref-supply = <&vdd_1v8_ldo>; | ||
466 | }; | ||
467 | |||
468 | &spi2 { | ||
469 | status = "okay"; | ||
470 | |||
471 | serial_flash: flash@0 { | ||
472 | compatible = "micron,n25q128a13", "jedec,spi-nor"; | ||
473 | reg = <0x0>; | ||
474 | spi-max-frequency = <50000000>; | ||
475 | m25p,fast-read; | ||
476 | #address-cells = <1>; | ||
477 | #size-cells = <1>; | ||
478 | status = "okay"; | ||
479 | }; | ||
480 | }; | ||
481 | |||
482 | &tsadc { | ||
483 | status = "okay"; | ||
484 | rockchip,hw-tshut-mode = <0>; | ||
485 | rockchip,hw-tshut-polarity = <0>; | ||
486 | }; | ||
487 | |||
488 | &vopb { | ||
489 | status = "okay"; | ||
490 | }; | ||
491 | |||
492 | &vopb_mmu { | ||
493 | status = "okay"; | ||
494 | }; | ||
495 | |||
496 | &vopl { | ||
497 | status = "okay"; | ||
498 | }; | ||
499 | |||
500 | &vopl_mmu { | ||
501 | status = "okay"; | ||
502 | }; | ||
503 | |||
504 | &wdt { | ||
505 | status = "okay"; | ||
506 | }; | ||
507 |
arch/arm/mach-rockchip/rk3288-board-spl.c
1 | /* | 1 | /* |
2 | * (C) Copyright 2015 Google, Inc | 2 | * (C) Copyright 2015 Google, Inc |
3 | * | 3 | * |
4 | * SPDX-License-Identifier: GPL-2.0+ | 4 | * SPDX-License-Identifier: GPL-2.0+ |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <common.h> | 7 | #include <common.h> |
8 | #include <debug_uart.h> | 8 | #include <debug_uart.h> |
9 | #include <dm.h> | 9 | #include <dm.h> |
10 | #include <fdtdec.h> | 10 | #include <fdtdec.h> |
11 | #include <i2c.h> | ||
11 | #include <led.h> | 12 | #include <led.h> |
12 | #include <malloc.h> | 13 | #include <malloc.h> |
13 | #include <ram.h> | 14 | #include <ram.h> |
14 | #include <spl.h> | 15 | #include <spl.h> |
15 | #include <asm/gpio.h> | 16 | #include <asm/gpio.h> |
16 | #include <asm/io.h> | 17 | #include <asm/io.h> |
17 | #include <asm/arch/bootrom.h> | 18 | #include <asm/arch/bootrom.h> |
18 | #include <asm/arch/clock.h> | 19 | #include <asm/arch/clock.h> |
19 | #include <asm/arch/hardware.h> | 20 | #include <asm/arch/hardware.h> |
20 | #include <asm/arch/periph.h> | 21 | #include <asm/arch/periph.h> |
21 | #include <asm/arch/sdram.h> | 22 | #include <asm/arch/sdram.h> |
22 | #include <asm/arch/timer.h> | 23 | #include <asm/arch/timer.h> |
23 | #include <dm/pinctrl.h> | 24 | #include <dm/pinctrl.h> |
24 | #include <dm/root.h> | 25 | #include <dm/root.h> |
25 | #include <dm/test.h> | 26 | #include <dm/test.h> |
26 | #include <dm/util.h> | 27 | #include <dm/util.h> |
27 | #include <power/regulator.h> | 28 | #include <power/regulator.h> |
29 | #include <power/rk8xx_pmic.h> | ||
28 | 30 | ||
29 | DECLARE_GLOBAL_DATA_PTR; | 31 | DECLARE_GLOBAL_DATA_PTR; |
30 | 32 | ||
31 | u32 spl_boot_device(void) | 33 | u32 spl_boot_device(void) |
32 | { | 34 | { |
33 | #if !CONFIG_IS_ENABLED(OF_PLATDATA) | 35 | #if !CONFIG_IS_ENABLED(OF_PLATDATA) |
34 | const void *blob = gd->fdt_blob; | 36 | const void *blob = gd->fdt_blob; |
35 | struct udevice *dev; | 37 | struct udevice *dev; |
36 | const char *bootdev; | 38 | const char *bootdev; |
37 | int node; | 39 | int node; |
38 | int ret; | 40 | int ret; |
39 | 41 | ||
40 | bootdev = fdtdec_get_config_string(blob, "u-boot,boot0"); | 42 | bootdev = fdtdec_get_config_string(blob, "u-boot,boot0"); |
41 | debug("Boot device %s\n", bootdev); | 43 | debug("Boot device %s\n", bootdev); |
42 | if (!bootdev) | 44 | if (!bootdev) |
43 | goto fallback; | 45 | goto fallback; |
44 | 46 | ||
45 | node = fdt_path_offset(blob, bootdev); | 47 | node = fdt_path_offset(blob, bootdev); |
46 | if (node < 0) { | 48 | if (node < 0) { |
47 | debug("node=%d\n", node); | 49 | debug("node=%d\n", node); |
48 | goto fallback; | 50 | goto fallback; |
49 | } | 51 | } |
50 | ret = device_get_global_by_of_offset(node, &dev); | 52 | ret = device_get_global_by_of_offset(node, &dev); |
51 | if (ret) { | 53 | if (ret) { |
52 | debug("device at node %s/%d not found: %d\n", bootdev, node, | 54 | debug("device at node %s/%d not found: %d\n", bootdev, node, |
53 | ret); | 55 | ret); |
54 | goto fallback; | 56 | goto fallback; |
55 | } | 57 | } |
56 | debug("Found device %s\n", dev->name); | 58 | debug("Found device %s\n", dev->name); |
57 | switch (device_get_uclass_id(dev)) { | 59 | switch (device_get_uclass_id(dev)) { |
58 | case UCLASS_SPI_FLASH: | 60 | case UCLASS_SPI_FLASH: |
59 | return BOOT_DEVICE_SPI; | 61 | return BOOT_DEVICE_SPI; |
60 | case UCLASS_MMC: | 62 | case UCLASS_MMC: |
61 | return BOOT_DEVICE_MMC1; | 63 | return BOOT_DEVICE_MMC1; |
62 | default: | 64 | default: |
63 | debug("Booting from device uclass '%s' not supported\n", | 65 | debug("Booting from device uclass '%s' not supported\n", |
64 | dev_get_uclass_name(dev)); | 66 | dev_get_uclass_name(dev)); |
65 | } | 67 | } |
66 | 68 | ||
67 | fallback: | 69 | fallback: |
68 | #elif defined(CONFIG_TARGET_CHROMEBOOK_JERRY) || \ | 70 | #elif defined(CONFIG_TARGET_CHROMEBOOK_JERRY) || \ |
69 | defined(CONFIG_TARGET_CHROMEBIT_MICKEY) || \ | 71 | defined(CONFIG_TARGET_CHROMEBIT_MICKEY) || \ |
70 | defined(CONFIG_TARGET_CHROMEBOOK_MINNIE) | 72 | defined(CONFIG_TARGET_CHROMEBOOK_MINNIE) |
71 | return BOOT_DEVICE_SPI; | 73 | return BOOT_DEVICE_SPI; |
72 | #endif | 74 | #endif |
73 | return BOOT_DEVICE_MMC1; | 75 | return BOOT_DEVICE_MMC1; |
74 | } | 76 | } |
75 | 77 | ||
76 | u32 spl_boot_mode(const u32 boot_device) | 78 | u32 spl_boot_mode(const u32 boot_device) |
77 | { | 79 | { |
78 | return MMCSD_MODE_RAW; | 80 | return MMCSD_MODE_RAW; |
79 | } | 81 | } |
80 | 82 | ||
81 | /* read L2 control register (L2CTLR) */ | 83 | /* read L2 control register (L2CTLR) */ |
82 | static inline uint32_t read_l2ctlr(void) | 84 | static inline uint32_t read_l2ctlr(void) |
83 | { | 85 | { |
84 | uint32_t val = 0; | 86 | uint32_t val = 0; |
85 | 87 | ||
86 | asm volatile ("mrc p15, 1, %0, c9, c0, 2" : "=r" (val)); | 88 | asm volatile ("mrc p15, 1, %0, c9, c0, 2" : "=r" (val)); |
87 | 89 | ||
88 | return val; | 90 | return val; |
89 | } | 91 | } |
90 | 92 | ||
91 | /* write L2 control register (L2CTLR) */ | 93 | /* write L2 control register (L2CTLR) */ |
92 | static inline void write_l2ctlr(uint32_t val) | 94 | static inline void write_l2ctlr(uint32_t val) |
93 | { | 95 | { |
94 | /* | 96 | /* |
95 | * Note: L2CTLR can only be written when the L2 memory system | 97 | * Note: L2CTLR can only be written when the L2 memory system |
96 | * is idle, ie before the MMU is enabled. | 98 | * is idle, ie before the MMU is enabled. |
97 | */ | 99 | */ |
98 | asm volatile("mcr p15, 1, %0, c9, c0, 2" : : "r" (val) : "memory"); | 100 | asm volatile("mcr p15, 1, %0, c9, c0, 2" : : "r" (val) : "memory"); |
99 | isb(); | 101 | isb(); |
100 | } | 102 | } |
101 | 103 | ||
102 | static void configure_l2ctlr(void) | 104 | static void configure_l2ctlr(void) |
103 | { | 105 | { |
104 | uint32_t l2ctlr; | 106 | uint32_t l2ctlr; |
105 | 107 | ||
106 | l2ctlr = read_l2ctlr(); | 108 | l2ctlr = read_l2ctlr(); |
107 | l2ctlr &= 0xfffc0000; /* clear bit0~bit17 */ | 109 | l2ctlr &= 0xfffc0000; /* clear bit0~bit17 */ |
108 | 110 | ||
109 | /* | 111 | /* |
110 | * Data RAM write latency: 2 cycles | 112 | * Data RAM write latency: 2 cycles |
111 | * Data RAM read latency: 2 cycles | 113 | * Data RAM read latency: 2 cycles |
112 | * Data RAM setup latency: 1 cycle | 114 | * Data RAM setup latency: 1 cycle |
113 | * Tag RAM write latency: 1 cycle | 115 | * Tag RAM write latency: 1 cycle |
114 | * Tag RAM read latency: 1 cycle | 116 | * Tag RAM read latency: 1 cycle |
115 | * Tag RAM setup latency: 1 cycle | 117 | * Tag RAM setup latency: 1 cycle |
116 | */ | 118 | */ |
117 | l2ctlr |= (1 << 3 | 1 << 0); | 119 | l2ctlr |= (1 << 3 | 1 << 0); |
118 | write_l2ctlr(l2ctlr); | 120 | write_l2ctlr(l2ctlr); |
119 | } | 121 | } |
120 | 122 | ||
121 | #ifdef CONFIG_SPL_MMC_SUPPORT | 123 | #ifdef CONFIG_SPL_MMC_SUPPORT |
122 | static int configure_emmc(struct udevice *pinctrl) | 124 | static int configure_emmc(struct udevice *pinctrl) |
123 | { | 125 | { |
124 | #if defined(CONFIG_TARGET_CHROMEBOOK_JERRY) | 126 | #if defined(CONFIG_TARGET_CHROMEBOOK_JERRY) |
125 | 127 | ||
126 | struct gpio_desc desc; | 128 | struct gpio_desc desc; |
127 | int ret; | 129 | int ret; |
128 | 130 | ||
129 | pinctrl_request_noflags(pinctrl, PERIPH_ID_EMMC); | 131 | pinctrl_request_noflags(pinctrl, PERIPH_ID_EMMC); |
130 | 132 | ||
131 | /* | 133 | /* |
132 | * TODO(sjg@chromium.org): Pick this up from device tree or perhaps | 134 | * TODO(sjg@chromium.org): Pick this up from device tree or perhaps |
133 | * use the EMMC_PWREN setting. | 135 | * use the EMMC_PWREN setting. |
134 | */ | 136 | */ |
135 | ret = dm_gpio_lookup_name("D9", &desc); | 137 | ret = dm_gpio_lookup_name("D9", &desc); |
136 | if (ret) { | 138 | if (ret) { |
137 | debug("gpio ret=%d\n", ret); | 139 | debug("gpio ret=%d\n", ret); |
138 | return ret; | 140 | return ret; |
139 | } | 141 | } |
140 | ret = dm_gpio_request(&desc, "emmc_pwren"); | 142 | ret = dm_gpio_request(&desc, "emmc_pwren"); |
141 | if (ret) { | 143 | if (ret) { |
142 | debug("gpio_request ret=%d\n", ret); | 144 | debug("gpio_request ret=%d\n", ret); |
143 | return ret; | 145 | return ret; |
144 | } | 146 | } |
145 | ret = dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT); | 147 | ret = dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT); |
146 | if (ret) { | 148 | if (ret) { |
147 | debug("gpio dir ret=%d\n", ret); | 149 | debug("gpio dir ret=%d\n", ret); |
148 | return ret; | 150 | return ret; |
149 | } | 151 | } |
150 | ret = dm_gpio_set_value(&desc, 1); | 152 | ret = dm_gpio_set_value(&desc, 1); |
151 | if (ret) { | 153 | if (ret) { |
152 | debug("gpio value ret=%d\n", ret); | 154 | debug("gpio value ret=%d\n", ret); |
153 | return ret; | 155 | return ret; |
154 | } | 156 | } |
155 | #endif | 157 | #endif |
156 | return 0; | 158 | return 0; |
157 | } | 159 | } |
158 | #endif | 160 | #endif |
159 | 161 | ||
162 | #if !defined(CONFIG_SPL_OF_PLATDATA) | ||
163 | static int phycore_init(void) | ||
164 | { | ||
165 | struct udevice *pmic; | ||
166 | int ret; | ||
167 | |||
168 | ret = uclass_first_device_err(UCLASS_PMIC, &pmic); | ||
169 | if (ret) | ||
170 | return ret; | ||
171 | |||
172 | #if defined(CONFIG_SPL_POWER_SUPPORT) | ||
173 | /* Increase USB input current to 2A */ | ||
174 | ret = rk818_spl_configure_usb_input_current(pmic, 2000); | ||
175 | if (ret) | ||
176 | return ret; | ||
177 | |||
178 | /* Close charger when USB lower then 3.26V */ | ||
179 | ret = rk818_spl_configure_usb_chrg_shutdown(pmic, 3260000); | ||
180 | if (ret) | ||
181 | return ret; | ||
182 | #endif | ||
183 | |||
184 | return 0; | ||
185 | } | ||
186 | #endif | ||
187 | |||
160 | void board_init_f(ulong dummy) | 188 | void board_init_f(ulong dummy) |
161 | { | 189 | { |
162 | struct udevice *pinctrl; | 190 | struct udevice *pinctrl; |
163 | struct udevice *dev; | 191 | struct udevice *dev; |
164 | int ret; | 192 | int ret; |
165 | 193 | ||
166 | /* Example code showing how to enable the debug UART on RK3288 */ | 194 | /* Example code showing how to enable the debug UART on RK3288 */ |
167 | #include <asm/arch/grf_rk3288.h> | 195 | #include <asm/arch/grf_rk3288.h> |
168 | /* Enable early UART on the RK3288 */ | 196 | /* Enable early UART on the RK3288 */ |
169 | #define GRF_BASE 0xff770000 | 197 | #define GRF_BASE 0xff770000 |
170 | struct rk3288_grf * const grf = (void *)GRF_BASE; | 198 | struct rk3288_grf * const grf = (void *)GRF_BASE; |
171 | 199 | ||
172 | rk_clrsetreg(&grf->gpio7ch_iomux, GPIO7C7_MASK << GPIO7C7_SHIFT | | 200 | rk_clrsetreg(&grf->gpio7ch_iomux, GPIO7C7_MASK << GPIO7C7_SHIFT | |
173 | GPIO7C6_MASK << GPIO7C6_SHIFT, | 201 | GPIO7C6_MASK << GPIO7C6_SHIFT, |
174 | GPIO7C7_UART2DBG_SOUT << GPIO7C7_SHIFT | | 202 | GPIO7C7_UART2DBG_SOUT << GPIO7C7_SHIFT | |
175 | GPIO7C6_UART2DBG_SIN << GPIO7C6_SHIFT); | 203 | GPIO7C6_UART2DBG_SIN << GPIO7C6_SHIFT); |
176 | /* | 204 | /* |
177 | * Debug UART can be used from here if required: | 205 | * Debug UART can be used from here if required: |
178 | * | 206 | * |
179 | * debug_uart_init(); | 207 | * debug_uart_init(); |
180 | * printch('a'); | 208 | * printch('a'); |
181 | * printhex8(0x1234); | 209 | * printhex8(0x1234); |
182 | * printascii("string"); | 210 | * printascii("string"); |
183 | */ | 211 | */ |
184 | debug_uart_init(); | 212 | debug_uart_init(); |
185 | debug("\nspl:debug uart enabled in %s\n", __func__); | 213 | debug("\nspl:debug uart enabled in %s\n", __func__); |
186 | ret = spl_early_init(); | 214 | ret = spl_early_init(); |
187 | if (ret) { | 215 | if (ret) { |
188 | debug("spl_early_init() failed: %d\n", ret); | 216 | debug("spl_early_init() failed: %d\n", ret); |
189 | hang(); | 217 | hang(); |
190 | } | 218 | } |
191 | 219 | ||
192 | rockchip_timer_init(); | 220 | rockchip_timer_init(); |
193 | configure_l2ctlr(); | 221 | configure_l2ctlr(); |
194 | 222 | ||
195 | ret = rockchip_get_clk(&dev); | 223 | ret = rockchip_get_clk(&dev); |
196 | if (ret) { | 224 | if (ret) { |
197 | debug("CLK init failed: %d\n", ret); | 225 | debug("CLK init failed: %d\n", ret); |
198 | return; | 226 | return; |
199 | } | 227 | } |
200 | 228 | ||
201 | ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); | 229 | ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); |
202 | if (ret) { | 230 | if (ret) { |
203 | debug("Pinctrl init failed: %d\n", ret); | 231 | debug("Pinctrl init failed: %d\n", ret); |
204 | return; | 232 | return; |
205 | } | 233 | } |
234 | |||
235 | #if !defined(CONFIG_SPL_OF_PLATDATA) | ||
236 | if (of_machine_is_compatible("phytec,rk3288-phycore-som")) { | ||
237 | ret = phycore_init(); | ||
238 | if (ret) { | ||
239 | debug("Failed to set up phycore power settings: %d\n", | ||
240 | ret); | ||
241 | return; | ||
242 | } | ||
243 | } | ||
244 | #endif | ||
245 | |||
206 | debug("\nspl:init dram\n"); | 246 | debug("\nspl:init dram\n"); |
207 | ret = uclass_get_device(UCLASS_RAM, 0, &dev); | 247 | ret = uclass_get_device(UCLASS_RAM, 0, &dev); |
208 | if (ret) { | 248 | if (ret) { |
209 | debug("DRAM init failed: %d\n", ret); | 249 | debug("DRAM init failed: %d\n", ret); |
210 | return; | 250 | return; |
211 | } | 251 | } |
212 | #if defined(CONFIG_ROCKCHIP_SPL_BACK_TO_BROM) && !defined(CONFIG_SPL_BOARD_INIT) | 252 | #if defined(CONFIG_ROCKCHIP_SPL_BACK_TO_BROM) && !defined(CONFIG_SPL_BOARD_INIT) |
213 | back_to_bootrom(); | 253 | back_to_bootrom(); |
214 | #endif | 254 | #endif |
215 | } | 255 | } |
216 | 256 | ||
217 | static int setup_led(void) | 257 | static int setup_led(void) |
218 | { | 258 | { |
219 | #ifdef CONFIG_SPL_LED | 259 | #ifdef CONFIG_SPL_LED |
220 | struct udevice *dev; | 260 | struct udevice *dev; |
221 | char *led_name; | 261 | char *led_name; |
222 | int ret; | 262 | int ret; |
223 | 263 | ||
224 | led_name = fdtdec_get_config_string(gd->fdt_blob, "u-boot,boot-led"); | 264 | led_name = fdtdec_get_config_string(gd->fdt_blob, "u-boot,boot-led"); |
225 | if (!led_name) | 265 | if (!led_name) |
226 | return 0; | 266 | return 0; |
227 | ret = led_get_by_label(led_name, &dev); | 267 | ret = led_get_by_label(led_name, &dev); |
228 | if (ret) { | 268 | if (ret) { |
229 | debug("%s: get=%d\n", __func__, ret); | 269 | debug("%s: get=%d\n", __func__, ret); |
230 | return ret; | 270 | return ret; |
231 | } | 271 | } |
232 | ret = led_set_on(dev, 1); | 272 | ret = led_set_on(dev, 1); |
233 | if (ret) | 273 | if (ret) |
234 | return ret; | 274 | return ret; |
235 | #endif | 275 | #endif |
236 | 276 | ||
237 | return 0; | 277 | return 0; |
238 | } | 278 | } |
239 | 279 | ||
240 | void spl_board_init(void) | 280 | void spl_board_init(void) |
241 | { | 281 | { |
242 | struct udevice *pinctrl; | 282 | struct udevice *pinctrl; |
243 | int ret; | 283 | int ret; |
244 | 284 | ||
245 | ret = setup_led(); | 285 | ret = setup_led(); |
246 | 286 | ||
247 | if (ret) { | 287 | if (ret) { |
248 | debug("LED ret=%d\n", ret); | 288 | debug("LED ret=%d\n", ret); |
249 | hang(); | 289 | hang(); |
250 | } | 290 | } |
251 | 291 | ||
252 | ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); | 292 | ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); |
253 | if (ret) { | 293 | if (ret) { |
254 | debug("%s: Cannot find pinctrl device\n", __func__); | 294 | debug("%s: Cannot find pinctrl device\n", __func__); |
255 | goto err; | 295 | goto err; |
256 | } | 296 | } |
257 | 297 | ||
258 | #ifdef CONFIG_SPL_MMC_SUPPORT | 298 | #ifdef CONFIG_SPL_MMC_SUPPORT |
259 | ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_SDCARD); | 299 | ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_SDCARD); |
260 | if (ret) { | 300 | if (ret) { |
261 | debug("%s: Failed to set up SD card\n", __func__); | 301 | debug("%s: Failed to set up SD card\n", __func__); |
262 | goto err; | 302 | goto err; |
263 | } | 303 | } |
264 | ret = configure_emmc(pinctrl); | 304 | ret = configure_emmc(pinctrl); |
265 | if (ret) { | 305 | if (ret) { |
266 | debug("%s: Failed to set up eMMC\n", __func__); | 306 | debug("%s: Failed to set up eMMC\n", __func__); |
267 | goto err; | 307 | goto err; |
268 | } | 308 | } |
269 | #endif | 309 | #endif |
270 | 310 | ||
271 | /* Enable debug UART */ | 311 | /* Enable debug UART */ |
272 | ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG); | 312 | ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG); |
273 | if (ret) { | 313 | if (ret) { |
274 | debug("%s: Failed to set up console UART\n", __func__); | 314 | debug("%s: Failed to set up console UART\n", __func__); |
275 | goto err; | 315 | goto err; |
276 | } | 316 | } |
277 | 317 | ||
278 | preloader_console_init(); | 318 | preloader_console_init(); |
279 | #ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM | 319 | #ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM |
280 | back_to_bootrom(); | 320 | back_to_bootrom(); |
281 | #endif | 321 | #endif |
282 | return; | 322 | return; |
283 | err: | 323 | err: |
284 | printf("spl_board_init: Error %d\n", ret); | 324 | printf("spl_board_init: Error %d\n", ret); |
285 | 325 | ||
286 | /* No way to report error here */ | 326 | /* No way to report error here */ |
287 | hang(); | 327 | hang(); |
288 | } | 328 | } |
289 | 329 |
arch/arm/mach-rockchip/rk3288/Kconfig
1 | if ROCKCHIP_RK3288 | 1 | if ROCKCHIP_RK3288 |
2 | 2 | ||
3 | config TARGET_CHROMEBOOK_JERRY | 3 | config TARGET_CHROMEBOOK_JERRY |
4 | bool "Google/Rockchip Veyron-Jerry Chromebook" | 4 | bool "Google/Rockchip Veyron-Jerry Chromebook" |
5 | select BOARD_LATE_INIT | 5 | select BOARD_LATE_INIT |
6 | help | 6 | help |
7 | Jerry is a RK3288-based clamshell device with 2 USB 3.0 ports, | 7 | Jerry is a RK3288-based clamshell device with 2 USB 3.0 ports, |
8 | HDMI, an 11.9 inch EDP display, micro-SD card, touchpad and | 8 | HDMI, an 11.9 inch EDP display, micro-SD card, touchpad and |
9 | WiFi. It includes a Chrome OS EC (Cortex-M3) to provide access to | 9 | WiFi. It includes a Chrome OS EC (Cortex-M3) to provide access to |
10 | the keyboard and battery functions. | 10 | the keyboard and battery functions. |
11 | 11 | ||
12 | config TARGET_CHROMEBIT_MICKEY | 12 | config TARGET_CHROMEBIT_MICKEY |
13 | bool "Google/Rockchip Veyron-Mickey Chromebit" | 13 | bool "Google/Rockchip Veyron-Mickey Chromebit" |
14 | select BOARD_LATE_INIT | 14 | select BOARD_LATE_INIT |
15 | help | 15 | help |
16 | Mickey is a small RK3288-based device with one USB 3.0 port, HDMI | 16 | Mickey is a small RK3288-based device with one USB 3.0 port, HDMI |
17 | and WiFi. It has a separate power port and is designed to connect | 17 | and WiFi. It has a separate power port and is designed to connect |
18 | to the HDMI input of a monitor or TV. It has no internal battery. | 18 | to the HDMI input of a monitor or TV. It has no internal battery. |
19 | Typically a USB hub or wireless keyboard/touchpad is used to get | 19 | Typically a USB hub or wireless keyboard/touchpad is used to get |
20 | keyboard and mouse access. | 20 | keyboard and mouse access. |
21 | 21 | ||
22 | config TARGET_CHROMEBOOK_MINNIE | 22 | config TARGET_CHROMEBOOK_MINNIE |
23 | bool "Google/Rockchip Veyron-Minnie Chromebook" | 23 | bool "Google/Rockchip Veyron-Minnie Chromebook" |
24 | select BOARD_LATE_INIT | 24 | select BOARD_LATE_INIT |
25 | help | 25 | help |
26 | Minnie is a RK3288-based convertible clamshell device with 2 USB 3.0 | 26 | Minnie is a RK3288-based convertible clamshell device with 2 USB 3.0 |
27 | ports, micro HDMI, a 10.1-inch 1280x800 EDP display, micro-SD card, | 27 | ports, micro HDMI, a 10.1-inch 1280x800 EDP display, micro-SD card, |
28 | HD camera, touchpad, WiFi and Bluetooth. It includes a Chrome OS | 28 | HD camera, touchpad, WiFi and Bluetooth. It includes a Chrome OS |
29 | EC (Cortex-M3) to provide access to the keyboard and battery | 29 | EC (Cortex-M3) to provide access to the keyboard and battery |
30 | functions. It includes 2 or 4GB of SDRAM and 16 or 32GB of | 30 | functions. It includes 2 or 4GB of SDRAM and 16 or 32GB of |
31 | internal MMC. The product name is ASUS Chromebook Flip. | 31 | internal MMC. The product name is ASUS Chromebook Flip. |
32 | 32 | ||
33 | config TARGET_EVB_RK3288 | 33 | config TARGET_EVB_RK3288 |
34 | bool "Evb-RK3288" | 34 | bool "Evb-RK3288" |
35 | select BOARD_LATE_INIT | 35 | select BOARD_LATE_INIT |
36 | help | 36 | help |
37 | EVB-RK3288 is a RK3288-based development board with 2 USB ports, | 37 | EVB-RK3288 is a RK3288-based development board with 2 USB ports, |
38 | HDMI, VGA, micro-SD card, audio, WiFi and Gigabit Ethernet, It | 38 | HDMI, VGA, micro-SD card, audio, WiFi and Gigabit Ethernet, It |
39 | also includes on-board eMMC and 2GB of SDRAM. Expansion connectors | 39 | also includes on-board eMMC and 2GB of SDRAM. Expansion connectors |
40 | provide access to display pins, I2C, SPI, UART and GPIOs. | 40 | provide access to display pins, I2C, SPI, UART and GPIOs. |
41 | 41 | ||
42 | config TARGET_FENNEC_RK3288 | 42 | config TARGET_FENNEC_RK3288 |
43 | bool "Fennec-RK3288" | 43 | bool "Fennec-RK3288" |
44 | select BOARD_LATE_INIT | 44 | select BOARD_LATE_INIT |
45 | help | 45 | help |
46 | Fennec is a RK3288-based development board with 2 USB ports, | 46 | Fennec is a RK3288-based development board with 2 USB ports, |
47 | HDMI, micro-SD card, audio, WiFi and Gigabit Ethernet. It also | 47 | HDMI, micro-SD card, audio, WiFi and Gigabit Ethernet. It also |
48 | includes on-board eMMC and 2GB of SDRAM. Expansion connectors | 48 | includes on-board eMMC and 2GB of SDRAM. Expansion connectors |
49 | provide access to display pins, I2C, SPI, UART and GPIOs. | 49 | provide access to display pins, I2C, SPI, UART and GPIOs. |
50 | 50 | ||
51 | config TARGET_FIREFLY_RK3288 | 51 | config TARGET_FIREFLY_RK3288 |
52 | bool "Firefly-RK3288" | 52 | bool "Firefly-RK3288" |
53 | select BOARD_LATE_INIT | 53 | select BOARD_LATE_INIT |
54 | help | 54 | help |
55 | Firefly is a RK3288-based development board with 2 USB ports, | 55 | Firefly is a RK3288-based development board with 2 USB ports, |
56 | HDMI, VGA, micro-SD card, audio, WiFi and Gigabit Ethernet, It | 56 | HDMI, VGA, micro-SD card, audio, WiFi and Gigabit Ethernet, It |
57 | also includes on-board eMMC and 1GB of SDRAM. Expansion connectors | 57 | also includes on-board eMMC and 1GB of SDRAM. Expansion connectors |
58 | provide access to display pins, I2C, SPI, UART and GPIOs. | 58 | provide access to display pins, I2C, SPI, UART and GPIOs. |
59 | 59 | ||
60 | config TARGET_MIQI_RK3288 | 60 | config TARGET_MIQI_RK3288 |
61 | bool "MiQi-RK3288" | 61 | bool "MiQi-RK3288" |
62 | select BOARD_LATE_INIT | 62 | select BOARD_LATE_INIT |
63 | help | 63 | help |
64 | MiQi-RK3288 is a RK3288-based development board with 4 USB 2.0 | 64 | MiQi-RK3288 is a RK3288-based development board with 4 USB 2.0 |
65 | ports, HDMI, micro-SD card, 16 GB eMMC and Gigabit Ethernet. It | 65 | ports, HDMI, micro-SD card, 16 GB eMMC and Gigabit Ethernet. It |
66 | has 1 or 2 GiB SDRAM. Expansion connectors provide access to | 66 | has 1 or 2 GiB SDRAM. Expansion connectors provide access to |
67 | I2C, SPI, UART, GPIOs and fan control. | 67 | I2C, SPI, UART, GPIOs and fan control. |
68 | 68 | ||
69 | config TARGET_PHYCORE_RK3288 | ||
70 | bool "phyCORE-RK3288" | ||
71 | select BOARD_LATE_INIT | ||
72 | help | ||
73 | Add basic support for the PCM-947 carrier board, a RK3288 based | ||
74 | development board made by PHYTEC. This board works in a combination | ||
75 | with the phyCORE-RK3288 System on Module. | ||
76 | |||
69 | config TARGET_POPMETAL_RK3288 | 77 | config TARGET_POPMETAL_RK3288 |
70 | bool "PopMetal-RK3288" | 78 | bool "PopMetal-RK3288" |
71 | select BOARD_LATE_INIT | 79 | select BOARD_LATE_INIT |
72 | help | 80 | help |
73 | PopMetal is a RK3288-based development board with 3 USB host ports, | 81 | PopMetal is a RK3288-based development board with 3 USB host ports, |
74 | 1 micro USB OTG port, HDMI, VGA, micro-SD card, audio, WiFi, Gigabit | 82 | 1 micro USB OTG port, HDMI, VGA, micro-SD card, audio, WiFi, Gigabit |
75 | Ethernet and lots of sensors. It also includes on-board 8 GeMMC and | 83 | Ethernet and lots of sensors. It also includes on-board 8 GeMMC and |
76 | 2GB DDR3. Expansion connectors provide access to I2C, SPI, UART, | 84 | 2GB DDR3. Expansion connectors provide access to I2C, SPI, UART, |
77 | GPIOs and display interface. | 85 | GPIOs and display interface. |
78 | 86 | ||
79 | config TARGET_ROCK2 | 87 | config TARGET_ROCK2 |
80 | bool "Radxa Rock 2" | 88 | bool "Radxa Rock 2" |
81 | select BOARD_LATE_INIT | 89 | select BOARD_LATE_INIT |
82 | help | 90 | help |
83 | Rock 2 is a SOM and base-board combination based on RK3288. It | 91 | Rock 2 is a SOM and base-board combination based on RK3288. It |
84 | includes Ethernet, HDMI, 3 USB, micro-SD, audio, SATA, WiFi and | 92 | includes Ethernet, HDMI, 3 USB, micro-SD, audio, SATA, WiFi and |
85 | space for a real-time-clock battery. There is also an expansion | 93 | space for a real-time-clock battery. There is also an expansion |
86 | interface which provides access to many pins. | 94 | interface which provides access to many pins. |
87 | 95 | ||
88 | config TARGET_TINKER_RK3288 | 96 | config TARGET_TINKER_RK3288 |
89 | bool "Tinker-RK3288" | 97 | bool "Tinker-RK3288" |
90 | select BOARD_LATE_INIT | 98 | select BOARD_LATE_INIT |
91 | help | 99 | help |
92 | Tinker is a RK3288-based development board with 2 USB ports, HDMI, | 100 | Tinker is a RK3288-based development board with 2 USB ports, HDMI, |
93 | micro-SD card, audio, Gigabit Ethernet. It also includes on-board | 101 | micro-SD card, audio, Gigabit Ethernet. It also includes on-board |
94 | 8GB eMMC and 2GB of SDRAM. Expansion connectors provide access to | 102 | 8GB eMMC and 2GB of SDRAM. Expansion connectors provide access to |
95 | I2C, SPI, UART, GPIOs. | 103 | I2C, SPI, UART, GPIOs. |
96 | 104 | ||
97 | config ROCKCHIP_FAST_SPL | 105 | config ROCKCHIP_FAST_SPL |
98 | bool "Change the CPU to full speed in SPL" | 106 | bool "Change the CPU to full speed in SPL" |
99 | depends on TARGET_CHROMEBOOK_JERRY | 107 | depends on TARGET_CHROMEBOOK_JERRY |
100 | help | 108 | help |
101 | Some boards want to boot as fast as possible. We can increase the | 109 | Some boards want to boot as fast as possible. We can increase the |
102 | CPU frequency in SPL if the power supply is configured to the correct | 110 | CPU frequency in SPL if the power supply is configured to the correct |
103 | voltage. This option is only available on boards which support it | 111 | voltage. This option is only available on boards which support it |
104 | and have the required PMIC code. | 112 | and have the required PMIC code. |
105 | 113 | ||
106 | config SYS_SOC | 114 | config SYS_SOC |
107 | default "rockchip" | 115 | default "rockchip" |
108 | 116 | ||
109 | config SYS_MALLOC_F_LEN | 117 | config SYS_MALLOC_F_LEN |
110 | default 0x0800 | 118 | default 0x0800 |
111 | 119 | ||
112 | config SPL_DRIVERS_MISC_SUPPORT | 120 | config SPL_DRIVERS_MISC_SUPPORT |
113 | default y | 121 | default y |
114 | 122 | ||
115 | config SPL_LIBCOMMON_SUPPORT | 123 | config SPL_LIBCOMMON_SUPPORT |
116 | default y | 124 | default y |
117 | 125 | ||
118 | config SPL_LIBGENERIC_SUPPORT | 126 | config SPL_LIBGENERIC_SUPPORT |
119 | default y | 127 | default y |
120 | 128 | ||
121 | config SPL_SERIAL_SUPPORT | 129 | config SPL_SERIAL_SUPPORT |
122 | default y | 130 | default y |
123 | 131 | ||
124 | source "board/chipspark/popmetal_rk3288/Kconfig" | 132 | source "board/chipspark/popmetal_rk3288/Kconfig" |
125 | 133 | ||
126 | source "board/firefly/firefly-rk3288/Kconfig" | 134 | source "board/firefly/firefly-rk3288/Kconfig" |
127 | 135 | ||
128 | source "board/google/veyron/Kconfig" | 136 | source "board/google/veyron/Kconfig" |
129 | 137 | ||
130 | source "board/mqmaker/miqi_rk3288/Kconfig" | 138 | source "board/mqmaker/miqi_rk3288/Kconfig" |
139 | |||
140 | source "board/phytec/phycore_rk3288/Kconfig" | ||
131 | 141 | ||
132 | source "board/radxa/rock2/Kconfig" | 142 | source "board/radxa/rock2/Kconfig" |
133 | 143 | ||
134 | source "board/rockchip/evb_rk3288/Kconfig" | 144 | source "board/rockchip/evb_rk3288/Kconfig" |
135 | 145 | ||
136 | source "board/rockchip/fennec_rk3288/Kconfig" | 146 | source "board/rockchip/fennec_rk3288/Kconfig" |
137 | 147 | ||
138 | source "board/rockchip/tinker_rk3288/Kconfig" | 148 | source "board/rockchip/tinker_rk3288/Kconfig" |
139 | 149 | ||
140 | endif | 150 | endif |
141 | 151 |
board/phytec/phycore_rk3288/Kconfig
File was created | 1 | if TARGET_PHYCORE_RK3288 | |
2 | |||
3 | config SYS_BOARD | ||
4 | default "phycore_rk3288" | ||
5 | |||
6 | config SYS_VENDOR | ||
7 | default "phytec" | ||
8 | |||
9 | config SYS_CONFIG_NAME | ||
10 | default "phycore_rk3288" | ||
11 | |||
12 | config BOARD_SPECIFIC_OPTIONS # dummy | ||
13 | def_bool y | ||
14 | |||
15 | endif | ||
16 |
board/phytec/phycore_rk3288/MAINTAINERS
File was created | 1 | phyCORE-RK3288 | |
2 | M: Wadim Egorov <w.egorov@phytec.de> | ||
3 | S: Maintained | ||
4 | F: board/phytec/phycore_rk3288 | ||
5 | F: include/configs/phycore_rk3288.h | ||
6 | F: configs/phycore-rk3288_defconfig | ||
7 |
board/phytec/phycore_rk3288/Makefile
File was created | 1 | # | |
2 | # Copyright (C) 2017 PHYTEC Messtechnik GmbH | ||
3 | # Author: Wadim Egorov <w.egorov@phytec.de> | ||
4 | # | ||
5 | # SPDX-License-Identifier: GPL-2.0+ | ||
6 | # | ||
7 | |||
8 | obj-y += phycore-rk3288.o | ||
9 |
board/phytec/phycore_rk3288/phycore-rk3288.c
File was created | 1 | /* | |
2 | * Copyright (C) 2017 PHYTEC Messtechnik GmbH | ||
3 | * Author: Wadim Egorov <w.egorov@phytec.de> | ||
4 | * | ||
5 | * SPDX-License-Identifier: GPL-2.0+ | ||
6 | */ | ||
7 | |||
8 | #include <common.h> | ||
9 |
configs/phycore-rk3288_defconfig
File was created | 1 | CONFIG_ARM=y | |
2 | CONFIG_ARCH_ROCKCHIP=y | ||
3 | CONFIG_SYS_MALLOC_F_LEN=0x2000 | ||
4 | CONFIG_ROCKCHIP_RK3288=y | ||
5 | CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y | ||
6 | CONFIG_TARGET_PHYCORE_RK3288=y | ||
7 | CONFIG_SPL_STACK_R_ADDR=0x80000 | ||
8 | CONFIG_DEFAULT_DEVICE_TREE="rk3288-phycore-rdk" | ||
9 | CONFIG_DEBUG_UART=y | ||
10 | CONFIG_SILENT_CONSOLE=y | ||
11 | CONFIG_CONSOLE_MUX=y | ||
12 | # CONFIG_DISPLAY_CPUINFO is not set | ||
13 | CONFIG_SPL_STACK_R=y | ||
14 | CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000 | ||
15 | CONFIG_SPL_I2C_SUPPORT=y | ||
16 | CONFIG_SPL_POWER_SUPPORT=y | ||
17 | # CONFIG_CMD_IMLS is not set | ||
18 | CONFIG_CMD_GPT=y | ||
19 | CONFIG_CMD_MMC=y | ||
20 | CONFIG_CMD_SF=y | ||
21 | CONFIG_CMD_SPI=y | ||
22 | CONFIG_CMD_I2C=y | ||
23 | CONFIG_CMD_USB=y | ||
24 | CONFIG_CMD_GPIO=y | ||
25 | # CONFIG_CMD_SETEXPR is not set | ||
26 | CONFIG_CMD_CACHE=y | ||
27 | CONFIG_CMD_TIME=y | ||
28 | CONFIG_CMD_PMIC=y | ||
29 | CONFIG_CMD_REGULATOR=y | ||
30 | # CONFIG_SPL_DOS_PARTITION is not set | ||
31 | # CONFIG_SPL_ISO_PARTITION is not set | ||
32 | # CONFIG_SPL_EFI_PARTITION is not set | ||
33 | CONFIG_SPL_PARTITION_UUIDS=y | ||
34 | CONFIG_SPL_OF_CONTROL=y | ||
35 | CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" | ||
36 | CONFIG_REGMAP=y | ||
37 | CONFIG_SPL_REGMAP=y | ||
38 | CONFIG_SYSCON=y | ||
39 | CONFIG_SPL_SYSCON=y | ||
40 | # CONFIG_SPL_SIMPLE_BUS is not set | ||
41 | CONFIG_CLK=y | ||
42 | CONFIG_SPL_CLK=y | ||
43 | CONFIG_ROCKCHIP_GPIO=y | ||
44 | CONFIG_SYS_I2C_ROCKCHIP=y | ||
45 | CONFIG_MMC_DW=y | ||
46 | CONFIG_MMC_DW_ROCKCHIP=y | ||
47 | CONFIG_DM_ETH=y | ||
48 | CONFIG_ETH_DESIGNWARE=y | ||
49 | CONFIG_GMAC_ROCKCHIP=y | ||
50 | CONFIG_PINCTRL=y | ||
51 | CONFIG_SPL_PINCTRL=y | ||
52 | # CONFIG_SPL_PINCTRL_FULL is not set | ||
53 | CONFIG_PINCTRL_ROCKCHIP_RK3288=y | ||
54 | CONFIG_DM_PMIC=y | ||
55 | CONFIG_PMIC_RK8XX=y | ||
56 | CONFIG_DM_REGULATOR_FIXED=y | ||
57 | CONFIG_REGULATOR_RK8XX=y | ||
58 | CONFIG_PWM_ROCKCHIP=y | ||
59 | CONFIG_RAM=y | ||
60 | CONFIG_SPL_RAM=y | ||
61 | CONFIG_DEBUG_UART_BASE=0xff690000 | ||
62 | CONFIG_DEBUG_UART_CLOCK=24000000 | ||
63 | CONFIG_DEBUG_UART_SHIFT=2 | ||
64 | CONFIG_SYS_NS16550=y | ||
65 | CONFIG_SYSRESET=y | ||
66 | CONFIG_USB=y | ||
67 | CONFIG_USB_STORAGE=y | ||
68 | CONFIG_USE_TINY_PRINTF=y | ||
69 | CONFIG_CMD_DHRYSTONE=y | ||
70 | CONFIG_ERRNO_STR=y | ||
71 |
include/configs/phycore_rk3288.h
File was created | 1 | /* | |
2 | * Copyright (C) 2017 PHYTEC Messtechnik GmbH | ||
3 | * Author: Wadim Egorov <w.egorov@phytec.de> | ||
4 | * | ||
5 | * SPDX-License-Identifier: GPL-2.0+ | ||
6 | */ | ||
7 | |||
8 | #ifndef __CONFIG_H | ||
9 | #define __CONFIG_H | ||
10 | |||
11 | #define ROCKCHIP_DEVICE_SETTINGS | ||
12 | #include <configs/rk3288_common.h> | ||
13 | |||
14 | #undef BOOT_TARGET_DEVICES | ||
15 | |||
16 | #define BOOT_TARGET_DEVICES(func) \ | ||
17 | func(MMC, mmc, 0) \ | ||
18 | func(MMC, mmc, 1) | ||
19 | |||
20 | #define CONFIG_ENV_IS_IN_MMC | ||
21 | #define CONFIG_SYS_MMC_ENV_DEV 1 | ||
22 | |||
23 | #endif | ||
24 |