Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-12 Thread Simon Glass
Hi Bin,

On 10 January 2015 at 20:20, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sun, Jan 11, 2015 at 11:42 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 10 January 2015 at 20:04, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sun, Jan 11, 2015 at 12:08 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 9 January 2015 at 20:52, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sat, Jan 10, 2015 at 3:02 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org 
 wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org 
 wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an 
 example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip 
 connected to CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip 
 connected to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0  
  \
 pciconfighost=1\0
  \
 pcie_mode=RP:RP\0
  \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS 
  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for 
 vga bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't 
 needed it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

 See the existing int15_handler() in that file. It allows selection of
 output device and scaling. I doubt it matters for most boards.

 OK, so looks we should not make this int15_handler() common.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-10 Thread Simon Glass
Hi Bin,

On 9 January 2015 at 20:52, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sat, Jan 10, 2015 at 3:02 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of 
 the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected 
 to CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected 
 to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0  
  \
 pciconfighost=1\0
  \
 pcie_mode=RP:RP\0
  \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS 
  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga 
 bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't needed 
 it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

 See the existing int15_handler() in that file. It allows selection of
 output device and scaling. I doubt it matters for most boards.

 OK, so looks we should not make this int15_handler() common.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you mentioned two cards, did you insert them simultaneously? I believe
 only one card will work due to only one card will respond VGA cycles.

 No it's set on Link I believe - see bd82x6x_pci_bus_enable_resources().

 I don't see where does this bd82x6x_pci_bus_enable_resources() get called.

Actually neither do I, looks like an 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-10 Thread Bin Meng
Hi Simon,

On Sun, Jan 11, 2015 at 11:42 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 10 January 2015 at 20:04, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sun, Jan 11, 2015 at 12:08 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 9 January 2015 at 20:52, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sat, Jan 10, 2015 at 3:02 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org 
 wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example 
 of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip 
 connected to CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip 
 connected to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   
 \
 pciconfighost=1\0 
 \
 pcie_mode=RP:RP\0 
 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  
 \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for 
 vga bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't 
 needed it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

 See the existing int15_handler() in that file. It allows selection of
 output device and scaling. I doubt it matters for most boards.

 OK, so looks we should not make this int15_handler() common.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you mentioned two cards, did you insert them simultaneously? I believe
 only one card 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-10 Thread Bin Meng
Hi Simon,

On Sun, Jan 11, 2015 at 12:08 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 9 January 2015 at 20:52, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sat, Jan 10, 2015 at 3:02 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org 
 wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example 
 of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected 
 to CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip 
 connected to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0 
   \
 pciconfighost=1\0   
   \
 pcie_mode=RP:RP\0   
   \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS
   \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga 
 bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't needed 
 it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

 See the existing int15_handler() in that file. It allows selection of
 output device and scaling. I doubt it matters for most boards.

 OK, so looks we should not make this int15_handler() common.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you mentioned two cards, did you insert them simultaneously? I believe
 only one card will work due to only one card will respond VGA cycles.

 No it's set on Link I believe - see bd82x6x_pci_bus_enable_resources().

 I don't see where does this 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-10 Thread Simon Glass
Hi Bin,

On 10 January 2015 at 20:04, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sun, Jan 11, 2015 at 12:08 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 9 January 2015 at 20:52, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Sat, Jan 10, 2015 at 3:02 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org 
 wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example 
 of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip 
 connected to CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip 
 connected to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0
\
 pciconfighost=1\0  
\
 pcie_mode=RP:RP\0  
\
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS   
\
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga 
 bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't 
 needed it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

 See the existing int15_handler() in that file. It allows selection of
 output device and scaling. I doubt it matters for most boards.

 OK, so looks we should not make this int15_handler() common.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you mentioned two cards, did you insert them simultaneously? I believe
 only one card will work due to only one card will respond VGA cycles.

 No it's set on Link I 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-09 Thread Bin Meng
Hi Simon,

On Sat, Jan 10, 2015 at 3:02 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of 
 the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected 
 to CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected 
 to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   
 \
 pciconfighost=1\0 
 \
 pcie_mode=RP:RP\0 
 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  
 \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga 
 bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't needed 
 it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

 See the existing int15_handler() in that file. It allows selection of
 output device and scaling. I doubt it matters for most boards.

