[Armadeus-commitlog] SF.net SVN: armadeus:[1310] trunk/buildroot/target/device/armadeus
Brought to you by:
sszy
From: <ar...@us...> - 2009-05-27 18:00:14
|
Revision: 1310 http://armadeus.svn.sourceforge.net/armadeus/?rev=1310&view=rev Author: artemys Date: 2009-05-27 17:59:13 +0000 (Wed, 27 May 2009) Log Message: ----------- [LINUX] Add the possibility to choose between Freescale or Mainline framebuffer driver for APF27 Modified Paths: -------------- trunk/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/233-apf27-pengu-mx2_framebuffer_beta.patch trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/295-apf27-armadeus-imxfb-modify_imxfb_device_name_for_freescale_driver.patch Added Paths: ----------- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/330-armadeus-imxfb-makes_mainline_driver_selectable_for_mx2.patch trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/333-armadeus-imxfb-makes_plat-mxc_imxfb_h_compatible_with_mx27.patch Modified: trunk/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config =================================================================== --- trunk/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config 2009-05-27 17:52:14 UTC (rev 1309) +++ trunk/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.29.config 2009-05-27 17:59:13 UTC (rev 1310) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.29 -# Wed May 13 09:02:28 2009 +# Wed May 27 19:47:22 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -1068,7 +1068,7 @@ # Graphics support # # CONFIG_VGASTATE is not set -# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set @@ -1091,6 +1091,7 @@ # # Frame buffer hardware drivers # +# CONFIG_FB_IMX is not set CONFIG_FB_IMX_SHARP_LQ043_TFT=y # CONFIG_FB_IMX_MICROTIPS_MTF_T035_TFT is not set # CONFIG_FB_IMX_SHARP_LQ057_TFT is not set Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch =================================================================== --- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch 2009-05-27 17:52:14 UTC (rev 1309) +++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch 2009-05-27 17:59:13 UTC (rev 1310) @@ -4,7 +4,7 @@ Index: linux-2.6.29/arch/arm/mach-imx/apf9328.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.29/arch/arm/mach-imx/apf9328.c 2009-05-21 21:20:41.000000000 +0200 ++++ linux-2.6.29/arch/arm/mach-imx/apf9328.c 2009-05-27 09:33:57.000000000 +0200 @@ -0,0 +1,816 @@ +/* + * linux/arch/arm/mach-imx/apf9328.c @@ -825,8 +825,8 @@ Index: linux-2.6.29/arch/arm/mach-imx/apf9328_lcd_config.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.29/arch/arm/mach-imx/apf9328_lcd_config.h 2009-05-22 15:35:56.000000000 +0200 -@@ -0,0 +1,277 @@ ++++ linux-2.6.29/arch/arm/mach-imx/apf9328_lcd_config.h 2009-05-27 17:11:00.000000000 +0200 +@@ -0,0 +1,301 @@ +/* + * + * Armadeus LCD configuration file @@ -837,46 +837,57 @@ + * + */ + -+#ifndef APF9328_LCD_CONFIG_H -+#define APF9328_LCD_CONFIG_H ++#ifndef APF_LCD_CONFIG_H ++#define APF_LCD_CONFIG_H + + +#ifdef CONFIG_FB_IMX ++ +#include <mach/imxfb.h> +#include <linux/delay.h> +#include <mach/gpio.h> + +#ifdef CONFIG_ARCH_IMX +#define LCDC_BASE_ADDR IMX_LCDC_BASE ++#endif +#define LCDISR_EOF (1 << 1) -+#endif + ++#ifdef CONFIG_MACH_APF9328 +#define OPTREX_F51900_POWER_DOWN (GPIO_PORTD | 7) /* PD7_REV */ +#define SHARP_LQ043_POWER_DOWN (GPIO_PORTD | 12) /* PD12_ACD_OE */ +#define CONTRAST_LINE (GPIO_PORTD | 11) /* PD11_CONTRAST */ ++#endif + ++#ifdef CONFIG_MACH_APF27 ++#define OPTREX_F51900_POWER_DOWN (GPIO_PORTA | 24) /* PA24_REV */ ++#define SHARP_LQ043_POWER_DOWN (GPIO_PORTA | 31) /* PA31_OE_ACD */ ++#define CONTRAST_LINE (GPIO_PORTA | 30) /* PA30_CONTRAST */ ++#endif ++ +#define DEFAULT_DMA_SETTINGS (DMACR_BURST | DMACR_HM(8) | DMACR_TM(4)) + ++#ifdef CONFIG_MACH_APF9328 ++static int apf9328_fb_init(struct platform_device *pdev); ++static int apf9328_fb_exit(struct platform_device *pdev); ++#endif + -+static int imx_fb_gpios_init(struct platform_device *pdev); -+static int imx_fb_gpios_exit(struct platform_device *pdev); -+ +/* + * Power on/off LCD's internal logic + */ -+static void apf9328_lcd_power(int on) ++static void apf_lcd_power(int on) +{ + u32 isr; + -+ pr_debug("apf9328_lcd_power: %s\n", on ? "on":"off"); ++ pr_debug("%s: %s\n", __func__, on ? "on":"off"); ++ isr = 0; +#ifdef CONFIG_FB_IMX_OPTREX_F51900_CSTN + if (on) + gpio_set_value(OPTREX_F51900_POWER_DOWN, 1); + else + gpio_set_value(OPTREX_F51900_POWER_DOWN, 0); -+//#elif CONFIG_FB_IMX_MICROTIPS_MTF_T035_TFT ++#elif defined(CONFIG_FB_IMX_MICROTIPS_MTF_T035_TFT) + /* No LCD powerdown yet */ -+#elif CONFIG_FB_IMX_SHARP_LQ043_TFT ++#elif defined(CONFIG_FB_IMX_SHARP_LQ043_TFT) + if (on) { + mdelay(200); /* at least ten frames have to be processed before + enabling the display */ @@ -907,15 +918,17 @@ +/* + * Power on/off LCD's backlight + */ -+static void apf9328_lcd_backlight_power(int on) ++static void apf_lcd_backlight_power(int on) +{ + u32 pwmr; + -+ pr_debug("apf9328_lcd_backlight_power: %s\n", on ? "on":"off"); ++ pr_debug("%s: %s\n", __func__, on ? "on":"off"); + + pwmr = readl(IO_ADDRESS(LCDC_BASE_ADDR) + 0x2c); -+ if( pwmr ) ++#ifdef CONFIG_MACH_APF9328 ++ if (pwmr) + imx_gpio_mode(PD11_PF_CONTRAST); ++#endif + if (on) { + pwmr |= PWMR_CC_EN; + } else { @@ -924,10 +937,13 @@ + writel(pwmr, IO_ADDRESS(LCDC_BASE_ADDR) + 0x2c); +} + -+ ++#ifdef CONFIG_MACH_APF9328 +static struct imx_fb_platform_data apf9328_fb_info /*__initdata*/ = { ++#elif CONFIG_MACH_APF27 ++static struct imx_fb_platform_data apf27_fb_data = { ++#endif +#ifdef CONFIG_FB_IMX_SHARP_LQ043_TFT -+ .pixclock = 62500, ++ .pixclock = 125000, /* picoS -> ~8MHz */ + .bpp = 16, + .xres = 480, + .yres = 272, @@ -943,10 +959,10 @@ + PCR_CLKPOL | PCR_SCLKIDLE | PCR_SCLK_SEL | PCR_PCD(5), + .pwmr = 0x000003ff, /* Contrast with PWM @ Pixel clock / 256, max width by default */ + .dmacr = DEFAULT_DMA_SETTINGS, -+ .backlight_power= apf9328_lcd_backlight_power, -+ .lcd_power = apf9328_lcd_power, ++ .backlight_power= apf_lcd_backlight_power, ++ .lcd_power = apf_lcd_power, +#elif CONFIG_FB_IMX_MICROTIPS_MTF_T035_TFT -+ .pixclock = 62500, ++ .pixclock = 156250, /* picoS -> ~6.4MHz */ + .bpp = 16, + .xres = 320, + .yres = 240, @@ -962,9 +978,10 @@ + PCR_SCLKIDLE | PCR_SCLK_SEL | PCR_PCD(7), + .pwmr = 0x00000150, /* Contrast with PWM @ Line Pulse / 256, medium width by default */ + .dmacr = DEFAULT_DMA_SETTINGS, -+ .backlight_power= apf9328_lcd_backlight_power, ++ .backlight_power= apf_lcd_backlight_power, ++ .lcd_power = apf_lcd_power, +#elif CONFIG_FB_IMX_SHARP_LQ057_TFT -+ .pixclock = 62500, ++ .pixclock = 158730, /* picoS -> ~6.3MHz */ + .bpp = 16, + .xres = 320, + .yres = 240, @@ -980,7 +997,7 @@ + PCR_SCLKIDLE | PCR_SCLK_SEL | PCR_PCD(9), + .pwmr = 0, /* No contrast management */ + .dmacr = DEFAULT_DMA_SETTINGS, -+ .lcd_power = apf9328_lcd_power, ++ .lcd_power = apf_lcd_power, +#elif CONFIG_FB_IMX_OPTREX_F51900_CSTN + .pixclock = 62500, + .bpp = 8, @@ -998,9 +1015,9 @@ + PCR_END_BYTE_SWAP | PCR_PCD(3), + .dmacr = DEFAULT_DMA_SETTINGS, + .pwmr = 0, /* No contrast management */ -+ .lcd_power = apf9328_lcd_power, ++ .lcd_power = apf_lcd_power, +#elif CONFIG_FB_IMX_MOTOROLA_A910_TFT -+ .pixclock = 62500, ++ .pixclock = 158730, /* picoS -> ~6.3MHz */ + .bpp = 16, + .xres = 240, + .yres = 320, @@ -1016,18 +1033,24 @@ + PCR_SCLKIDLE | PCR_SCLK_SEL | PCR_PCD(9), + .dmacr = DEFAULT_DMA_SETTINGS, + .pwmr = 0, /* No contrast management */ -+ .lcd_power = apf9328_lcd_power, ++ .lcd_power = apf_lcd_power, +#else -+#error Please define a imxfb_mach_info structure with your LCD parameters here ++#error Please define a imx_fb_platform_data structure with your LCD parameters +#endif -+ .init = imx_fb_gpios_init, -+ .exit = imx_fb_gpios_exit, ++#ifdef CONFIG_MACH_APF9328 ++ .init = apf9328_fb_init, ++ .exit = apf9328_fb_exit, ++#elif CONFIG_MACH_APF27 ++ .init = apf27_fb_init, ++ .exit = apf27_fb_exit, ++#endif +}; + +/* + * Configure all GPIOs needed by LCDs + */ -+static int imx_fb_gpios_init(struct platform_device *pdev) ++#ifdef CONFIG_MACH_APF9328 ++static int apf9328_fb_init(struct platform_device *pdev) +{ + struct imx_fb_platform_data *fb_inf = &apf9328_fb_info; + int width; @@ -1095,19 +1118,20 @@ + return 0; +} + -+static int imx_fb_gpios_exit(struct platform_device *pdev) ++static int apf9328_fb_exit(struct platform_device *pdev) +{ + /* TO BE DONE */ + return 0; +} ++#endif /* CONFIG_MACH_APF9328 */ + +#endif /* CONFIG_FB_IMX */ + -+#endif /* APF9328_LCD_CONFIG_H */ ++#endif /* APF_LCD_CONFIG_H */ Index: linux-2.6.29/arch/arm/mach-imx/include/mach/apf9328.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.29/arch/arm/mach-imx/include/mach/apf9328.h 2009-05-21 21:20:41.000000000 +0200 ++++ linux-2.6.29/arch/arm/mach-imx/include/mach/apf9328.h 2009-05-27 09:33:57.000000000 +0200 @@ -0,0 +1,63 @@ +/* + * linux/include/asm-arm/arch-imx/apf9328.h Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/233-apf27-pengu-mx2_framebuffer_beta.patch =================================================================== --- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/233-apf27-pengu-mx2_framebuffer_beta.patch 2009-05-27 17:52:14 UTC (rev 1309) +++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/233-apf27-pengu-mx2_framebuffer_beta.patch 2009-05-27 17:59:13 UTC (rev 1310) @@ -26,7 +26,7 @@ select FB_CFB_IMAGEBLIT +config FB_MXC -+ tristate "MXC Framebuffer support" ++ tristate "MXC Framebuffer support (Freescale driver)" + depends on FB && ARM && ARCH_MX2 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch =================================================================== --- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch 2009-05-27 17:52:14 UTC (rev 1309) +++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch 2009-05-27 17:59:13 UTC (rev 1310) @@ -4,8 +4,8 @@ Index: linux-2.6.29/arch/arm/mach-mx2/apf27.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.29/arch/arm/mach-mx2/apf27.c 2009-05-25 14:12:14.000000000 +0200 -@@ -0,0 +1,1560 @@ ++++ linux-2.6.29/arch/arm/mach-mx2/apf27.c 2009-05-27 15:46:04.000000000 +0200 +@@ -0,0 +1,1571 @@ + /* + * apf27.c + * @@ -56,8 +56,9 @@ +#include <../mach-imx/include/mach/spi_imx.h> +#include <mach/imx-uart.h> +#include <mach/mmc.h> ++#ifdef CONFIG_FB_MXC +#include <mach/imx_fb.h> -+#include <mach/imxfb.h> ++#endif +#include <mach/mxc_nand.h> +#include <mach/mxc_ehci.h> +#include <mach/ulpi.h> @@ -464,7 +465,7 @@ + mxc_gpio_release_multiple_pins(mxc_fec_pins, ARRAY_SIZE(mxc_fec_pins)); +} */ + -+#ifdef CONFIG_FB_MXC ++#if defined(CONFIG_FB_MXC) || defined(CONFIG_FB_IMX) +static int mxc_lcd_pins[] = { + PA5_PF_LSCLK, + PA6_PF_LD0, @@ -507,13 +508,15 @@ + +static int apf27_fb_init(struct platform_device *pdev) +{ -+#ifdef CONFIG_FB_IMX_SHARP_LQ043_TFT -+ /* For LQ043 OE_ACD is used as LCD Display ON/OFF. shut down TFT */ ++#ifdef CONFIG_FB_MXC ++# ifdef CONFIG_FB_IMX_SHARP_LQ043_TFT ++ /* For LQ043 OE_ACD is used as LCD Display ON/OFF: activate LCD */ + gpio_set_value(GPIO_PORTA | 31, 1); -+#endif -+#ifdef CONFIG_FB_IMX_SHARP_LQ057_TFT ++# endif ++# ifdef CONFIG_FB_IMX_SHARP_LQ057_TFT + /* For LQ057: activate backlight at startup */ + gpio_set_value(GPIO_PORTA | 30, 0); ++# endif +#endif + + return mxc_gpio_setup_multiple_pins(mxc_lcd_pins, ARRAY_SIZE(mxc_lcd_pins), "LCD"); @@ -526,17 +529,25 @@ + return 0; +} + ++/* Freescale driver */ ++#ifdef CONFIG_FB_MXC +static struct mxc_fb_platform_data apf27_fb_data = { -+#ifdef CONFIG_FB_IMX_SHARP_LQ043_TFT ++# ifdef CONFIG_FB_IMX_SHARP_LQ043_TFT + .mode = "Sharp-LQ043", -+#elif CONFIG_FB_IMX_SHARP_LQ057_TFT ++# elif CONFIG_FB_IMX_SHARP_LQ057_TFT + .mode = "Sharp-LQ057", -+#endif ++# endif + .init = apf27_fb_init, + .exit = apf27_fb_exit, +}; ++#endif + -+#ifdef CONFIG_IMX_BACKLIGHT ++/* Mainline driver */ ++#ifdef CONFIG_FB_IMX ++#include "../mach-imx/apf9328_lcd_config.h" ++#endif ++ ++# ifdef CONFIG_IMX_BACKLIGHT +static struct imxbl_machinfo imx_bl_machinfo = { + .max_intensity = 0xff, + .default_intensity = 0x90, @@ -552,9 +563,9 @@ + }, + .id = 0, +}; -+#endif /* CONFIG_IMX_BACKLIGHT */ ++# endif /* CONFIG_IMX_BACKLIGHT */ + -+#endif /* CONFIG_FB_MXC */ ++#endif /* CONFIG_FB_MXC || CONFIG_FB_IMX */ + + +#ifdef CONFIG_MMC_MXC @@ -1514,7 +1525,7 @@ + ARRAY_SIZE(spi_board_info)); +#endif + -+#ifdef CONFIG_FB_MXC ++#if defined(CONFIG_FB_MXC) || defined(CONFIG_FB_IMX) + mxc_register_device(&mxc_fb_device, &apf27_fb_data); +#endif + Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/295-apf27-armadeus-imxfb-modify_imxfb_device_name_for_freescale_driver.patch =================================================================== --- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/295-apf27-armadeus-imxfb-modify_imxfb_device_name_for_freescale_driver.patch 2009-05-27 17:52:14 UTC (rev 1309) +++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/295-apf27-armadeus-imxfb-modify_imxfb_device_name_for_freescale_driver.patch 2009-05-27 17:59:13 UTC (rev 1310) @@ -1,13 +1,17 @@ Index: linux-2.6.29/arch/arm/mach-mx2/devices.c =================================================================== ---- linux-2.6.29.orig/arch/arm/mach-mx2/devices.c 2009-03-31 11:00:28.000000000 +0200 -+++ linux-2.6.29/arch/arm/mach-mx2/devices.c 2009-03-31 11:26:09.000000000 +0200 -@@ -398,7 +398,7 @@ +--- linux-2.6.29.orig/arch/arm/mach-mx2/devices.c 2009-05-26 15:11:17.000000000 +0200 ++++ linux-2.6.29/arch/arm/mach-mx2/devices.c 2009-05-26 15:33:35.000000000 +0200 +@@ -398,7 +398,11 @@ /* mxc lcd driver */ struct platform_device mxc_fb_device = { - .name = "imx-fb", -+ .name = "mxc_sdc_fb", /* "imx-fb" if using pengu i.MX1/2/3 driver */ ++#ifdef CONFIG_FB_IMX ++ .name = "imx-fb", /* Mainline driver */ ++#elif CONFIG_FB_MXC ++ .name = "mxc_sdc_fb", /* Freescale driver */ ++#endif .id = 0, .num_resources = ARRAY_SIZE(mxc_fb), .resource = mxc_fb, Added: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/330-armadeus-imxfb-makes_mainline_driver_selectable_for_mx2.patch =================================================================== --- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/330-armadeus-imxfb-makes_mainline_driver_selectable_for_mx2.patch (rev 0) +++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/330-armadeus-imxfb-makes_mainline_driver_selectable_for_mx2.patch 2009-05-27 17:59:13 UTC (rev 1310) @@ -0,0 +1,13 @@ +Index: linux-2.6.29/drivers/video/Kconfig +=================================================================== +--- linux-2.6.29.orig/drivers/video/Kconfig 2009-05-26 15:39:19.000000000 +0200 ++++ linux-2.6.29/drivers/video/Kconfig 2009-05-26 15:40:54.000000000 +0200 +@@ -398,7 +398,7 @@ + + config FB_IMX + tristate "Motorola i.MX LCD support" +- depends on FB && ARM && ARCH_IMX ++ depends on FB && ARM && (ARCH_IMX || ARCH_MX2) + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT Added: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/333-armadeus-imxfb-makes_plat-mxc_imxfb_h_compatible_with_mx27.patch =================================================================== --- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/333-armadeus-imxfb-makes_plat-mxc_imxfb_h_compatible_with_mx27.patch (rev 0) +++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/333-armadeus-imxfb-makes_plat-mxc_imxfb_h_compatible_with_mx27.patch 2009-05-27 17:59:13 UTC (rev 1310) @@ -0,0 +1,33 @@ + +On i.MX27 (and probably i.MX21) bits per pixel selection in LCD controller +is slightly different than on i.MXL. +So makes some changes in MX1/2 framebuffer driver include... + +Signed-off-by: Julien Boibessot <jul...@ar...> + +Index: linux-2.6.29/arch/arm/plat-mxc/include/mach/imxfb.h +=================================================================== +--- linux-2.6.29.orig/arch/arm/plat-mxc/include/mach/imxfb.h 2009-05-27 11:43:17.000000000 +0200 ++++ linux-2.6.29/arch/arm/plat-mxc/include/mach/imxfb.h 2009-05-27 11:49:26.000000000 +0200 +@@ -13,7 +13,12 @@ + #define PCR_BPIX_4 (2 << 25) + #define PCR_BPIX_8 (3 << 25) + #define PCR_BPIX_12 (4 << 25) ++#ifdef CONFIG_ARCH_MX1 + #define PCR_BPIX_16 (4 << 25) ++#else ++#define PCR_BPIX_16 (5 << 25) ++#define PCR_BPIX_18 (6 << 25) ++#endif + #define PCR_BPIX_MASK (7 << 25) + #define PCR_PIXPOL (1 << 24) + #define PCR_FLMPOL (1 << 23) +@@ -22,7 +27,7 @@ + #define PCR_OEPOL (1 << 20) + #define PCR_SCLKIDLE (1 << 19) + #define PCR_END_SEL (1 << 18) +-#define PCR_END_BYTE_SWAP ( 1<< 17) ++#define PCR_END_BYTE_SWAP (1 << 17) + #define PCR_REV_VS (1 << 16) + #define PCR_ACD_SEL (1 << 15) + #define PCR_ACD(x) (((x) & 0x7f) << 8) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |