aboutsummaryrefslogtreecommitdiffstats
path: root/conf/machine/include
AgeCommit message (Collapse)Author
2017-08-21remove ppc machineChunrong Guo
* nxp release will not support ppc machine. Signed-off-by: Chunrong Guo <B40290@freescale.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-07-31Stop using image_types_uboot classOtavio Salvador
OE-Core now uses the CONVERSION TYPES to implement the U-Boot support so the class has been removed. This commit removes the code which inherits it so allowing it to keep working with the new code base. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-07-13u-boot-fslc: Upgrade to 2017.07-based releaseOtavio Salvador
This release provides a huge improvement regarding the support for SPL to more boards. We now uses this and migrated following boards: - imx6qpsabresd -> imx6qdlsabresd - imx6qsabresd -> imx6qdlsabresd - imx6dlsabresd -> imx6qdlsabresd - imx6solosabresd -> imx6qdlsabresd - imx6qpsabreauto -> imx6qdlsabreauto - imx6qsabreauto -> imx6qdlsabreauto - imx6dlsabreauto -> imx6qdlsabreauto - imx6solosabreauto -> imx6qdlsabreauto So now, the 8 boards are covered by 2 machine files. This drastically reduces the build time and allow for a better user experience as we can use the same image to test different boards. In summary an image built for imx6qdlsabresd or imx6qdlsabreauto is capable of run on a its respective board which contains a i.MX6 QuadPlus, Quad, Dual, DualLite or Solo SoC removing the need of a specific image for each SoC type. On top of the official 2017.07 release, following patches are included: 801fd44563 mx6sabreauto: Make Ethernet functional again 8ccb1970b8 wandboard: Set fdt based on board_rev and board_name e6605743e5 mx6sabresd: Enable video interfaces in bootargs e50a2475d4 mx6sabresd: Use LDO dtb file until LDO bypass support is added b1a4715311 mx6slevk: Use LDO dtb file until LDO bypass support is added 957409876b imx: cx9020: try pxe boot, if no vmlinuz on mmc 3608315bf1 imx: cx9020: use fdt_addr_r and ramdisk_addr_r 9a1c960516 mx6sabreauto: Add Falcon mode support 3a279e5fe8 warp: Use PARTUUID to specify the rootfs location 0f9a6703e7 embestmx6boards: Use PARTUUID to specify the rootfs location c877510614 mx6cuboxi: Use PARTUUID to specify the rootfs location 0ada2d6caf wandboard: Use PARTUUID to specify the rootfs location eee442362c mx6sabre: Use PARTUUID to specify the rootfs location 80a56615fa mx6sabreauto: Do not enable WEIM by default 321339efd7 imx: reorganize IMX code as other SOCs 1567ce3edc mmc: fsl_esdhc: drop CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT 40294f880d dm: mmc: fsl_esdhc: handle vqmmc supply 0378edcd02 mmc: fsl_esdhc: introduce vs18_enable for 1.8V fix I/O 3657cae890 mmc: fsl_esdhc: correct type of wp_enable 45103e1030 imx6_spl: Add u-boot-dtb.img for SPL payload 61131fa4b5 mx6sabreauto: Update to SPL only mode 07a667be9b mx6qsabreauto: Add SPL support 4506c859ee mx6cuboxi: Add support for sata a5c5962327 mx7dsabresd: Set VLD04 output to 2.8V in PMIC initialization. 4590f11b61 mx6: soc: Move mxs_dma_init() into the mxs nand driver 10d185960e net: fec_mxc: fix PHY initialization bug with CONFIG_DM_ETH b2d4bf303e icorem6_rqs: Rename icorem6_rqs config file af34708e1e dt-bindings: Document the Broadcom STB wake-up timer node 3e92667cfe serial: mxc: Add debug uart support 4e2b31a5c5 serial: mxc: Code cleanup 27835dae1a serial: mxc: Move common baud gen into _mxc_serial_setbrg 1ca9fe11fd serial: mxc: Move common init into _mxc_serial_init 14ac9d06be serial: mxc: Move cr1 and cr2 write to mxc_serial_setbrg fdd1f0debc serial: mxc: Use RFDIV in dm-code fd008b0569 serial: mxc: Add common mxc_uart reg space 2fd7878124 imx: mx6ull: fix USB bmode for i.MX 6UL and 6ULL 5c72de6152 ot1200: enable CONFIG_IMX_THERMAL for detailed thermal information 8e38f54c56 mx6sabresd: Fix guard file symbol 3320a872b0 wandboard: Remove unnecessary delay d5ae3ce6dd cm_fx6: Remove SPL entry from CONFIG_SYS_EXTRA_OPTIONS 1325b822da cgtqmx6eval: Remove SPL entry from CONFIG_SYS_EXTRA_OPTIONS 844365a5a0 mx6slevk_spl: Remove SPL entry from CONFIG_SYS_EXTRA_OPTIONS ff9e6d62ed mx6sabresd: Remove SPL entry from CONFIG_SYS_EXTRA_OPTIONS Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Daiane Angolini <daiane.angolini@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-07-13alsa-lib: Ensure MACHINE_SOCARCH is used consistentlyOtavio Salvador
The alsa-lib needs to apply the patches for all i.MX SoCs so using the 'imx' override seems to be the best choice for this specific use-case. A missing aspect though was that this should also affect every package which /depends/ on alsa-lib (e.g: alsa-utils) so it also goes to MACHINE_SOCARCH architecture fixing the signature change across different machines. This fix has been tested using a massive parallel build using multiconfig. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-06-17imx-base.inc: Update for mx6sllevk board supportalexandra-ioana.safta@nxp.com
Signed-off-by: Alexandra Safta <alexandra-ioana.safta@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-05-30xf86-video-armada: addTrevor Woerner
If the user enables "use-mainline-bsp" in MACHINEOVERRIDES, assume they want to use the open-source, reverse-engineered etnaviv drm x11 driver. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-05-19weston: Use weston 1.11.1 for mx6 and mx7 machinesFabio Berton
As EGL support was removed from weston on commit: https://github.com/wayland-project/weston/commit/e77f8ad79bdf3613dc7e587ea0cf5b9d39e4f8e0 we can't use version 2.0.0. Add latest version with EGL support, 1.11.1 and set mx6 and mx7 machines to use this version. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-04-30imx-base: Fix uboot.mxsboot-sdcard IMAGE_FSTYPES nameFabio Berton
>From OE-Core commit 8a9f249a9166347cc0468191ce130003e3d306e1: If image type "foo" depends on image type "bar.xz", then dependencies should be collected from the base image type (ie "IMAGE_DEPENDS_bar") not from "IMAGE_DEPENDS_bar.xz". IMAGE_DEPENDS_uboot.mxsboot-sdcard has uboot as base image type and IMAGE_DEPENDS_uboot.mxsboot-sdcard = "foo" never will run. Changing IMAGE_FSYPES to uboot-mxsboot-sdcard fix this issue and base base will be uboot-mxsboot-sdcard. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-03-27imx-base.inc: Add 'use-mainline-bsp' override supportOtavio Salvador
The 'use-mainline-bsp' makes use of MAACHINEOVERRIDES_EXTENDER_FILTER_OUT variable and currently filters out the i.MX 6 and i.MX 7 overrides, ensuring we use the pristine support for all metadata. This commit does most changes related to initial mainline support for Etnaviv and Video4Linux VPU support using CODA. Change-Id: Idcb3e4f9c3bc46d4c066dea3c0388f821ab2d3ec Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-02-01Revert "qoriq-base, imx-base: Allow DISTRO and local.conf override of ↵Otavio Salvador
IMAGE_FSTYPES" The IMAGE_FSTYPES is set in bitbake.conf as ?= so we cannot use the weak assingment here. This brings back the image generation using the standard set for the BSP but we will need to investigate a solution for the distro overriding issue. Change-Id: I57cda5eb894330ad857b0bca44a8a987dc06afb2 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-27imx-base.inc: SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS can be always appendedOtavio Salvador
There is no need to restrict the appending of SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS values as the respective packages will be added only on the supported packages thus not affecting other machines. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-27imx-base.inc: Convert to use i.MX MACHINEOVERRIDES_EXTENDEROtavio Salvador
There were some core BSP variables which were still using SoC family names instead of feature overrides (XSERVER_DRIVER, MACHINE_SOCARCH_FILTER) and those needed to be reworked so other SoC families could be dealt in the generic way (e.g: mx6ul). Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-16qoriq-base, imx-base: Allow DISTRO and local.conf override of IMAGE_FSTYPESOtavio Salvador
To allow the DISTRO and local.conf to override the IMAGE_FSTYPES value we must provide a weak default (using the ??= operator) otherwise machines need to play with the import order to override it. Change-Id: I93407b8b6a93e5953bc4bae08f4ae4dafc5c6158 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-10-31imx-base: Use GStreamer 1.0 plugins for all mx6 and mx7 machinesFabio Berton
Set MACHINE_GSTREAMER_1_0_PLUGIN variable to use gstreamer1.0-plugins-imx-meta for all mx6 and mx7 machines. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-10-31imx-base: Set extra audio support for all mx6 and mx7 machinesFabio Berton
Install imx-alsa-plugins as MACHINE_EXTRA_RRECOMMENDS for all mx6 and mx7 machines on distros that have alsa feature. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-10-18imx-base: Add i.MX 6ULL base settingsOtavio Salvador
The i.MX 6ULL BSP base settings, this includes: - MACHINEOVERRIDES_EXTENDER for has PXP and EPDC display support; - UBOOT_ENTRYPOINT for uImage support; - DEFAULTTUNE so it uses cortexa7thf-neon by default; - MACHINE_SOCARCH_SUFFIX to share binaries with i.MX6UL; - Graphics preference to use software rendering; - MACHINE_FIRMWARE to include firmware-imx-epdc; - Default Linux kernel for linux-fslc-imx; Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-10-18imx-base.inc: Add cairo and pango on SOCARCH filterOtavio Salvador
The cairo and pango recipes are SoC specific as them has changes depending on the SoC type, as such, it must be in SOCARCH filter so packages depending on them are properly hangled. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-10-18qoriq-base: Set SOC default IMAGE_FSTYPESFabio Berton
Create SOC_DEFAULT_IMAGE_FSTYPES variable with default IMAGE_FSTYPES used by all QorIQ targets. Default FSTYPES are tar.gz, ext2.gz.u-boot and ext2.gz. The IMAGE_FSTYPES need to be overriden without using the SoC family overrides, for user-friendness, and to allow this we need to use a SoC variable to construct the default value for setting. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-23qoriq-base.inc: Use 'fsl-dynamic-packagearch' classOtavio Salvador
This ensures PACKAGE_ARCH has a better default. - use MACHINE_ARCH for every package depending on virtual/kernel - use MACHINE_SOCARCH for every package depending on cryptodev-qoriq-linux, cryptodev-qoriq-module, cryptodev-qoriq-test or openssl-qoriq; Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-21qoriq-base.inc: Remove unused SoC family supportOtavio Salvador
The SoC family use has been removed in commit 8999634f (Migrate from SOC_FAMILY to MACHINEOVERRIDES) so the support can be dropped as well. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-13Use IMGDEPLOYDIR for SDCard image generationOtavio Salvador
This change is needed as the commit OE-Core:6d969bac (image: Deploy images to IMGDEPLOYDIR) has changed the deployment directory from DEPLOY_DIR_IMAGE to IMGDEPLOYDIR causing failures when using the image_types_fsl.bbclass class. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-08udev-rules-qoriq: added into MACHINE_EXTRA_RRECOMMENDSTing Liu
Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-08imx-base.inc: Enable machine overrides extender for i.MX6Otavio Salvador
This enables the machine overrides extender for the i.MX6 devices. It maps (spaces are used to easy the read): - mx6q -> imxipu imxvpu imxgpu2d imxgpu3d - mx6dl -> imxpxp imxipu imxvpu imxgpu2d imxgpu3d imxepdc - mx6sx -> imxpxp imxgpu2d imxgpu3d - mx6sl -> imxpxp imxgpu2d imxepdc - mx6ul -> imxpxp - mx7d -> imxpxp imxepdc So it allows for reusing of overrides while keeps this control at the BSP side. Change-Id: Ie43aa497ce57b4a29f7b37a3eb941fb0d66691aa Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-08Convert SOC_FAMILY to MACHINEOVERRIDESOtavio Salvador
The SOC_FAMILY is an indirection which makes the understanding, from OpenEmbedded versed developers and users, more difficult. Instead of using the SOC_FAMILY indirection which is rarely used, we now move to the MACHINEOVERRIDES mechanism as this is in fact what is in use. Change-Id: Ic6e58b79bdc990ac853c87761c3fff635786e4e5 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-08-23Remove apm from machine featuresStefan Agner
APM (Advanced Power Management) is a more or less ancient power management API mainly from the x86 world. There is an optional APM emulation layer for ARM, and some platform make some extended use of it (e.g. PXA). However, neither is the emulation enabled on any NXP/Freescale kernel nor is it commonly used, hence remove it from machine feature. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-08-12qoriq-base.inc: set PREFERRED_VERSION_testfloat to 2aTing Liu
testfloat 2a has specific updates for qoriq ppc boards. Currently no plan to refresh them to 3b release. Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-base.inc: append image_types_uboot to IMAGE_CLASSESTing Liu
Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-base.inc: update MACHINE_EXTRA_RECOMMENDEDTing Liu
* use += to append, instead of ?= * udev-rules-qoriq is not needed for all the qoriq boards, remove it. * add udev-extraconf and kernel-modules. Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-arm64.inc: addTing Liu
move KERNEL_IMAGETYPE setting from qoriq-base.inc as qoriq-arm64 has a different value. Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-ppc.inc: rm UBOOT_ENTRYPOINT settingTing Liu
qoriq ppc boards don't need this variable being set. Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-arm/qoriq-ppc: rm MKUBIFS_ARGS/UBINIZE_ARGS settingTing Liu
The value for two variables is specific to each board. They should be added in machine configure file after being verified on each board. Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-arm/qoriq-ppc: adjust MACHINEOVERRIDESTing Liu
Adjust the order of qoriq/qoriq-arm/qoriq-ppc. Old: e500mc:qoriq:p4080ds:qoriq-ppc New: qoriq:qoriq-ppc:e500mc:p4080ds Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-22qoriq-arm.inc: move DEFAULTTUNE/UBOOT_ENTRYPOINT to ls1021atwr.confTing Liu
the specific values are for ls1021atwr. Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-15imx-base.inc: Use linux-fslc-imx for i.MX6ULOtavio Salvador
Change-Id: I5e075f683e6f39bc2f2e1058eacdbef371a37abf Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-15imx-base.inc: Use linux-fslc-imx for i.MX7Otavio Salvador
Change-Id: I6ef0574f3be9a3afd76ed4fbf36dbefab1e207ad Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-15ipc-ust: not use IPC_UST_SOC variableTing Liu
bsc913x are not supported now. Signed-off-by: Ting Liu <ting.liu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-27imx-base: Add MACHINE_SOCARCH_FILTER for mx6ul and mx7dLauren Post
Add missing MACHINE_SOCARCH_FILTER for mx6ul and 7d to include imx multimedia Signed-off-by: Lauren Post <lauren.post@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-27imx-base: Specific 7d for MACHINE_SOCARCH_SUFFIXLauren Post
Future mx7 will need separate SOCARCH_SUFFIX so don't apply to all mx7 Signed-off-by: Lauren Post <lauren.post@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-27imx-base: Remove XSERVER_DRIVER_mx6ul - default case will workLauren Post
mx6ul is not mx6 so default case applies. This is redundant Signed-off-by: Lauren Post <lauren.post@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-02imx-base: Improve sstate signature handling for BSP packagesOtavio Salvador
There are BSP packages which can have some dependencies removed from the sstate signature; this is beneficial as it reduces a lot the build time and increases the binaries reuse. Following changes are done: - Mark kernel-module-imx-gpu-viv and safe for imx-gpu-viv - Mark imx-vpu as safe for libimxvpuapi - Mark imx-vpu as safe for imx-vpuwrap - Mark imx-vpu as safe for imx-codec - Mark imx-vpu as safe for imx-test Change-Id: I1625d1e4d1cda529069c2d88218c4c84844ee4a8 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-02imx-base.inc: Fix PACKAGE_ARCH attribution for multimedia librariesOtavio Salvador
The multimedia libraries offer the APIs for the application and as consequence every user of those libraries should be set as MACHINE_SOCARCH. This fixes the setting for: - imx-vpu - libimxvpuapi Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-05-16imx-base: Stop using base_containsOtavio Salvador
The base_contains function is deprecated and we ought to use bb.utils.contains instead. Change-Id: Ia60dcaff76d5309118906b144206066d139adf21 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-05-07imx-base: Update MACHINE_EXTRA_RRECOMMENDS and MACHINE_SOCARCH_FILTERYuqing Zhu
libfslcodec/ libfslvpuwrap/ libfslparser/ fsl-alsa-plugins have been renamed as imx-codec/ imx-vpuwrap/ imx-parser/ imx-alsa-plugins, need to do update. Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19imx-base: Add MACHINE_GSTREAMER_1_0_PLUGIN for mx7 platformIan Coolidge
gstreamer1.0-plugins-imx was recently updated to be compatible with mx7 Signed-off-by: Ian Coolidge <ian@boundarydevices.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19linux-fslc-imx: Upgrade to the 3.14.52-1.1.0 GA based forkOtavio Salvador
The FSLC kernel fork has been updated for the 3.14-1.52-1.1.0 GA release. It is a consolidated release covering all i.MX active product lines covering: - i.MX6QDL - i.MX6SL - i.MX6SX - i.MX6UL - i.MX7D The patch also updates the linux-fslc-imx-rt flavour for the very same kernel fork and ensures people uses the built-in Vivante GPU driver, when using the Linux RT support, as the external kernel module does not support it yet. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19imx-base.inc: Move IMAGE_FSTYPES override to a SoC variableOtavio Salvador
The IMAGE_FSTYPES need to be overriden without using the SoC family overrides, for user-friendness, and to allow this we need to use a SoC variable to construct the default value for setting. Related to [YOCTO: #8945]. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19imx-base: Set UBOOT_ENTRYPOINT for i.MX6ULJun Zhu
As i.MX6UL has been changed out of mx6 SOC family, it need set UBOOT_ENTRYPOINT Signed-off-by: Jun Zhu <junzhu@freescale.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19imx-base.inc: use modesetting driver for VybridStefan Agner
With the use of the new DCU DRM driver we can make use of the X-servers modesetting DDX driver. The driver uses directly the DRM/KMS interface. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19imx-base.inc: Add imx-vpu to MACHINE_ARCH_FILTERCarlos Rafael Giani
imx-vpu is machine specific due to #define macros for the type of i.MX6 SoC (quad, duallite ..) Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19Remove DirectFB support for i.MX6Otavio Salvador
The DirectFB project is dead upstream for a while and the backend is deprecated so it is better to drop it and avoid new users to depend on it and instead to focus in the current technologies for new projects. This commit removes everything related to the DirectFB support so if someone wish to revert it locally it can be easily done. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Daiane Angolini <daiane.angolini@freescale.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>