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

Merge tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Merge "omap dts changes for v4.3, part 1" from Tony Lindgren:

Omap dts changes for v4.3 merge window. There are also related
changes for reemoteproc platform_data and audio options for
omap2plus_defconfig to keep audio working when changing boards
to use SIMPLE_CARD. The summary of changes is:

- A large set of audio related changes for SIMPLE_CARD from
Peter Ujfalusi <peter.ujfalusi@ti.com> for am335x and am437x

- Pinctrl dts defines for dra7 virtual mode to configure timings

- Change to use cpsw slave0 for dra7 Ethernet

- Remove unconfigured and wrong l3-mux entry for dm816x

- Add support for Gumstix Palo35 and TobiDuo boards, and Overo
PoP NAND and McBSP2

- Start using new HDMI binding for tilcdc

- Start using new sDMA crossbar for dra7

- Start using rproc for am335x and am437x M3 coprocessor

* tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (32 commits)
ARM: dts: am335x-evm: Switch using simple-audio-card for audio support
ARM: dts: am335x-evm: Add sleep pin settings for mcasp1
ARM: dts: am335x-evm: Rename pinctrl section for McASP1
ARM: dts: am335x-evm: Fix mcasp1 node's indentation
ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support
ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1
ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation
ARM: dts: am437x-gp-evm: Enable analog audio via simple-card
ARM: dts: am437x-gp-evm: McASP1 node for audio support
ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec
ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d
ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux
ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card
ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec
ARM: dts: am43xx-epos-evm: McASP1 node for audio support
ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218
ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux
ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support
ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1
ARM: omap2plus_defconfig: Enable audio related config options
...

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

+745 -122
+4
arch/arm/boot/dts/Makefile
··· 409 409 omap3-overo-alto35.dtb \ 410 410 omap3-overo-chestnut43.dtb \ 411 411 omap3-overo-gallop43.dtb \ 412 + omap3-overo-palo35.dtb \ 412 413 omap3-overo-palo43.dtb \ 413 414 omap3-overo-storm-alto35.dtb \ 414 415 omap3-overo-storm-chestnut43.dtb \ 415 416 omap3-overo-storm-gallop43.dtb \ 417 + omap3-overo-storm-palo35.dtb \ 416 418 omap3-overo-storm-palo43.dtb \ 417 419 omap3-overo-storm-summit.dtb \ 418 420 omap3-overo-storm-tobi.dtb \ 421 + omap3-overo-storm-tobiduo.dtb \ 419 422 omap3-overo-summit.dtb \ 420 423 omap3-overo-tobi.dtb \ 424 + omap3-overo-tobiduo.dtb \ 421 425 omap3-pandora-600mhz.dtb \ 422 426 omap3-pandora-1ghz.dtb \ 423 427 omap3-sbc-t3517.dtb \
+15 -5
arch/arm/boot/dts/am335x-boneblack.dts
··· 68 68 69 69 &lcdc { 70 70 status = "okay"; 71 + port { 72 + lcdc_0: endpoint@0 { 73 + remote-endpoint = <&hdmi_0>; 74 + }; 75 + }; 71 76 }; 72 77 73 - / { 74 - hdmi { 75 - compatible = "ti,tilcdc,slave"; 76 - i2c = <&i2c0>; 78 + &i2c0 { 79 + tda19988 { 80 + compatible = "nxp,tda998x"; 81 + reg = <0x70>; 77 82 pinctrl-names = "default", "off"; 78 83 pinctrl-0 = <&nxp_hdmi_bonelt_pins>; 79 84 pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; 80 - status = "okay"; 85 + 86 + port { 87 + hdmi_0: endpoint@0 { 88 + remote-endpoint = <&lcdc_0>; 89 + }; 90 + }; 81 91 }; 82 92 }; 83 93
+47 -22
arch/arm/boot/dts/am335x-evm.dts
··· 136 136 }; 137 137 138 138 sound { 139 - compatible = "ti,da830-evm-audio"; 140 - ti,model = "AM335x-EVM"; 141 - ti,audio-codec = <&tlv320aic3106>; 142 - ti,mcasp-controller = <&mcasp1>; 143 - ti,codec-clock-rate = <12000000>; 144 - ti,audio-routing = 145 - "Headphone Jack", "HPLOUT", 146 - "Headphone Jack", "HPROUT", 147 - "LINE1L", "Line In", 148 - "LINE1R", "Line In"; 139 + compatible = "simple-audio-card"; 140 + simple-audio-card,name = "AM335x-EVM"; 141 + simple-audio-card,widgets = 142 + "Headphone", "Headphone Jack", 143 + "Line", "Line In"; 144 + simple-audio-card,routing = 145 + "Headphone Jack", "HPLOUT", 146 + "Headphone Jack", "HPROUT", 147 + "LINE1L", "Line In", 148 + "LINE1R", "Line In"; 149 + simple-audio-card,format = "dsp_b"; 150 + simple-audio-card,bitclock-master = <&sound_master>; 151 + simple-audio-card,frame-master = <&sound_master>; 152 + simple-audio-card,bitclock-inversion; 153 + 154 + simple-audio-card,cpu { 155 + sound-dai = <&mcasp1>; 156 + }; 157 + 158 + sound_master: simple-audio-card,codec { 159 + sound-dai = <&tlv320aic3106>; 160 + system-clock-frequency = <12000000>; 161 + }; 149 162 }; 150 163 }; 151 164 ··· 355 342 >; 356 343 }; 357 344 358 - am335x_evm_audio_pins: am335x_evm_audio_pins { 345 + mcasp1_pins: mcasp1_pins { 359 346 pinctrl-single,pins = < 360 347 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */ 361 348 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */ 362 349 0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */ 363 350 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ 351 + >; 352 + }; 353 + 354 + mcasp1_pins_sleep: mcasp1_pins_sleep { 355 + pinctrl-single,pins = < 356 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) 357 + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) 358 + 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) 359 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) 364 360 >; 365 361 }; 366 362 ··· 482 460 }; 483 461 484 462 tlv320aic3106: tlv320aic3106@1b { 463 + #sound-dai-cells = <0>; 485 464 compatible = "ti,tlv320aic3106"; 486 465 reg = <0x1b>; 487 466 status = "okay"; ··· 598 575 #include "tps65910.dtsi" 599 576 600 577 &mcasp1 { 601 - pinctrl-names = "default"; 602 - pinctrl-0 = <&am335x_evm_audio_pins>; 578 + #sound-dai-cells = <0>; 579 + pinctrl-names = "default", "sleep"; 580 + pinctrl-0 = <&mcasp1_pins>; 581 + pinctrl-1 = <&mcasp1_pins_sleep>; 603 582 604 - status = "okay"; 583 + status = "okay"; 605 584 606 - op-mode = <0>; /* MCASP_IIS_MODE */ 607 - tdm-slots = <2>; 608 - /* 4 serializers */ 609 - serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 610 - 0 0 1 2 611 - >; 612 - tx-num-evt = <32>; 613 - rx-num-evt = <32>; 585 + op-mode = <0>; /* MCASP_IIS_MODE */ 586 + tdm-slots = <2>; 587 + /* 4 serializers */ 588 + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 589 + 0 0 1 2 590 + >; 591 + tx-num-evt = <32>; 592 + rx-num-evt = <32>; 614 593 }; 615 594 616 595 &tps {
+43 -19
arch/arm/boot/dts/am335x-evmsk.dts
··· 141 141 }; 142 142 143 143 sound { 144 - compatible = "ti,da830-evm-audio"; 145 - ti,model = "AM335x-EVMSK"; 146 - ti,audio-codec = <&tlv320aic3106>; 147 - ti,mcasp-controller = <&mcasp1>; 148 - ti,codec-clock-rate = <24000000>; 149 - ti,audio-routing = 150 - "Headphone Jack", "HPLOUT", 151 - "Headphone Jack", "HPROUT"; 144 + compatible = "simple-audio-card"; 145 + simple-audio-card,name = "AM335x-EVMSK"; 146 + simple-audio-card,widgets = 147 + "Headphone", "Headphone Jack"; 148 + simple-audio-card,routing = 149 + "Headphone Jack", "HPLOUT", 150 + "Headphone Jack", "HPROUT"; 151 + simple-audio-card,format = "dsp_b"; 152 + simple-audio-card,bitclock-master = <&sound_master>; 153 + simple-audio-card,frame-master = <&sound_master>; 154 + simple-audio-card,bitclock-inversion; 155 + 156 + simple-audio-card,cpu { 157 + sound-dai = <&mcasp1>; 158 + }; 159 + 160 + sound_master: simple-audio-card,codec { 161 + sound-dai = <&tlv320aic3106>; 162 + system-clock-frequency = <24000000>; 163 + }; 152 164 }; 153 165 154 166 panel { ··· 408 396 >; 409 397 }; 410 398 399 + mcasp1_pins_sleep: mcasp1_pins_sleep { 400 + pinctrl-single,pins = < 401 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) 402 + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) 403 + 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) 404 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) 405 + >; 406 + }; 407 + 411 408 mmc2_pins: pinmux_mmc2_pins { 412 409 pinctrl-single,pins = < 413 410 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_31 */ ··· 483 462 }; 484 463 485 464 tlv320aic3106: tlv320aic3106@1b { 465 + #sound-dai-cells = <0>; 486 466 compatible = "ti,tlv320aic3106"; 487 467 reg = <0x1b>; 488 468 status = "okay"; ··· 683 661 }; 684 662 685 663 &mcasp1 { 686 - pinctrl-names = "default"; 687 - pinctrl-0 = <&mcasp1_pins>; 664 + #sound-dai-cells = <0>; 665 + pinctrl-names = "default", "sleep"; 666 + pinctrl-0 = <&mcasp1_pins>; 667 + pinctrl-1 = <&mcasp1_pins_sleep>; 688 668 689 - status = "okay"; 669 + status = "okay"; 690 670 691 - op-mode = <0>; /* MCASP_IIS_MODE */ 692 - tdm-slots = <2>; 693 - /* 4 serializers */ 694 - serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 695 - 0 0 1 2 696 - >; 697 - tx-num-evt = <32>; 698 - rx-num-evt = <32>; 671 + op-mode = <0>; /* MCASP_IIS_MODE */ 672 + tdm-slots = <2>; 673 + /* 4 serializers */ 674 + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 675 + 0 0 1 2 676 + >; 677 + tx-num-evt = <32>; 678 + rx-num-evt = <32>; 699 679 }; 700 680 701 681 &tscadc {
+9 -8
arch/arm/boot/dts/am33xx.dtsi
··· 103 103 #size-cells = <1>; 104 104 ranges = <0 0x44c00000 0x280000>; 105 105 106 + wkup_m3: wkup_m3@100000 { 107 + compatible = "ti,am3352-wkup-m3"; 108 + reg = <0x100000 0x4000>, 109 + <0x180000 0x2000>; 110 + reg-names = "umem", "dmem"; 111 + ti,hwmods = "wkup_m3"; 112 + ti,pm-firmware = "am335x-pm-firmware.elf"; 113 + }; 114 + 106 115 prcm: prcm@200000 { 107 116 compatible = "ti,am3-prcm"; 108 117 reg = <0x200000 0x4000>; ··· 769 760 ocmcram: ocmcram@40300000 { 770 761 compatible = "mmio-sram"; 771 762 reg = <0x40300000 0x10000>; /* 64k */ 772 - }; 773 - 774 - wkup_m3: wkup_m3@44d00000 { 775 - compatible = "ti,am3353-wkup-m3"; 776 - reg = <0x44d00000 0x4000 /* M3 UMEM */ 777 - 0x44d80000 0x2000>; /* M3 DMEM */ 778 - ti,hwmods = "wkup_m3"; 779 - ti,no-reset-on-init; 780 763 }; 781 764 782 765 elm: elm@48080000 {
+9
arch/arm/boot/dts/am4372.dtsi
··· 83 83 #size-cells = <1>; 84 84 ranges = <0 0x44c00000 0x287000>; 85 85 86 + wkup_m3: wkup_m3@100000 { 87 + compatible = "ti,am4372-wkup-m3"; 88 + reg = <0x100000 0x4000>, 89 + <0x180000 0x2000>; 90 + reg-names = "umem", "dmem"; 91 + ti,hwmods = "wkup_m3"; 92 + ti,pm-firmware = "am335x-pm-firmware.elf"; 93 + }; 94 + 86 95 prcm: prcm@1f0000 { 87 96 compatible = "ti,am4-prcm"; 88 97 reg = <0x1f0000 0x11000>;
+93 -15
arch/arm/boot/dts/am437x-gp-evm.dts
··· 24 24 serial3 = &uart3; 25 25 }; 26 26 27 - vmmcsd_fixed: fixedregulator-sd { 27 + evm_v3_3d: fixedregulator-v3_3d { 28 28 compatible = "regulator-fixed"; 29 - regulator-name = "vmmcsd_fixed"; 29 + regulator-name = "evm_v3_3d"; 30 30 regulator-min-microvolt = <3300000>; 31 31 regulator-max-microvolt = <3300000>; 32 32 enable-active-high; ··· 83 83 compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; 84 84 label = "lcd"; 85 85 86 - pinctrl-names = "default"; 87 - pinctrl-0 = <&lcd_pins>; 88 - 89 - /* 90 - * SelLCDorHDMI, LOW to select HDMI. This is not really the 91 - * panel's enable GPIO, but we don't have HDMI driver support nor 92 - * support to switch between two displays, so using this gpio as 93 - * panel's enable should be safe. 94 - */ 95 - enable-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>; 96 - 97 86 panel-timing { 98 87 clock-frequency = <33000000>; 99 88 hactive = <800>; ··· 113 124 clock-frequency = <12000000>; 114 125 }; 115 126 127 + sound0: sound@0 { 128 + compatible = "simple-audio-card"; 129 + simple-audio-card,name = "AM437x-GP-EVM"; 130 + simple-audio-card,widgets = 131 + "Headphone", "Headphone Jack", 132 + "Line", "Line In"; 133 + simple-audio-card,routing = 134 + "Headphone Jack", "HPLOUT", 135 + "Headphone Jack", "HPROUT", 136 + "LINE1L", "Line In", 137 + "LINE1R", "Line In"; 138 + simple-audio-card,format = "dsp_b"; 139 + simple-audio-card,bitclock-master = <&sound0_master>; 140 + simple-audio-card,frame-master = <&sound0_master>; 141 + simple-audio-card,bitclock-inversion; 142 + 143 + simple-audio-card,cpu { 144 + sound-dai = <&mcasp1>; 145 + system-clock-frequency = <12000000>; 146 + }; 147 + 148 + sound0_master: simple-audio-card,codec { 149 + sound-dai = <&tlv320aic3106>; 150 + system-clock-frequency = <12000000>; 151 + }; 152 + }; 116 153 }; 117 154 118 155 &am43xx_pinmux { ··· 285 270 >; 286 271 }; 287 272 288 - lcd_pins: lcd_pins { 273 + display_mux_pins: display_mux_pins { 289 274 pinctrl-single,pins = < 290 275 /* GPIO 5_8 to select LCD / HDMI */ 291 276 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) ··· 424 409 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */ 425 410 >; 426 411 }; 412 + 413 + mcasp1_pins: mcasp1_pins { 414 + pinctrl-single,pins = < 415 + 0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */ 416 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */ 417 + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */ 418 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ 419 + >; 420 + }; 421 + 422 + mcasp1_sleep_pins: mcasp1_sleep_pins { 423 + pinctrl-single,pins = < 424 + 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) 425 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) 426 + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) 427 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) 428 + >; 429 + }; 427 430 }; 428 431 429 432 &i2c0 { ··· 554 521 }; 555 522 }; 556 523 }; 524 + 525 + tlv320aic3106: tlv320aic3106@1b { 526 + #sound-dai-cells = <0>; 527 + compatible = "ti,tlv320aic3106"; 528 + reg = <0x1b>; 529 + status = "okay"; 530 + 531 + /* Regulators */ 532 + IOVDD-supply = <&evm_v3_3d>; /* V3_3D -> <tps63031> EN: V1_8D -> VBAT */ 533 + AVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */ 534 + DRVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */ 535 + DVDD-supply = <&ldo1>; /* V1_8D -> LDO1 */ 536 + }; 557 537 }; 558 538 559 539 &epwmss0 { ··· 604 558 }; 605 559 606 560 &gpio5 { 561 + pinctrl-names = "default"; 562 + pinctrl-0 = <&display_mux_pins>; 607 563 status = "okay"; 608 564 ti,no-reset-on-init; 565 + 566 + p8 { 567 + /* 568 + * SelLCDorHDMI selects between display and audio paths: 569 + * Low: HDMI display with audio via HDMI 570 + * High: LCD display with analog audio via aic3111 codec 571 + */ 572 + gpio-hog; 573 + gpios = <8 GPIO_ACTIVE_HIGH>; 574 + output-high; 575 + line-name = "SelLCDorHDMI"; 576 + }; 609 577 }; 610 578 611 579 &mmc1 { 612 580 status = "okay"; 613 - vmmc-supply = <&vmmcsd_fixed>; 581 + vmmc-supply = <&evm_v3_3d>; 614 582 bus-width = <4>; 615 583 pinctrl-names = "default"; 616 584 pinctrl-0 = <&mmc1_pins>; ··· 849 789 vsync-active = <0>; 850 790 }; 851 791 }; 792 + }; 793 + 794 + &mcasp1 { 795 + #sound-dai-cells = <0>; 796 + pinctrl-names = "default", "sleep"; 797 + pinctrl-0 = <&mcasp1_pins>; 798 + pinctrl-1 = <&mcasp1_sleep_pins>; 799 + 800 + status = "okay"; 801 + 802 + op-mode = <0>; /* MCASP_IIS_MODE */ 803 + tdm-slots = <2>; 804 + /* 4 serializers */ 805 + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 806 + 0 0 1 2 807 + >; 808 + tx-num-evt = <32>; 809 + rx-num-evt = <32>; 852 810 };
+36 -9
arch/arm/boot/dts/am437x-sk-evm.dts
··· 32 32 }; 33 33 34 34 sound { 35 - compatible = "ti,da830-evm-audio"; 36 - ti,model = "AM437x-SK-EVM"; 37 - ti,audio-codec = <&tlv320aic3106>; 38 - ti,mcasp-controller = <&mcasp1>; 39 - ti,codec-clock-rate = <24000000>; 40 - ti,audio-routing = 41 - "Headphone Jack", "HPLOUT", 42 - "Headphone Jack", "HPROUT"; 35 + compatible = "simple-audio-card"; 36 + simple-audio-card,name = "AM437x-SK-EVM"; 37 + simple-audio-card,widgets = 38 + "Headphone", "Headphone Jack", 39 + "Line", "Line In"; 40 + simple-audio-card,routing = 41 + "Headphone Jack", "HPLOUT", 42 + "Headphone Jack", "HPROUT", 43 + "LINE1L", "Line In", 44 + "LINE1R", "Line In"; 45 + simple-audio-card,format = "dsp_b"; 46 + simple-audio-card,bitclock-master = <&sound_master>; 47 + simple-audio-card,frame-master = <&sound_master>; 48 + simple-audio-card,bitclock-inversion; 49 + 50 + simple-audio-card,cpu { 51 + sound-dai = <&mcasp1>; 52 + }; 53 + 54 + sound_master: simple-audio-card,codec { 55 + sound-dai = <&tlv320aic3106>; 56 + system-clock-frequency = <24000000>; 57 + }; 43 58 }; 44 59 45 60 matrix_keypad: matrix_keypad@0 { ··· 379 364 >; 380 365 }; 381 366 367 + mcasp1_pins_sleep: mcasp1_pins_sleep { 368 + pinctrl-single,pins = < 369 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) 370 + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) 371 + 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) 372 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) 373 + >; 374 + }; 375 + 382 376 lcd_pins: lcd_pins { 383 377 pinctrl-single,pins = < 384 378 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpcm_ad7.gpio1_7 */ ··· 504 480 }; 505 481 506 482 tlv320aic3106: tlv320aic3106@1b { 483 + #sound-dai-cells = <0>; 507 484 compatible = "ti,tlv320aic3106"; 508 485 reg = <0x1b>; 509 486 status = "okay"; ··· 665 640 }; 666 641 667 642 &mcasp1 { 668 - pinctrl-names = "default"; 643 + #sound-dai-cells = <0>; 644 + pinctrl-names = "default", "sleep"; 669 645 pinctrl-0 = <&mcasp1_pins>; 646 + pinctrl-1 = <&mcasp1_pins_sleep>; 670 647 671 648 status = "okay"; 672 649
+118 -12
arch/arm/boot/dts/am43x-epos-evm.dts
··· 14 14 #include <dt-bindings/pinctrl/am43xx.h> 15 15 #include <dt-bindings/gpio/gpio.h> 16 16 #include <dt-bindings/pwm/pwm.h> 17 + #include <dt-bindings/sound/tlv320aic31xx-micbias.h> 17 18 18 19 / { 19 20 model = "TI AM43x EPOS EVM"; ··· 32 31 enable-active-high; 33 32 }; 34 33 34 + vbat: fixedregulator@0 { 35 + compatible = "regulator-fixed"; 36 + regulator-name = "vbat"; 37 + regulator-min-microvolt = <5000000>; 38 + regulator-max-microvolt = <5000000>; 39 + regulator-boot-on; 40 + }; 41 + 35 42 lcd0: display { 36 43 compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; 37 44 label = "lcd"; 38 - 39 - pinctrl-names = "default"; 40 - pinctrl-0 = <&lcd_pins>; 41 - 42 - /* 43 - * SelLCDorHDMI, LOW to select HDMI. This is not really the 44 - * panel's enable GPIO, but we don't have HDMI driver support nor 45 - * support to switch between two displays, so using this gpio as 46 - * panel's enable should be safe. 47 - */ 48 - enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; 49 45 50 46 panel-timing { 51 47 clock-frequency = <33000000>; ··· 105 107 pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; 106 108 brightness-levels = <0 51 53 56 62 75 101 152 255>; 107 109 default-brightness-level = <8>; 110 + }; 111 + 112 + sound0: sound@0 { 113 + compatible = "simple-audio-card"; 114 + simple-audio-card,name = "AM43-EPOS-EVM"; 115 + simple-audio-card,widgets = 116 + "Microphone", "Microphone Jack", 117 + "Headphone", "Headphone Jack", 118 + "Speaker", "Speaker"; 119 + simple-audio-card,routing = 120 + "MIC1LP", "Microphone Jack", 121 + "MIC1RP", "Microphone Jack", 122 + "MIC1LP", "MICBIAS", 123 + "MIC1RP", "MICBIAS", 124 + "Headphone Jack", "HPL", 125 + "Headphone Jack", "HPR", 126 + "Speaker", "SPL", 127 + "Speaker", "SPR"; 128 + simple-audio-card,format = "dsp_b"; 129 + simple-audio-card,bitclock-master = <&sound0_master>; 130 + simple-audio-card,frame-master = <&sound0_master>; 131 + simple-audio-card,bitclock-inversion; 132 + 133 + simple-audio-card,cpu { 134 + sound-dai = <&mcasp1>; 135 + system-clock-frequency = <12000000>; 136 + }; 137 + 138 + sound0_master: simple-audio-card,codec { 139 + sound-dai = <&tlv320aic3111>; 140 + system-clock-frequency = <12000000>; 141 + }; 108 142 }; 109 143 }; 110 144 ··· 308 278 >; 309 279 }; 310 280 311 - lcd_pins: lcd_pins { 281 + display_mux_pins: display_mux_pins { 312 282 pinctrl-single,pins = < 313 283 /* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */ 314 284 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7) ··· 348 318 0x1fc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) 349 319 0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) 350 320 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) 321 + >; 322 + }; 323 + 324 + mcasp1_pins: mcasp1_pins { 325 + pinctrl-single,pins = < 326 + 0x1a0 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_ACLKR/MCASP1_ACLKX */ 327 + 0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_FSR/MCASP1_FSX */ 328 + 0x1a8 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)/* MCASP0_AXR1/MCASP1_AXR0 */ 329 + 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_AHCLKX/MCASP1_AXR1 */ 330 + >; 331 + }; 332 + 333 + mcasp1_sleep_pins: mcasp1_sleep_pins { 334 + pinctrl-single,pins = < 335 + 0x1a0 (PIN_INPUT_PULLDOWN | MUX_MODE7) 336 + 0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE7) 337 + 0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE7) 338 + 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE7) 351 339 >; 352 340 }; 353 341 }; ··· 447 399 regulator-always-on; 448 400 }; 449 401 402 + dcdc4: regulator-dcdc4 { 403 + compatible = "ti,tps65218-dcdc4"; 404 + regulator-name = "vdcdc4"; 405 + regulator-min-microvolt = <3300000>; 406 + regulator-max-microvolt = <3300000>; 407 + regulator-boot-on; 408 + regulator-always-on; 409 + }; 410 + 450 411 dcdc5: regulator-dcdc5 { 451 412 compatible = "ti,tps65218-dcdc5"; 452 413 regulator-name = "v1_0bat"; ··· 498 441 touchscreen-size-x = <1024>; 499 442 touchscreen-size-y = <600>; 500 443 }; 444 + 445 + tlv320aic3111: tlv320aic3111@18 { 446 + #sound-dai-cells = <0>; 447 + compatible = "ti,tlv320aic3111"; 448 + reg = <0x18>; 449 + status = "okay"; 450 + 451 + ai31xx-micbias-vg = <MICBIAS_2_0V>; 452 + 453 + /* Regulators */ 454 + HPVDD-supply = <&dcdc4>; /* v3_3AUD -> V3_3D -> DCDC4 */ 455 + SPRVDD-supply = <&vbat>; /* vbat */ 456 + SPLVDD-supply = <&vbat>; /* vbat */ 457 + AVDD-supply = <&dcdc4>; /* v3_3AUD -> V3_3D -> DCDC4 */ 458 + IOVDD-supply = <&dcdc4>; /* V3_3D -> DCDC4 */ 459 + DVDD-supply = <&ldo1>; /* V1_8AUD -> V1_8D -> LDO1 */ 460 + }; 501 461 }; 502 462 503 463 &i2c2 { ··· 532 458 }; 533 459 534 460 &gpio2 { 461 + pinctrl-names = "default"; 462 + pinctrl-0 = <&display_mux_pins>; 535 463 status = "okay"; 464 + 465 + p1 { 466 + /* 467 + * SelLCDorHDMI selects between display and audio paths: 468 + * Low: HDMI display with audio via HDMI 469 + * High: LCD display with analog audio via aic3111 codec 470 + */ 471 + gpio-hog; 472 + gpios = <1 GPIO_ACTIVE_HIGH>; 473 + output-high; 474 + line-name = "SelLCDorHDMI"; 475 + }; 536 476 }; 537 477 538 478 &gpio3 { ··· 773 685 vsync-active = <0>; 774 686 }; 775 687 }; 688 + }; 689 + 690 + &mcasp1 { 691 + #sound-dai-cells = <0>; 692 + pinctrl-names = "default", "sleep"; 693 + pinctrl-0 = <&mcasp1_pins>; 694 + pinctrl-1 = <&mcasp1_sleep_pins>; 695 + 696 + status = "okay"; 697 + 698 + op-mode = <0>; /* MCASP_IIS_MODE */ 699 + tdm-slots = <2>; 700 + /* 4 serializer */ 701 + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 702 + 1 2 0 0 703 + >; 704 + tx-num-evt = <32>; 705 + rx-num-evt = <32>; 776 706 };
+1 -1
arch/arm/boot/dts/dm816x.dtsi
··· 58 58 * the whole bus hierarchy. 59 59 */ 60 60 ocp { 61 - compatible = "ti,omap3-l3-smx", "simple-bus"; 61 + compatible = "simple-bus"; 62 62 reg = <0x44000000 0x10000>; 63 63 interrupts = <9 10>; 64 64 #address-cells = <1>;
+33 -24
arch/arm/boot/dts/dra7.dtsi
··· 308 308 dma-requests = <127>; 309 309 }; 310 310 311 + sdma_xbar: dma-router@4a002b78 { 312 + compatible = "ti,dra7-dma-crossbar"; 313 + reg = <0x4a002b78 0xfc>; 314 + #dma-cells = <1>; 315 + dma-requests = <205>; 316 + ti,dma-safe-map = <0>; 317 + dma-masters = <&sdma>; 318 + }; 319 + 311 320 gpio1: gpio@4ae10000 { 312 321 compatible = "ti,omap4-gpio"; 313 322 reg = <0x4ae10000 0x200>; ··· 412 403 ti,hwmods = "uart1"; 413 404 clock-frequency = <48000000>; 414 405 status = "disabled"; 415 - dmas = <&sdma 49>, <&sdma 50>; 406 + dmas = <&sdma_xbar 49>, <&sdma_xbar 50>; 416 407 dma-names = "tx", "rx"; 417 408 }; 418 409 ··· 423 414 ti,hwmods = "uart2"; 424 415 clock-frequency = <48000000>; 425 416 status = "disabled"; 426 - dmas = <&sdma 51>, <&sdma 52>; 417 + dmas = <&sdma_xbar 51>, <&sdma_xbar 52>; 427 418 dma-names = "tx", "rx"; 428 419 }; 429 420 ··· 434 425 ti,hwmods = "uart3"; 435 426 clock-frequency = <48000000>; 436 427 status = "disabled"; 437 - dmas = <&sdma 53>, <&sdma 54>; 428 + dmas = <&sdma_xbar 53>, <&sdma_xbar 54>; 438 429 dma-names = "tx", "rx"; 439 430 }; 440 431 ··· 445 436 ti,hwmods = "uart4"; 446 437 clock-frequency = <48000000>; 447 438 status = "disabled"; 448 - dmas = <&sdma 55>, <&sdma 56>; 439 + dmas = <&sdma_xbar 55>, <&sdma_xbar 56>; 449 440 dma-names = "tx", "rx"; 450 441 }; 451 442 ··· 456 447 ti,hwmods = "uart5"; 457 448 clock-frequency = <48000000>; 458 449 status = "disabled"; 459 - dmas = <&sdma 63>, <&sdma 64>; 450 + dmas = <&sdma_xbar 63>, <&sdma_xbar 64>; 460 451 dma-names = "tx", "rx"; 461 452 }; 462 453 ··· 467 458 ti,hwmods = "uart6"; 468 459 clock-frequency = <48000000>; 469 460 status = "disabled"; 470 - dmas = <&sdma 79>, <&sdma 80>; 461 + dmas = <&sdma_xbar 79>, <&sdma_xbar 80>; 471 462 dma-names = "tx", "rx"; 472 463 }; 473 464 ··· 876 867 ti,hwmods = "mmc1"; 877 868 ti,dual-volt; 878 869 ti,needs-special-reset; 879 - dmas = <&sdma 61>, <&sdma 62>; 870 + dmas = <&sdma_xbar 61>, <&sdma_xbar 62>; 880 871 dma-names = "tx", "rx"; 881 872 status = "disabled"; 882 873 pbias-supply = <&pbias_mmc_reg>; ··· 888 879 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 889 880 ti,hwmods = "mmc2"; 890 881 ti,needs-special-reset; 891 - dmas = <&sdma 47>, <&sdma 48>; 882 + dmas = <&sdma_xbar 47>, <&sdma_xbar 48>; 892 883 dma-names = "tx", "rx"; 893 884 status = "disabled"; 894 885 }; ··· 899 890 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 900 891 ti,hwmods = "mmc3"; 901 892 ti,needs-special-reset; 902 - dmas = <&sdma 77>, <&sdma 78>; 893 + dmas = <&sdma_xbar 77>, <&sdma_xbar 78>; 903 894 dma-names = "tx", "rx"; 904 895 status = "disabled"; 905 896 }; ··· 910 901 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 911 902 ti,hwmods = "mmc4"; 912 903 ti,needs-special-reset; 913 - dmas = <&sdma 57>, <&sdma 58>; 904 + dmas = <&sdma_xbar 57>, <&sdma_xbar 58>; 914 905 dma-names = "tx", "rx"; 915 906 status = "disabled"; 916 907 }; ··· 1055 1046 #size-cells = <0>; 1056 1047 ti,hwmods = "mcspi1"; 1057 1048 ti,spi-num-cs = <4>; 1058 - dmas = <&sdma 35>, 1059 - <&sdma 36>, 1060 - <&sdma 37>, 1061 - <&sdma 38>, 1062 - <&sdma 39>, 1063 - <&sdma 40>, 1064 - <&sdma 41>, 1065 - <&sdma 42>; 1049 + dmas = <&sdma_xbar 35>, 1050 + <&sdma_xbar 36>, 1051 + <&sdma_xbar 37>, 1052 + <&sdma_xbar 38>, 1053 + <&sdma_xbar 39>, 1054 + <&sdma_xbar 40>, 1055 + <&sdma_xbar 41>, 1056 + <&sdma_xbar 42>; 1066 1057 dma-names = "tx0", "rx0", "tx1", "rx1", 1067 1058 "tx2", "rx2", "tx3", "rx3"; 1068 1059 status = "disabled"; ··· 1076 1067 #size-cells = <0>; 1077 1068 ti,hwmods = "mcspi2"; 1078 1069 ti,spi-num-cs = <2>; 1079 - dmas = <&sdma 43>, 1080 - <&sdma 44>, 1081 - <&sdma 45>, 1082 - <&sdma 46>; 1070 + dmas = <&sdma_xbar 43>, 1071 + <&sdma_xbar 44>, 1072 + <&sdma_xbar 45>, 1073 + <&sdma_xbar 46>; 1083 1074 dma-names = "tx0", "rx0", "tx1", "rx1"; 1084 1075 status = "disabled"; 1085 1076 }; ··· 1092 1083 #size-cells = <0>; 1093 1084 ti,hwmods = "mcspi3"; 1094 1085 ti,spi-num-cs = <2>; 1095 - dmas = <&sdma 15>, <&sdma 16>; 1086 + dmas = <&sdma_xbar 15>, <&sdma_xbar 16>; 1096 1087 dma-names = "tx0", "rx0"; 1097 1088 status = "disabled"; 1098 1089 }; ··· 1105 1096 #size-cells = <0>; 1106 1097 ti,hwmods = "mcspi4"; 1107 1098 ti,spi-num-cs = <1>; 1108 - dmas = <&sdma 70>, <&sdma 71>; 1099 + dmas = <&sdma_xbar 70>, <&sdma_xbar 71>; 1109 1100 dma-names = "tx0", "rx0"; 1110 1101 status = "disabled"; 1111 1102 };
+8 -2
arch/arm/boot/dts/dra72-evm.dts
··· 343 343 interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 344 344 interrupt-controller; 345 345 #interrupt-cells = <2>; 346 + 347 + cpsw_sel_s0 { 348 + gpio-hog; 349 + gpios = <4 GPIO_ACTIVE_HIGH>; 350 + output-low; 351 + }; 346 352 }; 347 353 }; 348 354 ··· 577 571 pinctrl-names = "default", "sleep"; 578 572 pinctrl-0 = <&cpsw_default>; 579 573 pinctrl-1 = <&cpsw_sleep>; 574 + slaves = <1>; 580 575 }; 581 576 582 - &cpsw_emac1 { 577 + &cpsw_emac0 { 583 578 phy_id = <&davinci_mdio>, <3>; 584 579 phy-mode = "rgmii"; 585 580 }; ··· 589 582 pinctrl-names = "default", "sleep"; 590 583 pinctrl-0 = <&davinci_mdio_default>; 591 584 pinctrl-1 = <&davinci_mdio_sleep>; 592 - active_slave = <1>; 593 585 }; 594 586 595 587 &dcan1 {
+55
arch/arm/boot/dts/omap3-overo-base.dtsi
··· 218 218 pinctrl-0 = <&uart2_pins>; 219 219 }; 220 220 221 + &mcbsp2 { 222 + status = "okay"; 223 + }; 224 + 225 + &gpmc { 226 + ranges = <0 0 0x00000000 0x20000000>; 227 + 228 + nand@0,0 { 229 + linux,mtd-name= "micron,mt29c4g96maz"; 230 + reg = <0 0 0>; 231 + nand-bus-width = <16>; 232 + gpmc,device-width = <2>; 233 + ti,nand-ecc-opt = "bch8"; 234 + 235 + gpmc,sync-clk-ps = <0>; 236 + gpmc,cs-on-ns = <0>; 237 + gpmc,cs-rd-off-ns = <44>; 238 + gpmc,cs-wr-off-ns = <44>; 239 + gpmc,adv-on-ns = <6>; 240 + gpmc,adv-rd-off-ns = <34>; 241 + gpmc,adv-wr-off-ns = <44>; 242 + gpmc,we-off-ns = <40>; 243 + gpmc,oe-off-ns = <54>; 244 + gpmc,access-ns = <64>; 245 + gpmc,rd-cycle-ns = <82>; 246 + gpmc,wr-cycle-ns = <82>; 247 + gpmc,wr-access-ns = <40>; 248 + gpmc,wr-data-mux-bus-ns = <0>; 249 + 250 + #address-cells = <1>; 251 + #size-cells = <1>; 252 + 253 + partition@0 { 254 + label = "SPL"; 255 + reg = <0 0x80000>; /* 512KiB */ 256 + }; 257 + partition@80000 { 258 + label = "U-Boot"; 259 + reg = <0x80000 0x1C0000>; /* 1792KiB */ 260 + }; 261 + partition@1c0000 { 262 + label = "Environment"; 263 + reg = <0x240000 0x40000>; /* 256KiB */ 264 + }; 265 + partition@280000 { 266 + label = "Kernel"; 267 + reg = <0x280000 0x800000>; /* 8192KiB */ 268 + }; 269 + partition@780000 { 270 + label = "Filesystem"; 271 + reg = <0xA80000 0>; 272 + /* HACK: MTDPART_SIZ_FULL=0 so fill to end */ 273 + }; 274 + }; 275 + };
+2 -1
arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
··· 62 62 OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ 63 63 OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ 64 64 OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 65 + OMAP3_CORE1_IOPAD(0x21d0, PIN_INPUT | MUX_MODE0) /* mcspi1_cs1.mcspi1_cs1 */ 65 66 >; 66 67 }; 67 68 ··· 124 123 label = "lcd"; 125 124 126 125 reg = <1>; /* CS1 */ 127 - spi-max-frequency = <10000000>; 126 + spi-max-frequency = <500000>; 128 127 spi-cpol; 129 128 spi-cpha; 130 129
+53
arch/arm/boot/dts/omap3-overo-palo35-common.dtsi
··· 1 + /* 2 + * Copyright (C) 2015 Ash Charles, Gumstix Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 as 6 + * published by the Free Software Foundation. 7 + */ 8 + 9 + /* 10 + * Palo35 expansion board is manufactured by Gumstix Inc. 11 + */ 12 + 13 + #include "omap3-overo-common-peripherals.dtsi" 14 + #include "omap3-overo-common-lcd35.dtsi" 15 + 16 + #include <dt-bindings/input/input.h> 17 + 18 + / { 19 + leds { 20 + compatible = "gpio-leds"; 21 + pinctrl-names = "default"; 22 + pinctrl-0 = <&led_pins>; 23 + heartbeat { 24 + label = "overo:red:gpio21"; 25 + gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; /* gpio_21 */ 26 + linux,default-trigger = "heartbeat"; 27 + }; 28 + gpio22 { 29 + label = "overo:blue:gpio22"; 30 + gpios = <&gpio1 22 GPIO_ACTIVE_LOW>; /* gpio_22 */ 31 + }; 32 + }; 33 + 34 + gpio_keys { 35 + compatible = "gpio-keys"; 36 + pinctrl-names = "default"; 37 + pinctrl-0 = <&button_pins>; 38 + #address-cells = <1>; 39 + #size-cells = <0>; 40 + button0@23 { 41 + label = "button0"; 42 + linux,code = <BTN_0>; 43 + gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; /* gpio_23 */ 44 + gpio-key,wakeup; 45 + }; 46 + button1@14 { 47 + label = "button1"; 48 + linux,code = <BTN_1>; 49 + gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; /* gpio_14 */ 50 + gpio-key,wakeup; 51 + }; 52 + }; 53 + };
+37
arch/arm/boot/dts/omap3-overo-palo35.dts
··· 1 + /* 2 + * Copyright (C) 2015 Ash Charles, Gumstix Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 as 6 + * published by the Free Software Foundation. 7 + */ 8 + 9 + /* 10 + * Palo35 expansion board is manufactured by Gumstix Inc. 11 + */ 12 + 13 + /dts-v1/; 14 + 15 + #include "omap3-overo.dtsi" 16 + #include "omap3-overo-palo35-common.dtsi" 17 + 18 + / { 19 + model = "OMAP35xx Gumstix Overo on Palo35"; 20 + compatible = "gumstix,omap3-overo-palo35", "gumstix,omap3-overo", "ti,omap3430", "ti,omap3"; 21 + }; 22 + 23 + &omap3_pmx_core2 { 24 + led_pins: pinmux_led_pins { 25 + pinctrl-single,pins = < 26 + OMAP3430_CORE2_IOPAD(0x25ea, PIN_OUTPUT | MUX_MODE4) /* etk_d7.gpio_21 */ 27 + OMAP3430_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 */ 28 + >; 29 + }; 30 + 31 + button_pins: pinmux_button_pins { 32 + pinctrl-single,pins = < 33 + OMAP3430_CORE2_IOPAD(0x25ee, PIN_INPUT | MUX_MODE4) /* etk_d9.gpio_23 */ 34 + OMAP3430_CORE2_IOPAD(0x25dc, PIN_INPUT | MUX_MODE4) /* etk_d0.gpio_14 */ 35 + >; 36 + }; 37 + };
+37
arch/arm/boot/dts/omap3-overo-storm-palo35.dts
··· 1 + /* 2 + * Copyright (C) 2015 Ash Charles, Gumstix, Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 as 6 + * published by the Free Software Foundation. 7 + */ 8 + 9 + /* 10 + * Palo35 expansion board is manufactured by Gumstix Inc. 11 + */ 12 + 13 + /dts-v1/; 14 + 15 + #include "omap3-overo-storm.dtsi" 16 + #include "omap3-overo-palo35-common.dtsi" 17 + 18 + / { 19 + model = "OMAP36xx/AM37xx/DM37xx Gumstix Overo on Palo35"; 20 + compatible = "gumstix,omap3-overo-palo35", "gumstix,omap3-overo", "ti,omap36xx", "ti,omap3"; 21 + }; 22 + 23 + &omap3_pmx_core2 { 24 + led_pins: pinmux_led_pins { 25 + pinctrl-single,pins = < 26 + OMAP3630_CORE2_IOPAD(0x25ea, PIN_OUTPUT | MUX_MODE4) /* etk_d7.gpio_21 */ 27 + OMAP3630_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 */ 28 + >; 29 + }; 30 + 31 + button_pins: pinmux_button_pins { 32 + pinctrl-single,pins = < 33 + OMAP3630_CORE2_IOPAD(0x25ee, PIN_INPUT | MUX_MODE4) /* etk_d9.gpio_23 */ 34 + OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT | MUX_MODE4) /* etk_d0.gpio_14 */ 35 + >; 36 + }; 37 + };
+21
arch/arm/boot/dts/omap3-overo-storm-tobiduo.dts
··· 1 + /* 2 + * Copyright (C) 2015 Ash Charles, Gumstix, Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 as 6 + * published by the Free Software Foundation. 7 + */ 8 + 9 + /* 10 + * TobiDuo expansion board is manufactured by Gumstix Inc. 11 + */ 12 + 13 + /dts-v1/; 14 + 15 + #include "omap3-overo-storm.dtsi" 16 + #include "omap3-overo-tobiduo-common.dtsi" 17 + 18 + / { 19 + model = "OMAP36xx/AM37xx/DM37xx Gumstix Overo on TobiDuo"; 20 + compatible = "gumstix,omap3-overo-tobiduo", "gumstix,omap3-overo", "ti,omap36xx", "ti,omap3"; 21 + };
+65
arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi
··· 1 + /* 2 + * Copyright (C) 2015 Ash Charles, Gumstix, Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 as 6 + * published by the Free Software Foundation. 7 + */ 8 + 9 + /* 10 + * TobiDuo expansion board is manufactured by Gumstix Inc. 11 + */ 12 + 13 + #include "omap3-overo-common-peripherals.dtsi" 14 + 15 + #include "omap-gpmc-smsc9221.dtsi" 16 + 17 + &gpmc { 18 + ranges = <4 0 0x2b000000 0x1000000>, /* CS4 */ 19 + <5 0 0x2c000000 0x1000000>; /* CS5 */ 20 + 21 + smsc1: ethernet@gpmc { 22 + reg = <5 0 0xff>; 23 + interrupt-parent = <&gpio6>; 24 + interrupts = <16 IRQ_TYPE_LEVEL_LOW>; /* GPIO 176 */ 25 + }; 26 + 27 + smsc2: ethernet@4,0 { 28 + compatible = "smsc,lan9221","smsc,lan9115"; 29 + bank-width = <2>; 30 + 31 + gpmc,mux-add-data; 32 + gpmc,cs-on-ns = <0>; 33 + gpmc,cs-rd-off-ns = <42>; 34 + gpmc,cs-wr-off-ns = <36>; 35 + gpmc,adv-on-ns = <6>; 36 + gpmc,adv-rd-off-ns = <12>; 37 + gpmc,adv-wr-off-ns = <12>; 38 + gpmc,oe-on-ns = <0>; 39 + gpmc,oe-off-ns = <42>; 40 + gpmc,we-on-ns = <0>; 41 + gpmc,we-off-ns = <36>; 42 + gpmc,rd-cycle-ns = <60>; 43 + gpmc,wr-cycle-ns = <54>; 44 + gpmc,access-ns = <36>; 45 + gpmc,page-burst-access-ns = <0>; 46 + gpmc,bus-turnaround-ns = <0>; 47 + gpmc,cycle2cycle-delay-ns = <0>; 48 + gpmc,wr-data-mux-bus-ns = <18>; 49 + gpmc,wr-access-ns = <42>; 50 + gpmc,cycle2cycle-samecsen; 51 + gpmc,cycle2cycle-diffcsen; 52 + vddvario-supply = <&vddvario>; 53 + vdd33a-supply = <&vdd33a>; 54 + reg-io-width = <4>; 55 + smsc,save-mac-address; 56 + 57 + reg = <4 0 0xff>; 58 + interrupt-parent = <&gpio3>; 59 + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; /* GPIO 65 */ 60 + }; 61 + }; 62 + 63 + &lis33de { 64 + status = "disabled"; 65 + };
+21
arch/arm/boot/dts/omap3-overo-tobiduo.dts
··· 1 + /* 2 + * Copyright (C) 2015 Ash Charles, Gumstix, Inc. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms of the GNU General Public License version 2 as 6 + * published by the Free Software Foundation. 7 + */ 8 + 9 + /* 10 + * TobiDuo expansion board is manufactured by Gumstix Inc. 11 + */ 12 + 13 + /dts-v1/; 14 + 15 + #include "omap3-overo.dtsi" 16 + #include "omap3-overo-tobiduo-common.dtsi" 17 + 18 + / { 19 + model = "OMAP35xx Gumstix Overo on TobiDuo"; 20 + compatible = "gumstix,omap3-overo-tobiduo", "gumstix,omap3-overo", "ti,omap3430", "ti,omap3"; 21 + };
-4
arch/arm/boot/dts/omap3-overo.dtsi
··· 32 32 >; 33 33 }; 34 34 }; 35 - 36 - &mcbsp2 { 37 - status = "okay"; 38 - };
+3
arch/arm/configs/omap2plus_defconfig
··· 324 324 CONFIG_SND_SOC=m 325 325 CONFIG_SND_EDMA_SOC=m 326 326 CONFIG_SND_AM33XX_SOC_EVM=m 327 + CONFIG_SND_DAVINCI_SOC_MCASP=m 327 328 CONFIG_SND_OMAP_SOC=m 328 329 CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m 329 330 CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m 330 331 CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m 332 + CONFIG_SND_SIMPLE_CARD=m 333 + CONFIG_SND_SOC_TLV320AIC3X=m 331 334 CONFIG_HID_GENERIC=m 332 335 CONFIG_USB_HIDDEV=y 333 336 CONFIG_USB_KBD=m
+15
arch/arm/mach-omap2/pdata-quirks.c
··· 17 17 18 18 #include <linux/platform_data/pinctrl-single.h> 19 19 #include <linux/platform_data/iommu-omap.h> 20 + #include <linux/platform_data/wkup_m3.h> 20 21 21 22 #include "common.h" 22 23 #include "common-board-devices.h" ··· 279 278 }; 280 279 #endif 281 280 281 + #if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX) 282 + static struct wkup_m3_platform_data wkup_m3_data = { 283 + .reset_name = "wkup_m3", 284 + .assert_reset = omap_device_assert_hardreset, 285 + .deassert_reset = omap_device_deassert_hardreset, 286 + }; 287 + #endif 288 + 282 289 #ifdef CONFIG_SOC_OMAP5 283 290 static void __init omap5_uevm_legacy_init(void) 284 291 { ··· 349 340 OF_DEV_AUXDATA("ti,am3517-emac", 0x5c000000, "davinci_emac.0", 350 341 &am35xx_emac_pdata), 351 342 #endif 343 + #ifdef CONFIG_SOC_AM33XX 344 + OF_DEV_AUXDATA("ti,am3352-wkup-m3", 0x44d00000, "44d00000.wkup_m3", 345 + &wkup_m3_data), 346 + #endif 352 347 #ifdef CONFIG_ARCH_OMAP4 353 348 OF_DEV_AUXDATA("ti,omap4-padconf", 0x4a100040, "4a100040.pinmux", &pcs_pdata), 354 349 OF_DEV_AUXDATA("ti,omap4-padconf", 0x4a31e040, "4a31e040.pinmux", &pcs_pdata), ··· 366 353 #endif 367 354 #ifdef CONFIG_SOC_AM43XX 368 355 OF_DEV_AUXDATA("ti,am437-padconf", 0x44e10800, "44e10800.pinmux", &pcs_pdata), 356 + OF_DEV_AUXDATA("ti,am4372-wkup-m3", 0x44d00000, "44d00000.wkup_m3", 357 + &wkup_m3_data), 369 358 #endif 370 359 #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) 371 360 OF_DEV_AUXDATA("ti,omap4-iommu", 0x4a066000, "4a066000.mmu",
+20
include/dt-bindings/pinctrl/dra.h
··· 30 30 #define MUX_MODE14 0xe 31 31 #define MUX_MODE15 0xf 32 32 33 + /* Certain pins need virtual mode, but note: they may glitch */ 34 + #define MUX_VIRTUAL_MODE0 (MODE_SELECT | (0x0 << 4)) 35 + #define MUX_VIRTUAL_MODE1 (MODE_SELECT | (0x1 << 4)) 36 + #define MUX_VIRTUAL_MODE2 (MODE_SELECT | (0x2 << 4)) 37 + #define MUX_VIRTUAL_MODE3 (MODE_SELECT | (0x3 << 4)) 38 + #define MUX_VIRTUAL_MODE4 (MODE_SELECT | (0x4 << 4)) 39 + #define MUX_VIRTUAL_MODE5 (MODE_SELECT | (0x5 << 4)) 40 + #define MUX_VIRTUAL_MODE6 (MODE_SELECT | (0x6 << 4)) 41 + #define MUX_VIRTUAL_MODE7 (MODE_SELECT | (0x7 << 4)) 42 + #define MUX_VIRTUAL_MODE8 (MODE_SELECT | (0x8 << 4)) 43 + #define MUX_VIRTUAL_MODE9 (MODE_SELECT | (0x9 << 4)) 44 + #define MUX_VIRTUAL_MODE10 (MODE_SELECT | (0xa << 4)) 45 + #define MUX_VIRTUAL_MODE11 (MODE_SELECT | (0xb << 4)) 46 + #define MUX_VIRTUAL_MODE12 (MODE_SELECT | (0xc << 4)) 47 + #define MUX_VIRTUAL_MODE13 (MODE_SELECT | (0xd << 4)) 48 + #define MUX_VIRTUAL_MODE14 (MODE_SELECT | (0xe << 4)) 49 + #define MUX_VIRTUAL_MODE15 (MODE_SELECT | (0xf << 4)) 50 + 51 + #define MODE_SELECT (1 << 8) 52 + 33 53 #define PULL_ENA (0 << 16) 34 54 #define PULL_DIS (1 << 16) 35 55 #define PULL_UP (1 << 17)