OK, so looks we should not make this int15_handler() common.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you mentioned two cards, did you insert them simultaneously? I believe
 only one card will work due to only one card will respond VGA cycles.

 No it's set on Link I believe - see bd82x6x_pci_bus_enable_resources().

I don't see where does this bd82x6x_pci_bus_enable_resources() get called.

 I only used one card at a time.



 For the ROM, pci_rom_load() works for me, after pciauto_setup_rom() is
 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-09 Thread Simon Glass
Hi Bin,

On 8 January 2015 at 22:23, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of 
 the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h 
 b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to 
 CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected 
 to CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  
 /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   \
 pciconfighost=1\0 \
 pcie_mode=RP:RP\0 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga 
 bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

 Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't needed it.

 So what does int15_hander() normally do? I see the vesa_fb.c provided
 NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
 does not pass NULL.

See the existing int15_handler() in that file. It allows selection of
output device and scaling. I doubt it matters for most boards.


 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

 So VGA enable bit is unset on Link as well? That's interesting. When
 you mentioned two cards, did you insert them simultaneously? I believe
 only one card will work due to only one card will respond VGA cycles.

No it's set on Link I believe - see bd82x6x_pci_bus_enable_resources().

I only used one card at a time.



 For the ROM, pci_rom_load() works for me, after pciauto_setup_rom() is
 called. I wonder if you haven't enabled the ROM BAR? I initially got
 the same result as you.

 Yes, I called pciauto_setup_rom() in my codes. I also verified the
 expansion ROM address register has bit0 set to 1 which means enabled.

 And 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-08 Thread Simon Glass
Hi Bin,

On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to 
 CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected to 
 CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  /*---
   * FLASH related
   *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   \
 pciconfighost=1\0 \
 pcie_mode=RP:RP\0 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios 
 */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

This series is at u-boot-x86/vesa.

You can see the call from the vesa video driver, vesa_fb.c.

Re int15_handler(), yes I think it should be, but so far I haven't needed it.

I think the ROM access code can be made more common, but I left that
task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

I'm only using glacier and link so far. I suspect there might be
something wrong as only one of my video cards works fully on glacier -
another once gives a snowy picture.


 For the ROM, pci_rom_load() works for me, after pciauto_setup_rom() is
 called. I wonder if you haven't enabled the ROM BAR? I initially got
 the same result as you.

 Yes, I called pciauto_setup_rom() in my codes. I also verified the
 expansion ROM address register has bit0 set to 1 which means enabled.

And you still can't see the ROM? Does the BAR give the correct ROM
size? Do you enable memory access in the command register?

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-08 Thread Bin Meng
Hi Simon,

On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to 
 CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected to 
 CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  /*---
   * FLASH related
   *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   \
 pciconfighost=1\0 \
 pcie_mode=RP:RP\0 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

Sorry I mean the complete canyonlands codes which calls
pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
by chromebook_link. And do you think the int15_handler() required by
the biosemu needs to be common?

 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

Which platform do you use? I doubt the VGA enable bit only affects x86
as it opens the A and I/O address decoding which is only
applicable on x86.

 For the ROM, pci_rom_load() works for me, after pciauto_setup_rom() is
 called. I wonder if you haven't enabled the ROM BAR? I initially got
 the same result as you.

Yes, I called pciauto_setup_rom() in my codes. I also verified the
expansion ROM address register has bit0 set to 1 which means enabled.

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-08 Thread Bin Meng
Hi Simon,

On Fri, Jan 9, 2015 at 11:35 AM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 8 January 2015 at 18:34, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Thu, Jan 8, 2015 at 11:06 PM, Simon Glass s...@chromium.org wrote:
 Hi Bin,

 On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to 
 CSx */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected to 
 CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  /*---
   * FLASH related
   
 *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   \
 pciconfighost=1\0 \
 pcie_mode=RP:RP\0 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios 
 */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

 It is all there - I am using the existing support. If you see
 pci_run_vga_bios() it calls biosemu_run() in the emulation case.

 Sorry I mean the complete canyonlands codes which calls
 pci_run_vga_bios(). I see currently pci_run_vga_bios() is only called
 by chromebook_link. And do you think the int15_handler() required by
 the biosemu needs to be common?

 This series is at u-boot-x86/vesa.

 You can see the call from the vesa video driver, vesa_fb.c.

Ah, I see. I can have a try on a non-x86 board.

 Re int15_handler(), yes I think it should be, but so far I haven't needed it.

So what does int15_hander() normally do? I see the vesa_fb.c provided
NULL for int15_handler, but the call in arch/x86/cpu/ivybridge/gma.c
does not pass NULL.

 I think the ROM access code can be made more common, but I left that
 task for now.


 Re your other question I was looking for the VGA enable bit, as I
 remembered it from years ago. It doesn't seem to be needed for that
 platforms I have tested. But if it is generally needed we should add
 it.

 Which platform do you use? I doubt the VGA enable bit only affects x86
 as it opens the A and I/O address decoding which is only
 applicable on x86.

 I'm only using glacier and link so far. I suspect there might be
 something wrong as only one of my video cards works fully on glacier -
 another once gives a snowy picture.

So VGA enable bit is unset on Link as well? That's interesting. When
you mentioned two cards, did you insert them simultaneously? I believe
only one card will work due to only one card will respond VGA cycles.


 For the ROM, pci_rom_load() works for me, after pciauto_setup_rom() is
 called. I wonder if you haven't enabled the ROM BAR? I initially got
 the same result as you.

 Yes, I called pciauto_setup_rom() in my codes. I also verified the
 expansion ROM address register has bit0 set to 1 which means enabled.

 And you still can't see the ROM? Does the BAR give the correct ROM
 size? Do you enable memory access in the command register?

I confirm the BAR gave the correct size and memory access in the
command register is turned on (this is by U-Boot's pci enumeration
process), but it still cannot. And finally I just figured it out the
root 

Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-08 Thread Simon Glass
Hi Bin,

On 7 January 2015 at 23:18, Bin Meng bmeng...@gmail.com wrote:
 Hi Simon,

 On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to CSx 
 */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected to 
 CSx */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  /*---
   * FLASH related
   *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   \
 pciconfighost=1\0 \
 pcie_mode=RP:RP\0 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

 Could you also post the codes that actually run the vga bios on ppc
 target? I may find another non-x86 board to test.

It is all there - I am using the existing support. If you see
pci_run_vga_bios() it calls biosemu_run() in the emulation case.

Re your other question I was looking for the VGA enable bit, as I
remembered it from years ago. It doesn't seem to be needed for that
platforms I have tested. But if it is generally needed we should add
it.

For the ROM, pci_rom_load() works for me, after pciauto_setup_rom() is
called. I wonder if you haven't enabled the ROM BAR? I initially got
the same result as you.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-07 Thread Bin Meng
Hi Simon,

On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---


Did you test a PCIe video card on chromebook_link? Looks like there
are things we still need to do to support VGA rom on x86. In the
bridge control (offset 0x3e) register of the PCI bridge, there is a
VGA enable bit which currently U-Boot does not configure. I believe
this will stop video card from working. However, so far I even cannot
read the content of the VGA rom (all returns 0xFF) after I manually
enabled this VGA enable bit. Do you know what may cause this?

[snip]

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2015-01-07 Thread Bin Meng
Hi Simon,

On Tue, Dec 30, 2014 at 10:32 AM, Simon Glass s...@chromium.org wrote:
 NOT TO APPLY

 This shows how to enable video for the glacier board, as an example of the
 emulator working on a VESA-compliant graphics card.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

  include/configs/canyonlands.h | 31 +++
  1 file changed, 31 insertions(+)

 diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
 index 7a1499d..c55e076 100644
 --- a/include/configs/canyonlands.h
 +++ b/include/configs/canyonlands.h
 @@ -133,6 +133,9 @@
  #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to CSx 
 */
  #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected to CSx 
 */

 +#define CONFIG_CONSOLE_MUX
 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
  /*---
   * FLASH related
   *--*/
 @@ -359,6 +362,15 @@
 ramdisk_addr=fc20\0   \
 pciconfighost=1\0 \
 pcie_mode=RP:RP\0 \
 +   eth1addr=00:01:ec:00:f4:9d\0 \
 +   eth2addr=00:01:ec:00:f4:9e\0 \
 +   eth3addr=00:01:ec:00:f4:9f\0 \
 +   ethact=ppc_4xx_eth0\0 \
 +   ethaddr=00:01:ec:00:f4:9c\0 \
 +   stderr=serial\0 \
 +   stdin=serial\0 \
 +   stdout=serial,vga\0 \
 +   autoload=n\0 \
 
  #else /* defined(CONFIG_ARCHES) */
  #define CONFIG_EXTRA_ENV_SETTINGS  \
 @@ -675,4 +687,23 @@
  }
  #endif

 +#define CONFIG_VIDEO
 +
 +#ifdef CONFIG_VIDEO
 +#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */
 +#define CONFIG_VIDEO_VESA
 +#define VIDEO_IO_OFFSET0xd800
 +#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
 +#define CONFIG_VIDEO_SW_CURSOR
 +#define CONFIG_VIDEO_LOGO
 +#define CONFIG_CFB_CONSOLE
 +#define CONFIG_SPLASH_SCREEN
 +#define CONFIG_VGA_AS_SINGLE_DEVICE
 +#define CONFIG_CMD_BMP
 +#endif
 +
 +#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
 +#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
 +#define CONFIG_CMD_TFTPPUT
 +
  #endif /* __CONFIG_H */
 --

