Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'amlogic-dt64-3' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into fixes

Amlogic 64-bit DT updates for v4.14 (round 3)
- updates for new MMC driver features/fixes
- support high-speed modes

* tag 'amlogic-dt64-3' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
ARM64: dts: meson-gxbb: nanopi-k2: enable sdr104 mode
ARM64: dts: meson-gxbb: nanopi-k2: enable sdcard UHS modes
ARM64: dts: meson-gxbb: p20x: enable sdcard UHS modes
ARM64: dts: meson-gxl: libretech-cc: enable high speed modes
ARM64: dts: meson-gxl: libretech-cc: add card regulator settle times
ARM64: dts: meson-gxbb: nanopi-k2: add card regulator settle times
ARM64: dts: meson: add mmc clk gate pins
ARM64: dts: meson: remove cap-sd-highspeed from emmc nodes
ARM64: dts: meson-gx: Use correct mmc clock source 0

Signed-off-by: Olof Johansson <olof@lixom.net>

+150 -49
+6 -4
arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
··· 168 168 &sd_emmc_a { 169 169 status = "okay"; 170 170 pinctrl-0 = <&sdio_pins>; 171 - pinctrl-names = "default"; 171 + pinctrl-1 = <&sdio_clk_gate_pins>; 172 + pinctrl-names = "default", "clk-gate"; 172 173 #address-cells = <1>; 173 174 #size-cells = <0>; 174 175 ··· 195 194 &sd_emmc_b { 196 195 status = "okay"; 197 196 pinctrl-0 = <&sdcard_pins>; 198 - pinctrl-names = "default"; 197 + pinctrl-1 = <&sdcard_clk_gate_pins>; 198 + pinctrl-names = "default", "clk-gate"; 199 199 200 200 bus-width = <4>; 201 201 cap-sd-highspeed; ··· 214 212 &sd_emmc_c { 215 213 status = "okay"; 216 214 pinctrl-0 = <&emmc_pins>; 217 - pinctrl-names = "default"; 215 + pinctrl-1 = <&emmc_clk_gate_pins>; 216 + pinctrl-names = "default", "clk-gate"; 218 217 219 218 bus-width = <8>; 220 - cap-sd-highspeed; 221 219 cap-mmc-highspeed; 222 220 max-frequency = <200000000>; 223 221 non-removable;
+14 -5
arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
··· 107 107 108 108 states = <3300000 0>, 109 109 <1800000 1>; 110 + 111 + regulator-settling-time-up-us = <100>; 112 + regulator-settling-time-down-us = <5000>; 110 113 }; 111 114 112 115 wifi_32k: wifi-32k { ··· 253 250 &sd_emmc_a { 254 251 status = "okay"; 255 252 pinctrl-0 = <&sdio_pins>, <&sdio_irq_pins>; 256 - pinctrl-names = "default"; 253 + pinctrl-1 = <&sdio_clk_gate_pins>; 254 + pinctrl-names = "default", "clk-gate"; 257 255 #address-cells = <1>; 258 256 #size-cells = <0>; 259 257 ··· 280 276 &sd_emmc_b { 281 277 status = "okay"; 282 278 pinctrl-0 = <&sdcard_pins>; 283 - pinctrl-names = "default"; 279 + pinctrl-1 = <&sdcard_clk_gate_pins>; 280 + pinctrl-names = "default", "clk-gate"; 284 281 285 282 bus-width = <4>; 286 283 cap-sd-highspeed; 287 - max-frequency = <100000000>; 284 + sd-uhs-sdr12; 285 + sd-uhs-sdr25; 286 + sd-uhs-sdr50; 287 + sd-uhs-sdr104; 288 + max-frequency = <200000000>; 288 289 disable-wp; 289 290 290 291 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; ··· 303 294 &sd_emmc_c { 304 295 status = "disabled"; 305 296 pinctrl-0 = <&emmc_pins>; 306 - pinctrl-names = "default"; 297 + pinctrl-1 = <&emmc_clk_gate_pins>; 298 + pinctrl-names = "default", "clk-gate"; 307 299 308 300 bus-width = <8>; 309 - cap-sd-highspeed; 310 301 max-frequency = <200000000>; 311 302 non-removable; 312 303 disable-wp;
+7 -5
arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
··· 51 51 / { 52 52 compatible = "nexbox,a95x", "amlogic,meson-gxbb"; 53 53 model = "NEXBOX A95X"; 54 - 54 + 55 55 aliases { 56 56 serial0 = &uart_AO; 57 57 }; ··· 232 232 &sd_emmc_a { 233 233 status = "okay"; 234 234 pinctrl-0 = <&sdio_pins>; 235 - pinctrl-names = "default"; 235 + pinctrl-1 = <&sdio_clk_gate_pins>; 236 + pinctrl-names = "default", "clk-gate"; 236 237 #address-cells = <1>; 237 238 #size-cells = <0>; 238 239 ··· 254 253 &sd_emmc_b { 255 254 status = "okay"; 256 255 pinctrl-0 = <&sdcard_pins>; 257 - pinctrl-names = "default"; 256 + pinctrl-1 = <&sdcard_clk_gate_pins>; 257 + pinctrl-names = "default", "clk-gate"; 258 258 259 259 bus-width = <4>; 260 260 cap-sd-highspeed; ··· 273 271 &sd_emmc_c { 274 272 status = "okay"; 275 273 pinctrl-0 = <&emmc_pins>; 276 - pinctrl-names = "default"; 274 + pinctrl-1 = <&emmc_clk_gate_pins>; 275 + pinctrl-names = "default", "clk-gate"; 277 276 278 277 bus-width = <8>; 279 - cap-sd-highspeed; 280 278 cap-mmc-highspeed; 281 279 max-frequency = <200000000>; 282 280 non-removable;
+5 -4
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
··· 50 50 / { 51 51 compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb"; 52 52 model = "Hardkernel ODROID-C2"; 53 - 53 + 54 54 aliases { 55 55 serial0 = &uart_AO; 56 56 }; ··· 253 253 &sd_emmc_b { 254 254 status = "okay"; 255 255 pinctrl-0 = <&sdcard_pins>; 256 - pinctrl-names = "default"; 256 + pinctrl-1 = <&sdcard_clk_gate_pins>; 257 + pinctrl-names = "default", "clk-gate"; 257 258 258 259 bus-width = <4>; 259 260 cap-sd-highspeed; ··· 272 271 &sd_emmc_c { 273 272 status = "okay"; 274 273 pinctrl-0 = <&emmc_pins>; 275 - pinctrl-names = "default"; 274 + pinctrl-1 = <&emmc_clk_gate_pins>; 275 + pinctrl-names = "default", "clk-gate"; 276 276 277 277 bus-width = <8>; 278 - cap-sd-highspeed; 279 278 max-frequency = <200000000>; 280 279 non-removable; 281 280 disable-wp;
+9 -4
arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
··· 194 194 &sd_emmc_a { 195 195 status = "okay"; 196 196 pinctrl-0 = <&sdio_pins>; 197 - pinctrl-names = "default"; 197 + pinctrl-1 = <&sdio_clk_gate_pins>; 198 + pinctrl-names = "default", "clk-gate"; 198 199 #address-cells = <1>; 199 200 #size-cells = <0>; 200 201 ··· 221 220 &sd_emmc_b { 222 221 status = "okay"; 223 222 pinctrl-0 = <&sdcard_pins>; 224 - pinctrl-names = "default"; 223 + pinctrl-1 = <&sdcard_clk_gate_pins>; 224 + pinctrl-names = "default", "clk-gate"; 225 225 226 226 bus-width = <4>; 227 227 cap-sd-highspeed; 228 + sd-uhs-sdr12; 229 + sd-uhs-sdr25; 230 + sd-uhs-sdr50; 228 231 max-frequency = <100000000>; 229 232 disable-wp; 230 233 ··· 243 238 &sd_emmc_c { 244 239 status = "okay"; 245 240 pinctrl-0 = <&emmc_pins>; 246 - pinctrl-names = "default"; 241 + pinctrl-1 = <&emmc_clk_gate_pins>; 242 + pinctrl-names = "default", "clk-gate"; 247 243 248 244 bus-width = <8>; 249 - cap-sd-highspeed; 250 245 cap-mmc-highspeed; 251 246 max-frequency = <200000000>; 252 247 non-removable;
+6 -4
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
··· 155 155 &sd_emmc_a { 156 156 status = "okay"; 157 157 pinctrl-0 = <&sdio_pins &sdio_irq_pins>; 158 - pinctrl-names = "default"; 158 + pinctrl-1 = <&sdio_clk_gate_pins>; 159 + pinctrl-names = "default", "clk-gate"; 159 160 #address-cells = <1>; 160 161 #size-cells = <0>; 161 162 ··· 182 181 &sd_emmc_b { 183 182 status = "okay"; 184 183 pinctrl-0 = <&sdcard_pins>; 185 - pinctrl-names = "default"; 184 + pinctrl-1 = <&sdcard_clk_gate_pins>; 185 + pinctrl-names = "default", "clk-gate"; 186 186 187 187 bus-width = <4>; 188 188 cap-sd-highspeed; ··· 200 198 &sd_emmc_c { 201 199 status = "okay"; 202 200 pinctrl-0 = <&emmc_pins>; 203 - pinctrl-names = "default"; 201 + pinctrl-1 = <&emmc_clk_gate_pins>; 202 + pinctrl-names = "default", "clk-gate"; 204 203 205 204 bus-width = <8>; 206 - cap-sd-highspeed; 207 205 cap-mmc-highspeed; 208 206 max-frequency = <200000000>; 209 207 non-removable;
+36 -3
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
··· 392 392 }; 393 393 }; 394 394 395 + emmc_clk_gate_pins: emmc_clk_gate { 396 + mux { 397 + groups = "BOOT_8"; 398 + function = "gpio_periphs"; 399 + }; 400 + cfg-pull-down { 401 + pins = "BOOT_8"; 402 + bias-pull-down; 403 + }; 404 + }; 405 + 395 406 nor_pins: nor { 396 407 mux { 397 408 groups = "nor_d", ··· 441 430 }; 442 431 }; 443 432 433 + sdcard_clk_gate_pins: sdcard_clk_gate { 434 + mux { 435 + groups = "CARD_2"; 436 + function = "gpio_periphs"; 437 + }; 438 + cfg-pull-down { 439 + pins = "CARD_2"; 440 + bias-pull-down; 441 + }; 442 + }; 443 + 444 444 sdio_pins: sdio { 445 445 mux { 446 446 groups = "sdio_d0", ··· 461 439 "sdio_cmd", 462 440 "sdio_clk"; 463 441 function = "sdio"; 442 + }; 443 + }; 444 + 445 + sdio_clk_gate_pins: sdio_clk_gate { 446 + mux { 447 + groups = "GPIOX_4"; 448 + function = "gpio_periphs"; 449 + }; 450 + cfg-pull-down { 451 + pins = "GPIOX_4"; 452 + bias-pull-down; 464 453 }; 465 454 }; 466 455 ··· 694 661 695 662 &sd_emmc_a { 696 663 clocks = <&clkc CLKID_SD_EMMC_A>, 697 - <&xtal>, 664 + <&clkc CLKID_SD_EMMC_A_CLK0>, 698 665 <&clkc CLKID_FCLK_DIV2>; 699 666 clock-names = "core", "clkin0", "clkin1"; 700 667 }; 701 668 702 669 &sd_emmc_b { 703 670 clocks = <&clkc CLKID_SD_EMMC_B>, 704 - <&xtal>, 671 + <&clkc CLKID_SD_EMMC_B_CLK0>, 705 672 <&clkc CLKID_FCLK_DIV2>; 706 673 clock-names = "core", "clkin0", "clkin1"; 707 674 }; 708 675 709 676 &sd_emmc_c { 710 677 clocks = <&clkc CLKID_SD_EMMC_C>, 711 - <&xtal>, 678 + <&clkc CLKID_SD_EMMC_C_CLK0>, 712 679 <&clkc CLKID_FCLK_DIV2>; 713 680 clock-names = "core", "clkin0", "clkin1"; 714 681 };
+4 -3
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
··· 123 123 &sd_emmc_b { 124 124 status = "okay"; 125 125 pinctrl-0 = <&sdcard_pins>; 126 - pinctrl-names = "default"; 126 + pinctrl-1 = <&sdcard_clk_gate_pins>; 127 + pinctrl-names = "default", "clk-gate"; 127 128 128 129 bus-width = <4>; 129 130 cap-sd-highspeed; ··· 142 141 &sd_emmc_c { 143 142 status = "okay"; 144 143 pinctrl-0 = <&emmc_pins>; 145 - pinctrl-names = "default"; 144 + pinctrl-1 = <&emmc_clk_gate_pins>; 145 + pinctrl-names = "default", "clk-gate"; 146 146 147 147 bus-width = <8>; 148 - cap-sd-highspeed; 149 148 cap-mmc-highspeed; 150 149 max-frequency = <100000000>; 151 150 non-removable;
+11 -2
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
··· 91 91 92 92 states = <3300000 0>, 93 93 <1800000 1>; 94 + 95 + regulator-settling-time-up-us = <200>; 96 + regulator-settling-time-down-us = <50000>; 94 97 }; 95 98 96 99 vddio_boot: regulator-vddio_boot { ··· 200 197 &sd_emmc_b { 201 198 status = "okay"; 202 199 pinctrl-0 = <&sdcard_pins>; 203 - pinctrl-names = "default"; 200 + pinctrl-1 = <&sdcard_clk_gate_pins>; 201 + pinctrl-names = "default", "clk-gate"; 204 202 205 203 bus-width = <4>; 206 204 cap-sd-highspeed; 205 + sd-uhs-sdr12; 206 + sd-uhs-sdr25; 207 + sd-uhs-sdr50; 207 208 max-frequency = <100000000>; 208 209 disable-wp; 209 210 ··· 222 215 &sd_emmc_c { 223 216 status = "okay"; 224 217 pinctrl-0 = <&emmc_pins>; 225 - pinctrl-names = "default"; 218 + pinctrl-1 = <&emmc_clk_gate_pins>; 219 + pinctrl-names = "default", "clk-gate"; 226 220 227 221 bus-width = <8>; 228 222 cap-mmc-highspeed; 223 + mmc-ddr-3_3v; 229 224 max-frequency = <50000000>; 230 225 non-removable; 231 226 disable-wp;
+6 -4
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
··· 189 189 &sd_emmc_a { 190 190 status = "okay"; 191 191 pinctrl-0 = <&sdio_pins>; 192 - pinctrl-names = "default"; 192 + pinctrl-1 = <&sdio_clk_gate_pins>; 193 + pinctrl-names = "default", "clk-gate"; 193 194 #address-cells = <1>; 194 195 #size-cells = <0>; 195 196 ··· 211 210 &sd_emmc_b { 212 211 status = "okay"; 213 212 pinctrl-0 = <&sdcard_pins>; 214 - pinctrl-names = "default"; 213 + pinctrl-1 = <&sdcard_clk_gate_pins>; 214 + pinctrl-names = "default", "clk-gate"; 215 215 216 216 bus-width = <4>; 217 217 cap-sd-highspeed; ··· 230 228 &sd_emmc_c { 231 229 status = "okay"; 232 230 pinctrl-0 = <&emmc_pins>; 233 - pinctrl-names = "default"; 231 + pinctrl-1 = <&emmc_clk_gate_pins>; 232 + pinctrl-names = "default", "clk-gate"; 234 233 235 234 bus-width = <8>; 236 - cap-sd-highspeed; 237 235 cap-mmc-highspeed; 238 236 max-frequency = <200000000>; 239 237 non-removable;
+6 -4
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
··· 95 95 &sd_emmc_a { 96 96 status = "okay"; 97 97 pinctrl-0 = <&sdio_pins>; 98 - pinctrl-names = "default"; 98 + pinctrl-1 = <&sdio_clk_gate_pins>; 99 + pinctrl-names = "default", "clk-gate"; 99 100 #address-cells = <1>; 100 101 #size-cells = <0>; 101 102 ··· 117 116 &sd_emmc_b { 118 117 status = "okay"; 119 118 pinctrl-0 = <&sdcard_pins>; 120 - pinctrl-names = "default"; 119 + pinctrl-1 = <&sdcard_clk_gate_pins>; 120 + pinctrl-names = "default", "clk-gate"; 121 121 122 122 bus-width = <4>; 123 123 cap-sd-highspeed; ··· 136 134 &sd_emmc_c { 137 135 status = "okay"; 138 136 pinctrl-0 = <&emmc_pins>; 139 - pinctrl-names = "default"; 137 + pinctrl-1 = <&emmc_clk_gate_pins>; 138 + pinctrl-names = "default", "clk-gate"; 140 139 141 140 bus-width = <8>; 142 - cap-sd-highspeed; 143 141 cap-mmc-highspeed; 144 142 max-frequency = <200000000>; 145 143 non-removable;
+36 -3
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
··· 281 281 }; 282 282 }; 283 283 284 + emmc_clk_gate_pins: emmc_clk_gate { 285 + mux { 286 + groups = "BOOT_8"; 287 + function = "gpio_periphs"; 288 + }; 289 + cfg-pull-down { 290 + pins = "BOOT_8"; 291 + bias-pull-down; 292 + }; 293 + }; 294 + 284 295 nor_pins: nor { 285 296 mux { 286 297 groups = "nor_d", ··· 330 319 }; 331 320 }; 332 321 322 + sdcard_clk_gate_pins: sdcard_clk_gate { 323 + mux { 324 + groups = "CARD_2"; 325 + function = "gpio_periphs"; 326 + }; 327 + cfg-pull-down { 328 + pins = "CARD_2"; 329 + bias-pull-down; 330 + }; 331 + }; 332 + 333 333 sdio_pins: sdio { 334 334 mux { 335 335 groups = "sdio_d0", ··· 350 328 "sdio_cmd", 351 329 "sdio_clk"; 352 330 function = "sdio"; 331 + }; 332 + }; 333 + 334 + sdio_clk_gate_pins: sdio_clk_gate { 335 + mux { 336 + groups = "GPIOX_4"; 337 + function = "gpio_periphs"; 338 + }; 339 + cfg-pull-down { 340 + pins = "GPIOX_4"; 341 + bias-pull-down; 353 342 }; 354 343 }; 355 344 ··· 636 603 637 604 &sd_emmc_a { 638 605 clocks = <&clkc CLKID_SD_EMMC_A>, 639 - <&xtal>, 606 + <&clkc CLKID_SD_EMMC_A_CLK0>, 640 607 <&clkc CLKID_FCLK_DIV2>; 641 608 clock-names = "core", "clkin0", "clkin1"; 642 609 }; 643 610 644 611 &sd_emmc_b { 645 612 clocks = <&clkc CLKID_SD_EMMC_B>, 646 - <&xtal>, 613 + <&clkc CLKID_SD_EMMC_B_CLK0>, 647 614 <&clkc CLKID_FCLK_DIV2>; 648 615 clock-names = "core", "clkin0", "clkin1"; 649 616 }; 650 617 651 618 &sd_emmc_c { 652 619 clocks = <&clkc CLKID_SD_EMMC_C>, 653 - <&xtal>, 620 + <&clkc CLKID_SD_EMMC_C_CLK0>, 654 621 <&clkc CLKID_FCLK_DIV2>; 655 622 clock-names = "core", "clkin0", "clkin1"; 656 623 };
+4 -3
arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
··· 175 175 &sd_emmc_b { 176 176 status = "okay"; 177 177 pinctrl-0 = <&sdcard_pins>; 178 - pinctrl-names = "default"; 178 + pinctrl-1 = <&sdcard_clk_gate_pins>; 179 + pinctrl-names = "default", "clk-gate"; 179 180 180 181 bus-width = <4>; 181 182 cap-sd-highspeed; ··· 194 193 &sd_emmc_c { 195 194 status = "okay"; 196 195 pinctrl-0 = <&emmc_pins>; 197 - pinctrl-names = "default"; 196 + pinctrl-1 = <&emmc_clk_gate_pins>; 197 + pinctrl-names = "default", "clk-gate"; 198 198 199 199 bus-width = <8>; 200 - cap-sd-highspeed; 201 200 cap-mmc-highspeed; 202 201 max-frequency = <200000000>; 203 202 non-removable;
-1
arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
··· 220 220 pinctrl-names = "default"; 221 221 222 222 bus-width = <8>; 223 - cap-sd-highspeed; 224 223 cap-mmc-highspeed; 225 224 max-frequency = <200000000>; 226 225 non-removable;