Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
> any update on your patch series to support CGEB? I have some time to > work on these patches but I don't want to duplicate the work. I really > want this watches to hit mainline soon. I acked the I2C patch and this is all I can do for this series. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
2013/3/26 Christian Gmeiner : > 2013/3/26 Sascha Hauer : >> Hi Wolfram, >> >> On Tue, Mar 26, 2013 at 10:24:35AM +0100, Wolfram Sang wrote: >>> Hi Sascha, >>> >>> > Any other comments to this series? Is the base cgeb support ok to >>> > include? >>> >>> I had a few comments to the I2C driver. >> >> Yes, thanks, I have seen this and will address them. Atm I'm more >> interested in the base support though, since without it there won't be a >> need for the i2c driver ;) >> > > vis@OT:~$ dmesg | grep CGEB > [2.466519] CGEB: Board name: QBRA > > > root@OT:/home/vis# i2cdetect -l > i2c-0 i2c cgeb-i2cI2C adapter > i2c-1 i2c Radeon i2c bit bus 0x90 I2C adapter > i2c-2 i2c Radeon i2c bit bus 0x91 I2C adapter > i2c-3 i2c Radeon i2c bit bus 0x92 I2C adapter > i2c-4 i2c Radeon i2c bit bus 0x93 I2C adapter > i2c-5 i2c Radeon i2c bit bus 0x94 I2C adapter > i2c-6 i2c Radeon i2c bit bus 0x95 I2C adapter > i2c-7 i2c Radeon i2c bit bus 0x96 I2C adapter > i2c-8 i2c Radeon i2c bit bus 0x97 I2C adapter > i2c-9 i2c Radeon aux bus DP-auxch I2C adapter > root@OT:/home/vis# i2cdetect 0 > WARNING! This program can confuse your I2C bus, cause data loss and worse! > I will probe file /dev/i2c-0. > I will probe address range 0x03-0x77. > Continue? [Y/n] > 0 1 2 3 4 5 6 7 8 9 a b c d e f > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- > 50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 70: -- -- -- -- -- -- -- -- > > I hope to see this patches soon in mainline - I have some Congatec > devices where I > am using an early version of this patch set. > > Btw I have a cgeb-backlight driver lying here :) > > > Tested-by: Christian Gmeiner > Acked-by: Christian Gmeiner > Hi Wolfram, any update on your patch series to support CGEB? I have some time to work on these patches but I don't want to duplicate the work. I really want this watches to hit mainline soon. -- Christian Gmeiner, MSc -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
2013/3/26 Christian Gmeiner christian.gmei...@gmail.com: 2013/3/26 Sascha Hauer s.ha...@pengutronix.de: Hi Wolfram, On Tue, Mar 26, 2013 at 10:24:35AM +0100, Wolfram Sang wrote: Hi Sascha, Any other comments to this series? Is the base cgeb support ok to include? I had a few comments to the I2C driver. Yes, thanks, I have seen this and will address them. Atm I'm more interested in the base support though, since without it there won't be a need for the i2c driver ;) vis@OT:~$ dmesg | grep CGEB [2.466519] CGEB: Board name: QBRA root@OT:/home/vis# i2cdetect -l i2c-0 i2c cgeb-i2cI2C adapter i2c-1 i2c Radeon i2c bit bus 0x90 I2C adapter i2c-2 i2c Radeon i2c bit bus 0x91 I2C adapter i2c-3 i2c Radeon i2c bit bus 0x92 I2C adapter i2c-4 i2c Radeon i2c bit bus 0x93 I2C adapter i2c-5 i2c Radeon i2c bit bus 0x94 I2C adapter i2c-6 i2c Radeon i2c bit bus 0x95 I2C adapter i2c-7 i2c Radeon i2c bit bus 0x96 I2C adapter i2c-8 i2c Radeon i2c bit bus 0x97 I2C adapter i2c-9 i2c Radeon aux bus DP-auxch I2C adapter root@OT:/home/vis# i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0. I will probe address range 0x03-0x77. Continue? [Y/n] 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- I hope to see this patches soon in mainline - I have some Congatec devices where I am using an early version of this patch set. Btw I have a cgeb-backlight driver lying here :) Tested-by: Christian Gmeiner christian.gmei...@gmail.com Acked-by: Christian Gmeiner christian.gmei...@gmail.com Hi Wolfram, any update on your patch series to support CGEB? I have some time to work on these patches but I don't want to duplicate the work. I really want this watches to hit mainline soon. -- Christian Gmeiner, MSc -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
any update on your patch series to support CGEB? I have some time to work on these patches but I don't want to duplicate the work. I really want this watches to hit mainline soon. I acked the I2C patch and this is all I can do for this series. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
2013/3/26 Sascha Hauer : > Hi Wolfram, > > On Tue, Mar 26, 2013 at 10:24:35AM +0100, Wolfram Sang wrote: >> Hi Sascha, >> >> > Any other comments to this series? Is the base cgeb support ok to >> > include? >> >> I had a few comments to the I2C driver. > > Yes, thanks, I have seen this and will address them. Atm I'm more > interested in the base support though, since without it there won't be a > need for the i2c driver ;) > vis@OT:~$ dmesg | grep CGEB [2.466519] CGEB: Board name: QBRA root@OT:/home/vis# i2cdetect -l i2c-0 i2c cgeb-i2cI2C adapter i2c-1 i2c Radeon i2c bit bus 0x90 I2C adapter i2c-2 i2c Radeon i2c bit bus 0x91 I2C adapter i2c-3 i2c Radeon i2c bit bus 0x92 I2C adapter i2c-4 i2c Radeon i2c bit bus 0x93 I2C adapter i2c-5 i2c Radeon i2c bit bus 0x94 I2C adapter i2c-6 i2c Radeon i2c bit bus 0x95 I2C adapter i2c-7 i2c Radeon i2c bit bus 0x96 I2C adapter i2c-8 i2c Radeon i2c bit bus 0x97 I2C adapter i2c-9 i2c Radeon aux bus DP-auxch I2C adapter root@OT:/home/vis# i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0. I will probe address range 0x03-0x77. Continue? [Y/n] 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- I hope to see this patches soon in mainline - I have some Congatec devices where I am using an early version of this patch set. Btw I have a cgeb-backlight driver lying here :) Tested-by: Christian Gmeiner Acked-by: Christian Gmeiner -- Christian Gmeiner, MSc -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
Hi Wolfram, On Tue, Mar 26, 2013 at 10:24:35AM +0100, Wolfram Sang wrote: > Hi Sascha, > > > Any other comments to this series? Is the base cgeb support ok to > > include? > > I had a few comments to the I2C driver. Yes, thanks, I have seen this and will address them. Atm I'm more interested in the base support though, since without it there won't be a need for the i2c driver ;) Regards Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
Hi Sascha, > Any other comments to this series? Is the base cgeb support ok to > include? I had a few comments to the I2C driver. All the best, Wolfram -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
On Mon, Mar 25, 2013 at 09:31:35AM +0100, Christian Gmeiner wrote: > Hi Sascha > > > > +struct cgeb_pdata { > > + struct cgeb_board_data *board; > > + int unit; > > +}; > > + > > +#endif /* __CONGATEC_CGEB_H */ > > diff --git a/arch/x86/platform/Makefile b/arch/x86/platform/Makefile > > index 8d87439..9de1789 100644 > > --- a/arch/x86/platform/Makefile > > +++ b/arch/x86/platform/Makefile > > @@ -1,5 +1,6 @@ > > # Platform specific code goes here > > obj-y += ce4100/ > > +obj-y += congatec/ > > obj-y += efi/ > > obj-y += geode/ > > obj-y += iris/ > > > Fails to build Ups, sorry. It seems I forgot to git add arch/x86/platform/congatec/Makefile. It should look like this: obj-$(CONFIG_CONGATEC_CGEB) += congatec-cgeb.o I will include this next time. Any other comments to this series? Is the base cgeb support ok to include? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
On Mon, Mar 25, 2013 at 09:31:35AM +0100, Christian Gmeiner wrote: Hi Sascha +struct cgeb_pdata { + struct cgeb_board_data *board; + int unit; +}; + +#endif /* __CONGATEC_CGEB_H */ diff --git a/arch/x86/platform/Makefile b/arch/x86/platform/Makefile index 8d87439..9de1789 100644 --- a/arch/x86/platform/Makefile +++ b/arch/x86/platform/Makefile @@ -1,5 +1,6 @@ # Platform specific code goes here obj-y += ce4100/ +obj-y += congatec/ obj-y += efi/ obj-y += geode/ obj-y += iris/ Fails to build Ups, sorry. It seems I forgot to git add arch/x86/platform/congatec/Makefile. It should look like this: obj-$(CONFIG_CONGATEC_CGEB) += congatec-cgeb.o I will include this next time. Any other comments to this series? Is the base cgeb support ok to include? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
Hi Sascha, Any other comments to this series? Is the base cgeb support ok to include? I had a few comments to the I2C driver. All the best, Wolfram -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
Hi Wolfram, On Tue, Mar 26, 2013 at 10:24:35AM +0100, Wolfram Sang wrote: Hi Sascha, Any other comments to this series? Is the base cgeb support ok to include? I had a few comments to the I2C driver. Yes, thanks, I have seen this and will address them. Atm I'm more interested in the base support though, since without it there won't be a need for the i2c driver ;) Regards Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
2013/3/26 Sascha Hauer s.ha...@pengutronix.de: Hi Wolfram, On Tue, Mar 26, 2013 at 10:24:35AM +0100, Wolfram Sang wrote: Hi Sascha, Any other comments to this series? Is the base cgeb support ok to include? I had a few comments to the I2C driver. Yes, thanks, I have seen this and will address them. Atm I'm more interested in the base support though, since without it there won't be a need for the i2c driver ;) vis@OT:~$ dmesg | grep CGEB [2.466519] CGEB: Board name: QBRA root@OT:/home/vis# i2cdetect -l i2c-0 i2c cgeb-i2cI2C adapter i2c-1 i2c Radeon i2c bit bus 0x90 I2C adapter i2c-2 i2c Radeon i2c bit bus 0x91 I2C adapter i2c-3 i2c Radeon i2c bit bus 0x92 I2C adapter i2c-4 i2c Radeon i2c bit bus 0x93 I2C adapter i2c-5 i2c Radeon i2c bit bus 0x94 I2C adapter i2c-6 i2c Radeon i2c bit bus 0x95 I2C adapter i2c-7 i2c Radeon i2c bit bus 0x96 I2C adapter i2c-8 i2c Radeon i2c bit bus 0x97 I2C adapter i2c-9 i2c Radeon aux bus DP-auxch I2C adapter root@OT:/home/vis# i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0. I will probe address range 0x03-0x77. Continue? [Y/n] 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- I hope to see this patches soon in mainline - I have some Congatec devices where I am using an early version of this patch set. Btw I have a cgeb-backlight driver lying here :) Tested-by: Christian Gmeiner christian.gmei...@gmail.com Acked-by: Christian Gmeiner christian.gmei...@gmail.com -- Christian Gmeiner, MSc -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
Hi Sascha > +struct cgeb_pdata { > + struct cgeb_board_data *board; > + int unit; > +}; > + > +#endif /* __CONGATEC_CGEB_H */ > diff --git a/arch/x86/platform/Makefile b/arch/x86/platform/Makefile > index 8d87439..9de1789 100644 > --- a/arch/x86/platform/Makefile > +++ b/arch/x86/platform/Makefile > @@ -1,5 +1,6 @@ > # Platform specific code goes here > obj-y += ce4100/ > +obj-y += congatec/ > obj-y += efi/ > obj-y += geode/ > obj-y += iris/ Fails to build christian@chgm-pc:~/kernel/linux_mainline$ make make[1]: Nothing to be done for `all'. make[1]: Nothing to be done for `relocs'. CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALLscripts/checksyscalls.sh CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTLD scripts/mod/modpost CHK include/generated/compile.h scripts/Makefile.build:44: /home/christian/kernel/linux_mainline/arch/x86/platform/congatec/Makefile: No such file or directory make[3]: *** No rule to make target `/home/christian/kernel/linux_mainline/arch/x86/platform/congatec/Makefile'. Stop. make[2]: *** [arch/x86/platform/congatec] Error 2 make[1]: *** [arch/x86/platform] Error 2 make: *** [arch/x86] Error 2 -- Christian Gmeiner, MSc -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
Hi Sascha +struct cgeb_pdata { + struct cgeb_board_data *board; + int unit; +}; + +#endif /* __CONGATEC_CGEB_H */ diff --git a/arch/x86/platform/Makefile b/arch/x86/platform/Makefile index 8d87439..9de1789 100644 --- a/arch/x86/platform/Makefile +++ b/arch/x86/platform/Makefile @@ -1,5 +1,6 @@ # Platform specific code goes here obj-y += ce4100/ +obj-y += congatec/ obj-y += efi/ obj-y += geode/ obj-y += iris/ Fails to build christian@chgm-pc:~/kernel/linux_mainline$ make make[1]: Nothing to be done for `all'. make[1]: Nothing to be done for `relocs'. CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALLscripts/checksyscalls.sh CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTLD scripts/mod/modpost CHK include/generated/compile.h scripts/Makefile.build:44: /home/christian/kernel/linux_mainline/arch/x86/platform/congatec/Makefile: No such file or directory make[3]: *** No rule to make target `/home/christian/kernel/linux_mainline/arch/x86/platform/congatec/Makefile'. Stop. make[2]: *** [arch/x86/platform/congatec] Error 2 make[1]: *** [arch/x86/platform] Error 2 make: *** [arch/x86] Error 2 -- Christian Gmeiner, MSc -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
The Congatec CGEB is a BIOS interface found on some Congatec x86 modules. It provides access to on board peripherals like I2C busses and watchdogs. This driver contains the basic support for accessing the CGEB interface and registers the child devices. Signed-off-by: Sascha Hauer --- arch/x86/Kconfig |9 + arch/x86/include/asm/congatec-cgeb.h | 105 + arch/x86/platform/Makefile |1 + arch/x86/platform/congatec/congatec-cgeb.c | 590 4 files changed, 705 insertions(+) create mode 100644 arch/x86/include/asm/congatec-cgeb.h create mode 100644 arch/x86/platform/congatec/congatec-cgeb.c diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 225543b..bd68c87 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2188,6 +2188,15 @@ config GEOS ---help--- This option enables system support for the Traverse Technologies GEOS. +config CONGATEC_CGEB + bool "Support for the Congatec CGEB BIOS interface" + ---help--- + The Congatec CGEB BIOS interface provides access to onboard + peripherals like I2C busses and watchdogs. additional drivers must be + enabled in order to use the functionality of the device. + Say y or m here if you are using a congatec module with CGEB interface, + otherwise say n. + endif # X86_32 config AMD_NB diff --git a/arch/x86/include/asm/congatec-cgeb.h b/arch/x86/include/asm/congatec-cgeb.h new file mode 100644 index 000..71e1bf5 --- /dev/null +++ b/arch/x86/include/asm/congatec-cgeb.h @@ -0,0 +1,105 @@ +#ifndef __CONGATEC_CGEB_H +#define __CONGATEC_CGEB_H + +/* CGEB interface functions */ +enum cgeb_function { + CgebGetCgebVersion =0, + CgebGetSysBiosVersion = 1, + CgebGetVgaBiosVersion = 2, + CgebGetDataSize = 3, + CgebOpen = 4, + CgebClose = 5, + CgebMapGetMem = 6, + CgebMapChanged =7, + CgebMapGetPorts = 8, + CgebDelayUs = 9, + CgebCgbcReadWrite = 10, + CgebCgbcSetControl =11, + CgebCgbcGetInfo = 12, + CgebCgbcHandleCommand = 13, + CgebBoardGetInfo = 14, + CgebBoardGetBootCounter = 15, + CgebBoardGetRunningTimeMeter = 16, + CgebBoardGetBootErrorLog = 17, + CgebVgaCount = 18, + CgebVgaGetInfo =19, + CgebVgaGetContrast =20, + CgebVgaSetContrast =21, + CgebVgaGetContrastEnable = 22, + CgebVgaSetContrastEnable = 23, + CgebVgaGetBacklight = 24, + CgebVgaSetBacklight = 25, + CgebVgaGetBacklightEnable = 26, + CgebVgaSetBacklightEnable = 27, + CgebVgaEndDarkBoot =28, + CgebStorageAreaCount = 29, + CgebStorageAreaGetInfo =30, + CgebStorageAreaRead = 31, + CgebStorageAreaWrite = 32, + CgebStorageAreaErase = 33, + CgebStorageAreaEraseStatus =34, + CgebI2CCount = 35, + CgebI2CGetInfo =36, + CgebI2CGetAddrList =37, + CgebI2CTransfer = 38, + CgebI2CGetFrequency = 39, + CgebI2CSetFrequency = 40, + CgebIOCount = 41, + CgebIOGetInfo = 42, + CgebIORead =43, + CgebIOWrite = 44, + CgebIOGetDirection =45, + CgebIOSetDirection =46, + CgebWDogCount = 47, + CgebWDogGetInfo = 48, + CgebWDogTrigger = 49, + CgebWDogGetConfig = 50, + CgebWDogSetConfig = 51, + CgebPerformanceGetCurrent = 52, + CgebPerformanceSetCurrent = 53, + CgebPerformanceGetPolicyCaps = 54, + CgebPerformanceGetPolicy = 55, + CgebPerformanceSetPolicy = 56, + CgebTemperatureCount = 57, + CgebTemperatureGetInfo =58, + CgebTemperatureGetCurrent = 59, + CgebTemperatureSetLimits = 60, + CgebFanCount = 61, + CgebFanGetInfo =62, + CgebFanGetCurrent = 63, + CgebFanSetLimits = 64, + CgebVoltageCount = 65, + CgebVoltageGetInfo =66, + CgebVoltageGetCurrent = 67, + CgebVoltageSetLimits = 68, + CgebStorageAreaLock = 69, + CgebStorageAreaUnlock = 70, + CgebStorageAreaIsLocked = 71, +}; + +struct cgeb_function_parameters { + u32 unit; /* unit number or type */ +
[PATCH 1/3] x86: Add basic support for the Congatec CGEB BIOS interface
The Congatec CGEB is a BIOS interface found on some Congatec x86 modules. It provides access to on board peripherals like I2C busses and watchdogs. This driver contains the basic support for accessing the CGEB interface and registers the child devices. Signed-off-by: Sascha Hauer s.ha...@pengutronix.de --- arch/x86/Kconfig |9 + arch/x86/include/asm/congatec-cgeb.h | 105 + arch/x86/platform/Makefile |1 + arch/x86/platform/congatec/congatec-cgeb.c | 590 4 files changed, 705 insertions(+) create mode 100644 arch/x86/include/asm/congatec-cgeb.h create mode 100644 arch/x86/platform/congatec/congatec-cgeb.c diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 225543b..bd68c87 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2188,6 +2188,15 @@ config GEOS ---help--- This option enables system support for the Traverse Technologies GEOS. +config CONGATEC_CGEB + bool Support for the Congatec CGEB BIOS interface + ---help--- + The Congatec CGEB BIOS interface provides access to onboard + peripherals like I2C busses and watchdogs. additional drivers must be + enabled in order to use the functionality of the device. + Say y or m here if you are using a congatec module with CGEB interface, + otherwise say n. + endif # X86_32 config AMD_NB diff --git a/arch/x86/include/asm/congatec-cgeb.h b/arch/x86/include/asm/congatec-cgeb.h new file mode 100644 index 000..71e1bf5 --- /dev/null +++ b/arch/x86/include/asm/congatec-cgeb.h @@ -0,0 +1,105 @@ +#ifndef __CONGATEC_CGEB_H +#define __CONGATEC_CGEB_H + +/* CGEB interface functions */ +enum cgeb_function { + CgebGetCgebVersion =0, + CgebGetSysBiosVersion = 1, + CgebGetVgaBiosVersion = 2, + CgebGetDataSize = 3, + CgebOpen = 4, + CgebClose = 5, + CgebMapGetMem = 6, + CgebMapChanged =7, + CgebMapGetPorts = 8, + CgebDelayUs = 9, + CgebCgbcReadWrite = 10, + CgebCgbcSetControl =11, + CgebCgbcGetInfo = 12, + CgebCgbcHandleCommand = 13, + CgebBoardGetInfo = 14, + CgebBoardGetBootCounter = 15, + CgebBoardGetRunningTimeMeter = 16, + CgebBoardGetBootErrorLog = 17, + CgebVgaCount = 18, + CgebVgaGetInfo =19, + CgebVgaGetContrast =20, + CgebVgaSetContrast =21, + CgebVgaGetContrastEnable = 22, + CgebVgaSetContrastEnable = 23, + CgebVgaGetBacklight = 24, + CgebVgaSetBacklight = 25, + CgebVgaGetBacklightEnable = 26, + CgebVgaSetBacklightEnable = 27, + CgebVgaEndDarkBoot =28, + CgebStorageAreaCount = 29, + CgebStorageAreaGetInfo =30, + CgebStorageAreaRead = 31, + CgebStorageAreaWrite = 32, + CgebStorageAreaErase = 33, + CgebStorageAreaEraseStatus =34, + CgebI2CCount = 35, + CgebI2CGetInfo =36, + CgebI2CGetAddrList =37, + CgebI2CTransfer = 38, + CgebI2CGetFrequency = 39, + CgebI2CSetFrequency = 40, + CgebIOCount = 41, + CgebIOGetInfo = 42, + CgebIORead =43, + CgebIOWrite = 44, + CgebIOGetDirection =45, + CgebIOSetDirection =46, + CgebWDogCount = 47, + CgebWDogGetInfo = 48, + CgebWDogTrigger = 49, + CgebWDogGetConfig = 50, + CgebWDogSetConfig = 51, + CgebPerformanceGetCurrent = 52, + CgebPerformanceSetCurrent = 53, + CgebPerformanceGetPolicyCaps = 54, + CgebPerformanceGetPolicy = 55, + CgebPerformanceSetPolicy = 56, + CgebTemperatureCount = 57, + CgebTemperatureGetInfo =58, + CgebTemperatureGetCurrent = 59, + CgebTemperatureSetLimits = 60, + CgebFanCount = 61, + CgebFanGetInfo =62, + CgebFanGetCurrent = 63, + CgebFanSetLimits = 64, + CgebVoltageCount = 65, + CgebVoltageGetInfo =66, + CgebVoltageGetCurrent = 67, + CgebVoltageSetLimits = 68, + CgebStorageAreaLock = 69, + CgebStorageAreaUnlock = 70, + CgebStorageAreaIsLocked = 71, +}; + +struct cgeb_function_parameters { + u32 unit; /* unit number