Could you also post the codes that actually run the vga bios on ppc
target? I may find another non-x86 board to test.

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 10/10] RFC: Test code for glacier PCI video support

2014-12-29 Thread Simon Glass
NOT TO APPLY

This shows how to enable video for the glacier board, as an example of the
emulator working on a VESA-compliant graphics card.

Signed-off-by: Simon Glass s...@chromium.org
---

 include/configs/canyonlands.h | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
index 7a1499d..c55e076 100644
--- a/include/configs/canyonlands.h
+++ b/include/configs/canyonlands.h
@@ -133,6 +133,9 @@
 #define CONFIG_SYS_NOR_CS  0   /* NOR chip connected to CSx */
 #define CONFIG_SYS_NAND_CS 3   /* NAND chip connected to CSx */
 
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+
 /*---
  * FLASH related
  *--*/
@@ -359,6 +362,15 @@
ramdisk_addr=fc20\0   \
pciconfighost=1\0 \
pcie_mode=RP:RP\0 \
+   eth1addr=00:01:ec:00:f4:9d\0 \
+   eth2addr=00:01:ec:00:f4:9e\0 \
+   eth3addr=00:01:ec:00:f4:9f\0 \
+   ethact=ppc_4xx_eth0\0 \
+   ethaddr=00:01:ec:00:f4:9c\0 \
+   stderr=serial\0 \
+   stdin=serial\0 \
+   stdout=serial,vga\0 \
+   autoload=n\0 \

 #else /* defined(CONFIG_ARCHES) */
 #define CONFIG_EXTRA_ENV_SETTINGS  \
@@ -675,4 +687,23 @@
 }
 #endif
 
+#define CONFIG_VIDEO
+
+#ifdef CONFIG_VIDEO
+#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */
+#define CONFIG_VIDEO_VESA
+#define VIDEO_IO_OFFSET0xd800
+#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
+#define CONFIG_VIDEO_SW_CURSOR
+#define CONFIG_VIDEO_LOGO
+#define CONFIG_CFB_CONSOLE
+#define CONFIG_SPLASH_SCREEN
+#define CONFIG_VGA_AS_SINGLE_DEVICE
+#define CONFIG_CMD_BMP
+#endif
+
+#define CONFIG_FRAMEBUFFER_SET_VESA_MODE
+#define CONFIG_FRAMEBUFFER_VESA_MODE   0x114
+#define CONFIG_CMD_TFTPPUT
+
 #endif /* __CONFIG_H */
-- 
2.2.0.rc0.207.ga3a616c

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot