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

ARM: OMAP2+: Drop legacy platform data for omap4 usb

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>

-195
-2
arch/arm/boot/dts/omap4-l4.dtsi
··· 240 240 241 241 target-module@62000 { /* 0x4a062000, ap 11 16.0 */ 242 242 compatible = "ti,sysc-omap2", "ti,sysc"; 243 - ti,hwmods = "usb_tll_hs"; 244 243 reg = <0x62000 0x4>, 245 244 <0x62010 0x4>, 246 245 <0x62014 0x4>; ··· 267 268 268 269 target-module@64000 { /* 0x4a064000, ap 86 1e.0 */ 269 270 compatible = "ti,sysc-omap4", "ti,sysc"; 270 - ti,hwmods = "usb_host_hs"; 271 271 reg = <0x64000 0x4>, 272 272 <0x64010 0x4>, 273 273 <0x64014 0x4>;
-193
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
··· 640 640 }; 641 641 642 642 /* 643 - * 'usb_host_fs' class 644 - * full-speed usb host controller 645 - */ 646 - 647 - /* The IP is not compliant to type1 / type2 scheme */ 648 - static struct omap_hwmod_class_sysconfig omap44xx_usb_host_fs_sysc = { 649 - .rev_offs = 0x0000, 650 - .sysc_offs = 0x0210, 651 - .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE | 652 - SYSC_HAS_SOFTRESET), 653 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 654 - SIDLE_SMART_WKUP), 655 - .sysc_fields = &omap_hwmod_sysc_type_usb_host_fs, 656 - }; 657 - 658 - static struct omap_hwmod_class omap44xx_usb_host_fs_hwmod_class = { 659 - .name = "usb_host_fs", 660 - .sysc = &omap44xx_usb_host_fs_sysc, 661 - }; 662 - 663 - /* usb_host_fs */ 664 - static struct omap_hwmod omap44xx_usb_host_fs_hwmod = { 665 - .name = "usb_host_fs", 666 - .class = &omap44xx_usb_host_fs_hwmod_class, 667 - .clkdm_name = "l3_init_clkdm", 668 - .main_clk = "usb_host_fs_fck", 669 - .prcm = { 670 - .omap4 = { 671 - .clkctrl_offs = OMAP4_CM_L3INIT_USB_HOST_FS_CLKCTRL_OFFSET, 672 - .context_offs = OMAP4_RM_L3INIT_USB_HOST_FS_CONTEXT_OFFSET, 673 - .modulemode = MODULEMODE_SWCTRL, 674 - }, 675 - }, 676 - }; 677 - 678 - /* 679 - * 'usb_host_hs' class 680 - * high-speed multi-port usb host controller 681 - */ 682 - 683 - static struct omap_hwmod_class_sysconfig omap44xx_usb_host_hs_sysc = { 684 - .rev_offs = 0x0000, 685 - .sysc_offs = 0x0010, 686 - .syss_offs = 0x0014, 687 - .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE | 688 - SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS), 689 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 690 - SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | 691 - MSTANDBY_SMART | MSTANDBY_SMART_WKUP), 692 - .sysc_fields = &omap_hwmod_sysc_type2, 693 - }; 694 - 695 - static struct omap_hwmod_class omap44xx_usb_host_hs_hwmod_class = { 696 - .name = "usb_host_hs", 697 - .sysc = &omap44xx_usb_host_hs_sysc, 698 - }; 699 - 700 - /* usb_host_hs */ 701 - static struct omap_hwmod omap44xx_usb_host_hs_hwmod = { 702 - .name = "usb_host_hs", 703 - .class = &omap44xx_usb_host_hs_hwmod_class, 704 - .clkdm_name = "l3_init_clkdm", 705 - .main_clk = "usb_host_hs_fck", 706 - .prcm = { 707 - .omap4 = { 708 - .clkctrl_offs = OMAP4_CM_L3INIT_USB_HOST_CLKCTRL_OFFSET, 709 - .context_offs = OMAP4_RM_L3INIT_USB_HOST_CONTEXT_OFFSET, 710 - .modulemode = MODULEMODE_SWCTRL, 711 - }, 712 - }, 713 - 714 - /* 715 - * Errata: USBHOST Configured In Smart-Idle Can Lead To a Deadlock 716 - * id: i660 717 - * 718 - * Description: 719 - * In the following configuration : 720 - * - USBHOST module is set to smart-idle mode 721 - * - PRCM asserts idle_req to the USBHOST module ( This typically 722 - * happens when the system is going to a low power mode : all ports 723 - * have been suspended, the master part of the USBHOST module has 724 - * entered the standby state, and SW has cut the functional clocks) 725 - * - an USBHOST interrupt occurs before the module is able to answer 726 - * idle_ack, typically a remote wakeup IRQ. 727 - * Then the USB HOST module will enter a deadlock situation where it 728 - * is no more accessible nor functional. 729 - * 730 - * Workaround: 731 - * Don't use smart idle; use only force idle, hence HWMOD_SWSUP_SIDLE 732 - */ 733 - 734 - /* 735 - * Errata: USB host EHCI may stall when entering smart-standby mode 736 - * Id: i571 737 - * 738 - * Description: 739 - * When the USBHOST module is set to smart-standby mode, and when it is 740 - * ready to enter the standby state (i.e. all ports are suspended and 741 - * all attached devices are in suspend mode), then it can wrongly assert 742 - * the Mstandby signal too early while there are still some residual OCP 743 - * transactions ongoing. If this condition occurs, the internal state 744 - * machine may go to an undefined state and the USB link may be stuck 745 - * upon the next resume. 746 - * 747 - * Workaround: 748 - * Don't use smart standby; use only force standby, 749 - * hence HWMOD_SWSUP_MSTANDBY 750 - */ 751 - 752 - .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, 753 - }; 754 - 755 - /* 756 - * 'usb_tll_hs' class 757 - * usb_tll_hs module is the adapter on the usb_host_hs ports 758 - */ 759 - 760 - static struct omap_hwmod_class_sysconfig omap44xx_usb_tll_hs_sysc = { 761 - .rev_offs = 0x0000, 762 - .sysc_offs = 0x0010, 763 - .syss_offs = 0x0014, 764 - .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE | 765 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | 766 - SYSC_HAS_AUTOIDLE), 767 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 768 - .sysc_fields = &omap_hwmod_sysc_type1, 769 - }; 770 - 771 - static struct omap_hwmod_class omap44xx_usb_tll_hs_hwmod_class = { 772 - .name = "usb_tll_hs", 773 - .sysc = &omap44xx_usb_tll_hs_sysc, 774 - }; 775 - 776 - static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = { 777 - .name = "usb_tll_hs", 778 - .class = &omap44xx_usb_tll_hs_hwmod_class, 779 - .clkdm_name = "l3_init_clkdm", 780 - .main_clk = "usb_tll_hs_ick", 781 - .prcm = { 782 - .omap4 = { 783 - .clkctrl_offs = OMAP4_CM_L3INIT_USB_TLL_CLKCTRL_OFFSET, 784 - .context_offs = OMAP4_RM_L3INIT_USB_TLL_CONTEXT_OFFSET, 785 - .modulemode = MODULEMODE_HWCTRL, 786 - }, 787 - }, 788 - }; 789 - 790 - /* 791 643 * interfaces 792 644 */ 793 645 ··· 744 892 .master = &omap44xx_l4_cfg_hwmod, 745 893 .slave = &omap44xx_l3_main_2_hwmod, 746 894 .clk = "l4_div_ck", 747 - .user = OCP_USER_MPU | OCP_USER_SDMA, 748 - }; 749 - 750 - /* usb_host_fs -> l3_main_2 */ 751 - static struct omap_hwmod_ocp_if __maybe_unused omap44xx_usb_host_fs__l3_main_2 = { 752 - .master = &omap44xx_usb_host_fs_hwmod, 753 - .slave = &omap44xx_l3_main_2_hwmod, 754 - .clk = "l3_div_ck", 755 - .user = OCP_USER_MPU | OCP_USER_SDMA, 756 - }; 757 - 758 - /* usb_host_hs -> l3_main_2 */ 759 - static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = { 760 - .master = &omap44xx_usb_host_hs_hwmod, 761 - .slave = &omap44xx_l3_main_2_hwmod, 762 - .clk = "l3_div_ck", 763 895 .user = OCP_USER_MPU | OCP_USER_SDMA, 764 896 }; 765 897 ··· 955 1119 .user = OCP_USER_MPU | OCP_USER_SDMA, 956 1120 }; 957 1121 958 - /* l4_cfg -> usb_host_fs */ 959 - static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_cfg__usb_host_fs = { 960 - .master = &omap44xx_l4_cfg_hwmod, 961 - .slave = &omap44xx_usb_host_fs_hwmod, 962 - .clk = "l4_div_ck", 963 - .user = OCP_USER_MPU | OCP_USER_SDMA, 964 - }; 965 - 966 - /* l4_cfg -> usb_host_hs */ 967 - static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = { 968 - .master = &omap44xx_l4_cfg_hwmod, 969 - .slave = &omap44xx_usb_host_hs_hwmod, 970 - .clk = "l4_div_ck", 971 - .user = OCP_USER_MPU | OCP_USER_SDMA, 972 - }; 973 - 974 - /* l4_cfg -> usb_tll_hs */ 975 - static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = { 976 - .master = &omap44xx_l4_cfg_hwmod, 977 - .slave = &omap44xx_usb_tll_hs_hwmod, 978 - .clk = "l4_div_ck", 979 - .user = OCP_USER_MPU | OCP_USER_SDMA, 980 - }; 981 - 982 1122 /* mpu -> emif1 */ 983 1123 static struct omap_hwmod_ocp_if omap44xx_mpu__emif1 = { 984 1124 .master = &omap44xx_mpu_hwmod, ··· 985 1173 &omap44xx_iva__l3_main_2, 986 1174 &omap44xx_l3_main_1__l3_main_2, 987 1175 &omap44xx_l4_cfg__l3_main_2, 988 - /* &omap44xx_usb_host_fs__l3_main_2, */ 989 - &omap44xx_usb_host_hs__l3_main_2, 990 1176 &omap44xx_l3_main_1__l3_main_3, 991 1177 &omap44xx_l3_main_2__l3_main_3, 992 1178 &omap44xx_l4_cfg__l3_main_3, ··· 1011 1201 &omap44xx_l4_wkup__prm, 1012 1202 &omap44xx_l4_wkup__scrm, 1013 1203 /* &omap44xx_l3_main_2__sl2if, */ 1014 - /* &omap44xx_l4_cfg__usb_host_fs, */ 1015 - &omap44xx_l4_cfg__usb_host_hs, 1016 - &omap44xx_l4_cfg__usb_tll_hs, 1017 1204 &omap44xx_mpu__emif1, 1018 1205 &omap44xx_mpu__emif2, 1019 1206 NULL,