diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 18:20:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 18:20:57 -0400 |
commit | 1f7f314bf2a77f1d499b41001ebdafb261f00f30 (patch) | |
tree | aa7eddcf09fe38abb274dffb457e3c0949cfbb3d /arch/arm | |
parent | 2a8ba8f032160552a3beffab8aae9019ff477504 (diff) | |
parent | fce064cbda85dda330150e8d4d9f6db1a3300023 (diff) |
Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux
* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (23 commits)
OMAP: DSS2: Fix omap_dss_probe() error path
OMAP: DSS2: omap_dss_probe() conditional compilation cleanup
board-omap3-beagle: add DSS2 support
OMAP2: DSS: Add missing line for update bg color
OMAP3630: DSS2: Updating MAX divider value
OMAP: RX51: Update board defconfig
OMAP: DSS2: Add ACX565AKM Panel Driver
OMAP: RX51: Add Touch Controller in SPI board info
OMAP: RX51: Add LCD Panel support
OMAP: DSS2: TPO-TD03MTEA1: fix Kconfig dependency
OMAP: LCD LS037V7DW01: Add Backlight driver support
OMAP: DSS2: Taal: Fix DSI bus locking problem
OMAP: DSS2: Taal: add mutex to protect panel data
OMAP: DSS2: Make partial update width even
OMAP: DSS2: Fix device disable when driver is not loaded
OMAP: DSS2: VENC: don't call platform_enable/disable() twice
OMAP: DSS2: check lock_fb_info() return value
OMAP: DSS2: fix lock_fb_info() and omapfb_lock() locking order
OMAP: DSS2: Use vdds_sdi regulator supply in SDI
OMAP: DSS2: Remove redundant enable/disable calls from SDI
...
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/configs/am3517_evm_defconfig | 52 | ||||
-rw-r--r-- | arch/arm/configs/omap3_evm_defconfig | 51 | ||||
-rw-r--r-- | arch/arm/configs/rx51_defconfig | 39 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 101 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-video.c | 109 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51.c | 2 |
8 files changed, 354 insertions, 29 deletions
diff --git a/arch/arm/configs/am3517_evm_defconfig b/arch/arm/configs/am3517_evm_defconfig index 232f8eeb72e3..e4f4fb522bac 100644 --- a/arch/arm/configs/am3517_evm_defconfig +++ b/arch/arm/configs/am3517_evm_defconfig | |||
@@ -774,7 +774,57 @@ CONFIG_SSB_POSSIBLE=y | |||
774 | # | 774 | # |
775 | # CONFIG_VGASTATE is not set | 775 | # CONFIG_VGASTATE is not set |
776 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 776 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
777 | # CONFIG_FB is not set | 777 | CONFIG_FB=y |
778 | # CONFIG_FIRMWARE_EDID is not set | ||
779 | # CONFIG_FB_DDC is not set | ||
780 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
781 | CONFIG_FB_CFB_FILLRECT=y | ||
782 | CONFIG_FB_CFB_COPYAREA=y | ||
783 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
784 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
785 | # CONFIG_FB_SYS_FILLRECT is not set | ||
786 | # CONFIG_FB_SYS_COPYAREA is not set | ||
787 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
788 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
789 | # CONFIG_FB_SYS_FOPS is not set | ||
790 | # CONFIG_FB_SVGALIB is not set | ||
791 | # CONFIG_FB_MACMODES is not set | ||
792 | # CONFIG_FB_BACKLIGHT is not set | ||
793 | # CONFIG_FB_MODE_HELPERS is not set | ||
794 | # CONFIG_FB_TILEBLITTING is not set | ||
795 | |||
796 | # | ||
797 | # Frame buffer hardware drivers | ||
798 | # | ||
799 | # CONFIG_FB_ARMCLCD is not set | ||
800 | # CONFIG_FB_S1D13XXX is not set | ||
801 | # CONFIG_FB_VIRTUAL is not set | ||
802 | # CONFIG_FB_METRONOME is not set | ||
803 | # CONFIG_FB_MB862XX is not set | ||
804 | # CONFIG_FB_BROADSHEET is not set | ||
805 | # CONFIG_FB_OMAP_BOOTLOADER_INIT is not set | ||
806 | CONFIG_OMAP2_VRAM=y | ||
807 | CONFIG_OMAP2_VRFB=y | ||
808 | CONFIG_OMAP2_DSS=y | ||
809 | CONFIG_OMAP2_VRAM_SIZE=4 | ||
810 | CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y | ||
811 | # CONFIG_OMAP2_DSS_RFBI is not set | ||
812 | CONFIG_OMAP2_DSS_VENC=y | ||
813 | # CONFIG_OMAP2_DSS_SDI is not set | ||
814 | # CONFIG_OMAP2_DSS_DSI is not set | ||
815 | # CONFIG_OMAP2_DSS_FAKE_VSYNC is not set | ||
816 | CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4 | ||
817 | CONFIG_FB_OMAP2=y | ||
818 | CONFIG_FB_OMAP2_DEBUG_SUPPORT=y | ||
819 | # CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set | ||
820 | CONFIG_FB_OMAP2_NUM_FBS=3 | ||
821 | |||
822 | # | ||
823 | # OMAP2/3 Display Device Drivers | ||
824 | # | ||
825 | CONFIG_PANEL_GENERIC=y | ||
826 | # CONFIG_PANEL_SHARP_LS037V7DW01 is not set | ||
827 | CONFIG_PANEL_SHARP_LQ043T1DG01=y | ||
778 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 828 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
779 | 829 | ||
780 | # | 830 | # |
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig index a6dd6d1af806..b02e371b0997 100644 --- a/arch/arm/configs/omap3_evm_defconfig +++ b/arch/arm/configs/omap3_evm_defconfig | |||
@@ -911,7 +911,56 @@ CONFIG_DAB=y | |||
911 | # | 911 | # |
912 | # CONFIG_VGASTATE is not set | 912 | # CONFIG_VGASTATE is not set |
913 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 913 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
914 | # CONFIG_FB is not set | 914 | CONFIG_FB=y |
915 | # CONFIG_FIRMWARE_EDID is not set | ||
916 | # CONFIG_FB_DDC is not set | ||
917 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
918 | CONFIG_FB_CFB_FILLRECT=y | ||
919 | CONFIG_FB_CFB_COPYAREA=y | ||
920 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
921 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
922 | # CONFIG_FB_SYS_FILLRECT is not set | ||
923 | # CONFIG_FB_SYS_COPYAREA is not set | ||
924 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
925 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
926 | # CONFIG_FB_SYS_FOPS is not set | ||
927 | # CONFIG_FB_SVGALIB is not set | ||
928 | # CONFIG_FB_MACMODES is not set | ||
929 | # CONFIG_FB_BACKLIGHT is not set | ||
930 | # CONFIG_FB_MODE_HELPERS is not set | ||
931 | # CONFIG_FB_TILEBLITTING is not set | ||
932 | |||
933 | # | ||
934 | # Frame buffer hardware drivers | ||
935 | # | ||
936 | # CONFIG_FB_S1D13XXX is not set | ||
937 | # CONFIG_FB_VIRTUAL is not set | ||
938 | # CONFIG_FB_METRONOME is not set | ||
939 | # CONFIG_FB_MB862XX is not set | ||
940 | # CONFIG_FB_BROADSHEET is not set | ||
941 | # CONFIG_FB_OMAP_BOOTLOADER_INIT is not set | ||
942 | CONFIG_OMAP2_VRAM=y | ||
943 | CONFIG_OMAP2_VRFB=y | ||
944 | CONFIG_OMAP2_DSS=y | ||
945 | CONFIG_OMAP2_VRAM_SIZE=4 | ||
946 | # CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set | ||
947 | # CONFIG_OMAP2_DSS_RFBI is not set | ||
948 | CONFIG_OMAP2_DSS_VENC=y | ||
949 | # CONFIG_OMAP2_DSS_SDI is not set | ||
950 | # CONFIG_OMAP2_DSS_DSI is not set | ||
951 | # CONFIG_OMAP2_DSS_FAKE_VSYNC is not set | ||
952 | CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4 | ||
953 | CONFIG_FB_OMAP2=y | ||
954 | # CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set | ||
955 | # CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set | ||
956 | CONFIG_FB_OMAP2_NUM_FBS=3 | ||
957 | |||
958 | # | ||
959 | # OMAP2/3 Display Device Drivers | ||
960 | # | ||
961 | CONFIG_PANEL_GENERIC=y | ||
962 | # CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set | ||
963 | CONFIG_PANEL_SHARP_LS037V7DW01=y | ||
915 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 964 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
916 | 965 | ||
917 | # | 966 | # |
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index 473f9e13f08b..56d4928cd4c9 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig | |||
@@ -784,6 +784,7 @@ CONFIG_INPUT_KEYBOARD=y | |||
784 | # CONFIG_KEYBOARD_NEWTON is not set | 784 | # CONFIG_KEYBOARD_NEWTON is not set |
785 | # CONFIG_KEYBOARD_STOWAWAY is not set | 785 | # CONFIG_KEYBOARD_STOWAWAY is not set |
786 | CONFIG_KEYBOARD_GPIO=m | 786 | CONFIG_KEYBOARD_GPIO=m |
787 | CONFIG_KEYBOARD_TWL4030=y | ||
787 | # CONFIG_INPUT_MOUSE is not set | 788 | # CONFIG_INPUT_MOUSE is not set |
788 | # CONFIG_INPUT_JOYSTICK is not set | 789 | # CONFIG_INPUT_JOYSTICK is not set |
789 | # CONFIG_INPUT_TABLET is not set | 790 | # CONFIG_INPUT_TABLET is not set |
@@ -809,6 +810,7 @@ CONFIG_INPUT_MISC=y | |||
809 | # CONFIG_INPUT_POWERMATE is not set | 810 | # CONFIG_INPUT_POWERMATE is not set |
810 | # CONFIG_INPUT_YEALINK is not set | 811 | # CONFIG_INPUT_YEALINK is not set |
811 | # CONFIG_INPUT_CM109 is not set | 812 | # CONFIG_INPUT_CM109 is not set |
813 | CONFIG_INPUT_TWL4030_PWRBUTTON=y | ||
812 | CONFIG_INPUT_UINPUT=m | 814 | CONFIG_INPUT_UINPUT=m |
813 | 815 | ||
814 | # | 816 | # |
@@ -1110,7 +1112,40 @@ CONFIG_RADIO_ADAPTERS=y | |||
1110 | # | 1112 | # |
1111 | # CONFIG_VGASTATE is not set | 1113 | # CONFIG_VGASTATE is not set |
1112 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1114 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
1113 | # CONFIG_FB is not set | 1115 | CONFIG_FB=y |
1116 | CONFIG_FB_CFB_FILLRECT=y | ||
1117 | CONFIG_FB_CFB_COPYAREA=y | ||
1118 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
1119 | |||
1120 | # Frame buffer hardware drivers | ||
1121 | # | ||
1122 | CONFIG_OMAP2_VRAM=y | ||
1123 | CONFIG_OMAP2_VRFB=y | ||
1124 | CONFIG_OMAP2_DSS=y | ||
1125 | CONFIG_OMAP2_VRAM_SIZE=0 | ||
1126 | # CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set | ||
1127 | # CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set | ||
1128 | # CONFIG_OMAP2_DSS_DPI is not set | ||
1129 | # CONFIG_OMAP2_DSS_RFBI is not set | ||
1130 | # CONFIG_OMAP2_DSS_VENC is not set | ||
1131 | CONFIG_OMAP2_DSS_SDI=y | ||
1132 | # CONFIG_OMAP2_DSS_DSI is not set | ||
1133 | # CONFIG_OMAP2_DSS_FAKE_VSYNC is not set | ||
1134 | CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 | ||
1135 | CONFIG_FB_OMAP2=y | ||
1136 | CONFIG_FB_OMAP2_DEBUG_SUPPORT=y | ||
1137 | CONFIG_FB_OMAP2_NUM_FBS=3 | ||
1138 | |||
1139 | # | ||
1140 | # OMAP2/3 Display Device Drivers | ||
1141 | # | ||
1142 | # CONFIG_PANEL_GENERIC is not set | ||
1143 | # CONFIG_PANEL_SHARP_LS037V7DW01 is not set | ||
1144 | # CONFIG_PANEL_SHARP_LQ043T1DG01 is not set | ||
1145 | # CONFIG_PANEL_TOPPOLY_TDO35S is not set | ||
1146 | # CONFIG_PANEL_TPO_TD043MTEA1 is not set | ||
1147 | CONFIG_PANEL_ACX565AKM=y | ||
1148 | |||
1114 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 1149 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
1115 | 1150 | ||
1116 | # | 1151 | # |
@@ -1127,6 +1162,8 @@ CONFIG_DISPLAY_SUPPORT=y | |||
1127 | # | 1162 | # |
1128 | # CONFIG_VGA_CONSOLE is not set | 1163 | # CONFIG_VGA_CONSOLE is not set |
1129 | CONFIG_DUMMY_CONSOLE=y | 1164 | CONFIG_DUMMY_CONSOLE=y |
1165 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
1166 | CONFIG_LOGO=y | ||
1130 | CONFIG_SOUND=y | 1167 | CONFIG_SOUND=y |
1131 | # CONFIG_SOUND_OSS_CORE is not set | 1168 | # CONFIG_SOUND_OSS_CORE is not set |
1132 | CONFIG_SND=y | 1169 | CONFIG_SND=y |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index d28e9e5702a0..ea52b034e963 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -119,6 +119,7 @@ obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o | |||
119 | obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \ | 119 | obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \ |
120 | board-rx51-sdram.o \ | 120 | board-rx51-sdram.o \ |
121 | board-rx51-peripherals.o \ | 121 | board-rx51-peripherals.o \ |
122 | board-rx51-video.o \ | ||
122 | hsmmc.o | 123 | hsmmc.o |
123 | obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom2.o \ | 124 | obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom2.o \ |
124 | board-zoom-peripherals.o \ | 125 | board-zoom-peripherals.o \ |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 962d377970e9..69b154cdc75d 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -39,6 +39,7 @@ | |||
39 | 39 | ||
40 | #include <plat/board.h> | 40 | #include <plat/board.h> |
41 | #include <plat/common.h> | 41 | #include <plat/common.h> |
42 | #include <plat/display.h> | ||
42 | #include <plat/gpmc.h> | 43 | #include <plat/gpmc.h> |
43 | #include <plat/nand.h> | 44 | #include <plat/nand.h> |
44 | #include <plat/usb.h> | 45 | #include <plat/usb.h> |
@@ -106,6 +107,77 @@ static struct platform_device omap3beagle_nand_device = { | |||
106 | .resource = &omap3beagle_nand_resource, | 107 | .resource = &omap3beagle_nand_resource, |
107 | }; | 108 | }; |
108 | 109 | ||
110 | /* DSS */ | ||
111 | |||
112 | static int beagle_enable_dvi(struct omap_dss_device *dssdev) | ||
113 | { | ||
114 | if (gpio_is_valid(dssdev->reset_gpio)) | ||
115 | gpio_set_value(dssdev->reset_gpio, 1); | ||
116 | |||
117 | return 0; | ||
118 | } | ||
119 | |||
120 | static void beagle_disable_dvi(struct omap_dss_device *dssdev) | ||
121 | { | ||
122 | if (gpio_is_valid(dssdev->reset_gpio)) | ||
123 | gpio_set_value(dssdev->reset_gpio, 0); | ||
124 | } | ||
125 | |||
126 | static struct omap_dss_device beagle_dvi_device = { | ||
127 | .type = OMAP_DISPLAY_TYPE_DPI, | ||
128 | .name = "dvi", | ||
129 | .driver_name = "generic_panel", | ||
130 | .phy.dpi.data_lines = 24, | ||
131 | .reset_gpio = 170, | ||
132 | .platform_enable = beagle_enable_dvi, | ||
133 | .platform_disable = beagle_disable_dvi, | ||
134 | }; | ||
135 | |||
136 | static struct omap_dss_device beagle_tv_device = { | ||
137 | .name = "tv", | ||
138 | .driver_name = "venc", | ||
139 | .type = OMAP_DISPLAY_TYPE_VENC, | ||
140 | .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO, | ||
141 | }; | ||
142 | |||
143 | static struct omap_dss_device *beagle_dss_devices[] = { | ||
144 | &beagle_dvi_device, | ||
145 | &beagle_tv_device, | ||
146 | }; | ||
147 | |||
148 | static struct omap_dss_board_info beagle_dss_data = { | ||
149 | .num_devices = ARRAY_SIZE(beagle_dss_devices), | ||
150 | .devices = beagle_dss_devices, | ||
151 | .default_device = &beagle_dvi_device, | ||
152 | }; | ||
153 | |||
154 | static struct platform_device beagle_dss_device = { | ||
155 | .name = "omapdss", | ||
156 | .id = -1, | ||
157 | .dev = { | ||
158 | .platform_data = &beagle_dss_data, | ||
159 | }, | ||
160 | }; | ||
161 | |||
162 | static struct regulator_consumer_supply beagle_vdac_supply = | ||
163 | REGULATOR_SUPPLY("vdda_dac", "omapdss"); | ||
164 | |||
165 | static struct regulator_consumer_supply beagle_vdvi_supply = | ||
166 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"); | ||
167 | |||
168 | static void __init beagle_display_init(void) | ||
169 | { | ||
170 | int r; | ||
171 | |||
172 | r = gpio_request(beagle_dvi_device.reset_gpio, "DVI reset"); | ||
173 | if (r < 0) { | ||
174 | printk(KERN_ERR "Unable to get DVI reset GPIO\n"); | ||
175 | return; | ||
176 | } | ||
177 | |||
178 | gpio_direction_output(beagle_dvi_device.reset_gpio, 0); | ||
179 | } | ||
180 | |||
109 | #include "sdram-micron-mt46h32m32lf-6.h" | 181 | #include "sdram-micron-mt46h32m32lf-6.h" |
110 | 182 | ||
111 | static struct omap2_hsmmc_info mmc[] = { | 183 | static struct omap2_hsmmc_info mmc[] = { |
@@ -117,15 +189,6 @@ static struct omap2_hsmmc_info mmc[] = { | |||
117 | {} /* Terminator */ | 189 | {} /* Terminator */ |
118 | }; | 190 | }; |
119 | 191 | ||
120 | static struct platform_device omap3_beagle_lcd_device = { | ||
121 | .name = "omap3beagle_lcd", | ||
122 | .id = -1, | ||
123 | }; | ||
124 | |||
125 | static struct omap_lcd_config omap3_beagle_lcd_config __initdata = { | ||
126 | .ctrl_name = "internal", | ||
127 | }; | ||
128 | |||
129 | static struct regulator_consumer_supply beagle_vmmc1_supply = { | 192 | static struct regulator_consumer_supply beagle_vmmc1_supply = { |
130 | .supply = "vmmc", | 193 | .supply = "vmmc", |
131 | }; | 194 | }; |
@@ -181,16 +244,6 @@ static struct twl4030_gpio_platform_data beagle_gpio_data = { | |||
181 | .setup = beagle_twl_gpio_setup, | 244 | .setup = beagle_twl_gpio_setup, |
182 | }; | 245 | }; |
183 | 246 | ||
184 | static struct regulator_consumer_supply beagle_vdac_supply = { | ||
185 | .supply = "vdac", | ||
186 | .dev = &omap3_beagle_lcd_device.dev, | ||
187 | }; | ||
188 | |||
189 | static struct regulator_consumer_supply beagle_vdvi_supply = { | ||
190 | .supply = "vdvi", | ||
191 | .dev = &omap3_beagle_lcd_device.dev, | ||
192 | }; | ||
193 | |||
194 | /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ | 247 | /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ |
195 | static struct regulator_init_data beagle_vmmc1 = { | 248 | static struct regulator_init_data beagle_vmmc1 = { |
196 | .constraints = { | 249 | .constraints = { |
@@ -349,14 +402,8 @@ static struct platform_device keys_gpio = { | |||
349 | }, | 402 | }, |
350 | }; | 403 | }; |
351 | 404 | ||
352 | static struct omap_board_config_kernel omap3_beagle_config[] __initdata = { | ||
353 | { OMAP_TAG_LCD, &omap3_beagle_lcd_config }, | ||
354 | }; | ||
355 | |||
356 | static void __init omap3_beagle_init_irq(void) | 405 | static void __init omap3_beagle_init_irq(void) |
357 | { | 406 | { |
358 | omap_board_config = omap3_beagle_config; | ||
359 | omap_board_config_size = ARRAY_SIZE(omap3_beagle_config); | ||
360 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params, | 407 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params, |
361 | mt46h32m32lf6_sdrc_params); | 408 | mt46h32m32lf6_sdrc_params); |
362 | omap_init_irq(); | 409 | omap_init_irq(); |
@@ -367,9 +414,9 @@ static void __init omap3_beagle_init_irq(void) | |||
367 | } | 414 | } |
368 | 415 | ||
369 | static struct platform_device *omap3_beagle_devices[] __initdata = { | 416 | static struct platform_device *omap3_beagle_devices[] __initdata = { |
370 | &omap3_beagle_lcd_device, | ||
371 | &leds_gpio, | 417 | &leds_gpio, |
372 | &keys_gpio, | 418 | &keys_gpio, |
419 | &beagle_dss_device, | ||
373 | }; | 420 | }; |
374 | 421 | ||
375 | static void __init omap3beagle_flash_init(void) | 422 | static void __init omap3beagle_flash_init(void) |
@@ -456,6 +503,8 @@ static void __init omap3_beagle_init(void) | |||
456 | /* Ensure SDRC pins are mux'd for self-refresh */ | 503 | /* Ensure SDRC pins are mux'd for self-refresh */ |
457 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 504 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
458 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); | 505 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); |
506 | |||
507 | beagle_display_init(); | ||
459 | } | 508 | } |
460 | 509 | ||
461 | static void __init omap3_beagle_map_io(void) | 510 | static void __init omap3_beagle_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 966f5f84f2bd..abdf321c2d41 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -45,6 +45,8 @@ | |||
45 | /* list all spi devices here */ | 45 | /* list all spi devices here */ |
46 | enum { | 46 | enum { |
47 | RX51_SPI_WL1251, | 47 | RX51_SPI_WL1251, |
48 | RX51_SPI_MIPID, /* LCD panel */ | ||
49 | RX51_SPI_TSC2005, /* Touch Controller */ | ||
48 | }; | 50 | }; |
49 | 51 | ||
50 | static struct wl12xx_platform_data wl1251_pdata; | 52 | static struct wl12xx_platform_data wl1251_pdata; |
@@ -54,6 +56,16 @@ static struct omap2_mcspi_device_config wl1251_mcspi_config = { | |||
54 | .single_channel = 1, | 56 | .single_channel = 1, |
55 | }; | 57 | }; |
56 | 58 | ||
59 | static struct omap2_mcspi_device_config mipid_mcspi_config = { | ||
60 | .turbo_mode = 0, | ||
61 | .single_channel = 1, | ||
62 | }; | ||
63 | |||
64 | static struct omap2_mcspi_device_config tsc2005_mcspi_config = { | ||
65 | .turbo_mode = 0, | ||
66 | .single_channel = 1, | ||
67 | }; | ||
68 | |||
57 | static struct spi_board_info rx51_peripherals_spi_board_info[] __initdata = { | 69 | static struct spi_board_info rx51_peripherals_spi_board_info[] __initdata = { |
58 | [RX51_SPI_WL1251] = { | 70 | [RX51_SPI_WL1251] = { |
59 | .modalias = "wl1251", | 71 | .modalias = "wl1251", |
@@ -64,6 +76,22 @@ static struct spi_board_info rx51_peripherals_spi_board_info[] __initdata = { | |||
64 | .controller_data = &wl1251_mcspi_config, | 76 | .controller_data = &wl1251_mcspi_config, |
65 | .platform_data = &wl1251_pdata, | 77 | .platform_data = &wl1251_pdata, |
66 | }, | 78 | }, |
79 | [RX51_SPI_MIPID] = { | ||
80 | .modalias = "acx565akm", | ||
81 | .bus_num = 1, | ||
82 | .chip_select = 2, | ||
83 | .max_speed_hz = 6000000, | ||
84 | .controller_data = &mipid_mcspi_config, | ||
85 | }, | ||
86 | [RX51_SPI_TSC2005] = { | ||
87 | .modalias = "tsc2005", | ||
88 | .bus_num = 1, | ||
89 | .chip_select = 0, | ||
90 | /* .irq = OMAP_GPIO_IRQ(RX51_TSC2005_IRQ_GPIO),*/ | ||
91 | .max_speed_hz = 6000000, | ||
92 | .controller_data = &tsc2005_mcspi_config, | ||
93 | /* .platform_data = &tsc2005_config,*/ | ||
94 | }, | ||
67 | }; | 95 | }; |
68 | 96 | ||
69 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 97 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c new file mode 100644 index 000000000000..b743a4f42649 --- /dev/null +++ b/arch/arm/mach-omap2/board-rx51-video.c | |||
@@ -0,0 +1,109 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/board-rx51-video.c | ||
3 | * | ||
4 | * Copyright (C) 2010 Nokia | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <linux/gpio.h> | ||
15 | #include <linux/spi/spi.h> | ||
16 | #include <linux/mm.h> | ||
17 | |||
18 | #include <asm/mach-types.h> | ||
19 | #include <plat/mux.h> | ||
20 | #include <plat/display.h> | ||
21 | #include <plat/vram.h> | ||
22 | #include <plat/mcspi.h> | ||
23 | |||
24 | #include "mux.h" | ||
25 | |||
26 | #define RX51_LCD_RESET_GPIO 90 | ||
27 | |||
28 | #if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) | ||
29 | |||
30 | static int rx51_lcd_enable(struct omap_dss_device *dssdev) | ||
31 | { | ||
32 | gpio_set_value(dssdev->reset_gpio, 1); | ||
33 | return 0; | ||
34 | } | ||
35 | |||
36 | static void rx51_lcd_disable(struct omap_dss_device *dssdev) | ||
37 | { | ||
38 | gpio_set_value(dssdev->reset_gpio, 0); | ||
39 | } | ||
40 | |||
41 | static struct omap_dss_device rx51_lcd_device = { | ||
42 | .name = "lcd", | ||
43 | .driver_name = "panel-acx565akm", | ||
44 | .type = OMAP_DISPLAY_TYPE_SDI, | ||
45 | .phy.sdi.datapairs = 2, | ||
46 | .reset_gpio = RX51_LCD_RESET_GPIO, | ||
47 | .platform_enable = rx51_lcd_enable, | ||
48 | .platform_disable = rx51_lcd_disable, | ||
49 | }; | ||
50 | |||
51 | static struct omap_dss_device *rx51_dss_devices[] = { | ||
52 | &rx51_lcd_device, | ||
53 | }; | ||
54 | |||
55 | static struct omap_dss_board_info rx51_dss_board_info = { | ||
56 | .num_devices = ARRAY_SIZE(rx51_dss_devices), | ||
57 | .devices = rx51_dss_devices, | ||
58 | .default_device = &rx51_lcd_device, | ||
59 | }; | ||
60 | |||
61 | struct platform_device rx51_display_device = { | ||
62 | .name = "omapdss", | ||
63 | .id = -1, | ||
64 | .dev = { | ||
65 | .platform_data = &rx51_dss_board_info, | ||
66 | }, | ||
67 | }; | ||
68 | |||
69 | static struct platform_device *rx51_video_devices[] __initdata = { | ||
70 | &rx51_display_device, | ||
71 | }; | ||
72 | |||
73 | static int __init rx51_video_init(void) | ||
74 | { | ||
75 | if (!machine_is_nokia_rx51()) | ||
76 | return 0; | ||
77 | |||
78 | if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) { | ||
79 | pr_err("%s cannot configure MUX for LCD RESET\n", __func__); | ||
80 | return 0; | ||
81 | } | ||
82 | |||
83 | if (gpio_request(RX51_LCD_RESET_GPIO, "LCD ACX565AKM reset")) { | ||
84 | pr_err("%s failed to get LCD Reset GPIO\n", __func__); | ||
85 | return 0; | ||
86 | } | ||
87 | |||
88 | gpio_direction_output(RX51_LCD_RESET_GPIO, 1); | ||
89 | |||
90 | platform_add_devices(rx51_video_devices, | ||
91 | ARRAY_SIZE(rx51_video_devices)); | ||
92 | return 0; | ||
93 | } | ||
94 | |||
95 | subsys_initcall(rx51_video_init); | ||
96 | |||
97 | void __init rx51_video_mem_init(void) | ||
98 | { | ||
99 | /* | ||
100 | * GFX 864x480x32bpp | ||
101 | * VID1/2 1280x720x32bpp double buffered | ||
102 | */ | ||
103 | omap_vram_set_sdram_vram(PAGE_ALIGN(864 * 480 * 4) + | ||
104 | 2 * PAGE_ALIGN(1280 * 720 * 4 * 2), 0); | ||
105 | } | ||
106 | |||
107 | #else | ||
108 | void __init rx51_video_mem_init(void) { } | ||
109 | #endif /* defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) */ | ||
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index b155c366c650..1b86b5bb87a2 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #define RX51_GPIO_SLEEP_IND 162 | 36 | #define RX51_GPIO_SLEEP_IND 162 |
37 | 37 | ||
38 | struct omap_sdrc_params *rx51_get_sdram_timings(void); | 38 | struct omap_sdrc_params *rx51_get_sdram_timings(void); |
39 | extern void rx51_video_mem_init(void); | ||
39 | 40 | ||
40 | static struct gpio_led gpio_leds[] = { | 41 | static struct gpio_led gpio_leds[] = { |
41 | { | 42 | { |
@@ -143,6 +144,7 @@ static void __init rx51_init(void) | |||
143 | static void __init rx51_map_io(void) | 144 | static void __init rx51_map_io(void) |
144 | { | 145 | { |
145 | omap2_set_globals_343x(); | 146 | omap2_set_globals_343x(); |
147 | rx51_video_mem_init(); | ||
146 | omap34xx_map_common_io(); | 148 | omap34xx_map_common_io(); |
147 | } | 149 | } |
148 | 150 | ||