Saturday, August 25, 2018

LPD 8806 raspberry pi


LPD8806 datasheet
https://cdn-shop.adafruit.com/datasheets/lpd8806+english.pdf

LPD8806 strips have input side and output sides.

Arduino
https://cdn-learn.adafruit.com/downloads/pdf/digital-led-strip.pdf

https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md

SPI test
https://elixir.bootlin.com/linux/latest/source/tools/spi/spidev_test.c

https://pypi.org/project/raspi.lpd8806/

alright.  LPD8806 can only support upto 20MHz
Default RPi3 SPI clock is 125MHz.

change SPI clock
https://www.raspberrypi.org/forums/viewtopic.php?t=177965

https://github.com/ManiacalLabs/BiblioPixel

OK:
Raspberry pi 1 or zero or zero W.  works w/ py-spidev & RPi-LPD8806



Raspberry pi 3 does not even w/ 500KHz or lower SPI clock.  spitest shows SPI port behaves normal.  It could be a py-spidev problem.  Not sure.

====
    1  cd
    3  git clone https://github.com/doceme/py-spidev.git
    4  git clone https://github.com/adammhaile/RPi-LPD8806.git
    6  cd py-spidev/
    8  sudo python setup.py install
    9  cd ..
   11  cd RPi-LPD8806/
   14  sudo python setup.py install
   15  python example.py
   16  sudo modprobe spi_bcm2708
   17  sudo vi /boot/config.txt
   18  sudo reboot


Wednesday, August 15, 2018

iperf3 cross compile w/ buildroot

./configure --host=arm-linux CC=/home/xxxx/buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-gcc CXX=/home/xxxx/buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-g++ CFLAGS=-static CXXFLAGS=-static

vi src/Makefile.in
- remove -pg
Otherwise, it will fail with gcrt1.o...

make

single output file
src/iperf3


Sunday, August 5, 2018

Enable SSH server, Windows 10 Subsystem for Linux, Ubuntu

Enable SSH server on Windows Bash
start windows bash
sudo apt-get update
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers XXX
PasswordAuthentication yes
UsePrivilegeSeparation no
sudo service ssh --full-restart

for 18.04, may need
sudo ssh-keygen -A

Enable Key login
~/.ssh $ cat id_rsa.pub >> authorized_keys

Enable Port 22 Access from Windows Firewall
WF.msc
InboundRules
New Rule ...
Rule Type : Port
Protocol and Ports: TCP, Specific local ports: 22
Action: Allow the connection
Profile: Domain/Private/Public
Name: SSH

https://developer.nvidia.com/cuda-toolkit-archive
CUDA 9.0, cuDNN 7.0, python 3.5

CUDA 8.0, cuDNN 6.0, python 3.5
copy cudnn files to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

Sunday, June 24, 2018

freescale rocko

release note
http://freescale.github.io/doc/release-notes/2.4/

Source
$mkdir ~/bin
$curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$chmod a+x ~/bin/repo
$PATH=${PATH}:~/bin
$mkdir fsl-community-bsp
$cd fsl-community-bsp
$repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b rocko
$repo sync
$MACHINE=imx6qdlsabresd DISTRO=fslc-framebuffer ./setup-environment imx6
$bitbake core-image-minimal

This is a bare minimal image.


Saturday, June 23, 2018

Tiny ARM dev board

PocketBeagle: OSD3358, 1GHz ARM Cortex-A8, micro SD card socket
http://beagleboard.org/pocket
https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual


CHIP Pro: 1GHz ARMv7-A, 256MB DDR3 / 512MB NAND
https://getchip.com/pages/chippro

Neutis N5: Cortex-A53, 8GB flash, 512MB DDR3
https://neutis.io/

Orange pi zero:  AllWinner H2, 256MB/512MB DDR3, 2MB spi flash
http://www.orangepi.org/orangepizero/

Teensy:
https://www.pjrc.com/store/
https://www.pjrc.com/teensy/techspecs.html





Wednesday, June 13, 2018

Enable PCI on IMX6 YOCTO


@largeB:~/murata/meta-murata-wireless/cyw-script-utils/latest/imx6/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.9.11-r0/git$ find . | xargs grep CONFIG_PCIE_DW 2>/dev/null
./drivers/pci/host/Makefile:obj-$(CONFIG_PCIE_DW) += pcie-designware.o
./drivers/pci/host/Makefile:obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
@largeB:~/murata/meta-murata-wireless/cyw-script-utils/latest/imx6/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.9.11-r0/git$ find . | xargs grep CONFIG_PCI_IMX6 2>/dev/null
./arch/arm/configs/imx_v6_v7_defconfig:CONFIG_PCI_IMX6=y
./drivers/clk/imx/clk-imx6q.c: if (IS_ENABLED(CONFIG_PCI_IMX6)) {
./drivers/pci/host/pci-imx6.c: if (!IS_ENABLED(CONFIG_PCI_IMX6_COMPLIANCE_TEST)) {
./drivers/pci/host/pci-imx6.c: if (!IS_ENABLED(CONFIG_PCI_IMX6_COMPLIANCE_TEST)) {
./drivers/pci/host/pcie-designware.c: if (!IS_ENABLED(CONFIG_PCI_IMX6))
./drivers/pci/host/Makefile:obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
@largeB:~/murata/meta-murata-wireless/cyw-script-utils/latest/imx6/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.9.11-r0/git$ find . | xargs grep CONFIG_PCI_MSI 2>/dev/null
./Documentation/PCI/MSI-HOWTO.txt:To support MSI or MSI-X, the kernel must be built with the CONFIG_PCI_MSI
./Documentation/PCI/MSI-HOWTO.txt:CONFIG_PCI_MSI option.
./Documentation/PCI/MSI-HOWTO.txt:have enabled CONFIG_PCI_MSI.
./kernel/configs/kvm_guest.config:CONFIG_PCI_MSI=y
./arch/powerpc/kernel/prom_init.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/kernel/Makefile:obj-$(CONFIG_PCI_MSI) += msi.o
./arch/powerpc/sysdev/mpic.h:#ifdef CONFIG_PCI_MSI
./arch/powerpc/sysdev/mpic.h:#if defined(CONFIG_PCI_MSI) && defined(CONFIG_PPC_PASEMI)
./arch/powerpc/sysdev/xics/ics-rtas.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/sysdev/xics/ics-opal.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/sysdev/Makefile:mpic-msi-obj-$(CONFIG_PCI_MSI) += mpic_msi.o mpic_u3msi.o
./arch/powerpc/sysdev/Makefile:fsl-msi-obj-$(CONFIG_PCI_MSI) += fsl_msi.o
./arch/powerpc/sysdev/mpic.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/pasemi/Makefile:obj-$(CONFIG_PCI_MSI) += msi.o
./arch/powerpc/platforms/powernv/pci.h:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci-ioda.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci-ioda.c:#endif /* CONFIG_PCI_MSI */
./arch/powerpc/platforms/powernv/pci-ioda.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci-ioda.c:#endif /* CONFIG_PCI_MSI */
./arch/powerpc/platforms/powernv/pci-ioda.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci-ioda.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci-ioda.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci.c:#ifdef CONFIG_PCI_MSI
./arch/powerpc/platforms/powernv/pci.c:#endif /* CONFIG_PCI_MSI */
./arch/powerpc/include/asm/mpic.h:#ifdef CONFIG_PCI_MSI
./arch/powerpc/include/asm/pci-bridge.h:#ifdef CONFIG_PCI_MSI
./arch/powerpc/configs/maple_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/powernv_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/c2k_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/pasemi_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/g5_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/ppc64e_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/85xx/kmp204x_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/85xx/ge_imp3a_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/85xx/xes_mpc85xx_defconfig:CONFIG_PCI_MSI=y
./arch/powerpc/configs/85xx-hw.config:CONFIG_PCI_MSI=y
./arch/powerpc/configs/ppc6xx_defconfig:CONFIG_PCI_MSI=y
./arch/sparc/kernel/pci_sun4v.c:#ifdef CONFIG_PCI_MSI
./arch/sparc/kernel/pci_sun4v.c:#else /* CONFIG_PCI_MSI */
./arch/sparc/kernel/pci_sun4v.c:#endif /* !(CONFIG_PCI_MSI) */
./arch/sparc/kernel/pci_fire.c:#ifdef CONFIG_PCI_MSI
./arch/sparc/kernel/pci_fire.c:#else /* CONFIG_PCI_MSI */
./arch/sparc/kernel/pci_fire.c:#endif /* !(CONFIG_PCI_MSI) */
./arch/sparc/kernel/pci.c:#ifdef CONFIG_PCI_MSI
./arch/sparc/kernel/pci.c:#endif /* !(CONFIG_PCI_MSI) */
./arch/sparc/kernel/pci_impl.h:#ifdef CONFIG_PCI_MSI
./arch/sparc/kernel/pci_impl.h:#ifdef CONFIG_PCI_MSI
./arch/sparc/kernel/pci_impl.h:#endif /* !(CONFIG_PCI_MSI) */
./arch/sparc/configs/sparc64_defconfig:CONFIG_PCI_MSI=y
./arch/x86/kernel/x86_init.c:#if defined(CONFIG_PCI_MSI)
./arch/x86/kernel/hpet.c:#ifdef CONFIG_PCI_MSI
./arch/x86/kernel/hpet.c:#ifdef CONFIG_PCI_MSI
./arch/x86/kernel/apic/Makefile:obj-$(CONFIG_PCI_MSI) += msi.o
./arch/x86/kernel/apic/vector.c:#if defined(CONFIG_PCI_MSI) || defined(CONFIG_HT_IRQ)
./arch/x86/include/asm/irq_vectors.h:#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_PCI_MSI)
./arch/x86/include/asm/irq_vectors.h:#elif defined(CONFIG_PCI_MSI)
./arch/x86/include/asm/pci.h:#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
./arch/x86/include/asm/pci.h:#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
./arch/x86/include/asm/pci.h:#ifdef CONFIG_PCI_MSI
./arch/x86/include/asm/irqdomain.h:#ifdef CONFIG_PCI_MSI
./arch/x86/include/asm/hw_irq.h:#ifdef CONFIG_PCI_MSI
./arch/x86/include/asm/xen/pci.h:#if defined(CONFIG_PCI_MSI)
./arch/x86/include/asm/xen/pci.h:#endif /* CONFIG_PCI_MSI */
./arch/x86/configs/xen.config:CONFIG_PCI_MSI=y
./arch/x86/configs/i386_defconfig:CONFIG_PCI_MSI=y
./arch/x86/pci/xen.c:#if defined(CONFIG_PCI_MSI)
./arch/x86/pci/xen.c:#ifdef CONFIG_PCI_MSI
./arch/x86/pci/xen.c:#ifdef CONFIG_PCI_MSI
./arch/x86/pci/xen.c:#ifdef CONFIG_PCI_MSI
./arch/x86/pci/xen.c:#ifdef CONFIG_PCI_MSI
./arch/x86/pci/irq.c:#ifndef CONFIG_PCI_MSI
./arch/arm/mach-iop13xx/msi.h:#ifdef CONFIG_PCI_MSI
./arch/arm/mach-iop13xx/Makefile:obj-$(CONFIG_PCI_MSI) += msi.o
./arch/arm/mach-iop13xx/include/mach/irqs.h:#ifdef CONFIG_PCI_MSI
./arch/arm/mach-iop13xx/pci.c:#ifdef CONFIG_PCI_MSI
./arch/arm/mach-iop13xx/pci.c:#ifdef CONFIG_PCI_MSI
./arch/arm/configs/dove_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/mvebu_v7_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/keystone_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/pxa_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/socfpga_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/spear13xx_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/axm55xx_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/tegra_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/multi_v7_defconfig:CONFIG_PCI_MSI=y
./arch/arm/configs/imx_v6_v7_defconfig:CONFIG_PCI_MSI=y
./arch/mips/netlogic/common/irq.c:#if defined(CONFIG_PCI_MSI) && defined(CONFIG_CPU_XLP)
./arch/mips/include/asm/mach-cavium-octeon/irq.h:#ifndef CONFIG_PCI_MSI
./arch/mips/include/asm/mach-cavium-octeon/irq.h:#ifdef CONFIG_PCI_MSI
./arch/mips/include/asm/netlogic/common.h:#ifdef CONFIG_PCI_MSI
./arch/mips/include/asm/netlogic/xlp-hal/pcibus.h:#ifdef CONFIG_PCI_MSI
./arch/mips/configs/cavium_octeon_defconfig:CONFIG_PCI_MSI=y
./arch/mips/configs/nlm_xlr_defconfig:CONFIG_PCI_MSI=y
./arch/mips/pci/Makefile:ifdef CONFIG_PCI_MSI
./arch/mips/pci/pci-xlr.c:#ifdef CONFIG_PCI_MSI
./arch/arm64/configs/defconfig:CONFIG_PCI_MSI=y
./arch/ia64/kernel/Makefile:obj-$(CONFIG_PCI_MSI) += msi_ia64.o
./arch/ia64/sn/kernel/Makefile:obj-$(CONFIG_PCI_MSI) += msi_sn.o
./arch/ia64/include/asm/machvec_sn2.h:#ifdef CONFIG_PCI_MSI
./include/linux/pci.h:#ifdef CONFIG_PCI_MSI
./include/linux/pci.h:#ifdef CONFIG_PCI_MSI
./include/linux/pci.h:#ifdef CONFIG_PCI_MSI
./include/linux/msi.h:#ifdef CONFIG_PCI_MSI
./include/linux/msi.h:#else /* CONFIG_PCI_MSI */
./include/linux/msi.h:#endif /* CONFIG_PCI_MSI */
./include/linux/msi.h:#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
./include/linux/msi.h:#endif /* CONFIG_PCI_MSI_IRQ_DOMAIN */
./include/linux/of_pci.h:#if defined(CONFIG_OF) && defined(CONFIG_PCI_MSI)
./include/xen/events.h:#ifdef CONFIG_PCI_MSI
./include/xen/events.h:#ifdef CONFIG_PCI_MSI
./drivers/block/cciss.c:#ifdef CONFIG_PCI_MSI
./drivers/block/cciss.c:#endif /* CONFIG_PCI_MSI */
./drivers/block/cciss.c:#ifdef CONFIG_PCI_MSI
./drivers/block/cciss.c:#endif /* CONFIG_PCI_MSI */
./drivers/block/cciss.c:#ifdef CONFIG_PCI_MSI
./drivers/block/cciss.c:#endif /* CONFIG_PCI_MSI */
./drivers/infiniband/hw/qib/Makefile:ib_qib-$(CONFIG_PCI_MSI) += qib_iba6120.o
./drivers/infiniband/hw/qib/qib_init.c:#ifdef CONFIG_PCI_MSI
./drivers/infiniband/hw/qib/qib_init.c: "Intel PCIE device 0x%x cannot work if CONFIG_PCI_MSI is not enabled\n",
./drivers/infiniband/hw/mthca/mthca_main.c:#ifdef CONFIG_PCI_MSI
./drivers/infiniband/hw/mthca/mthca_main.c:#else /* CONFIG_PCI_MSI */
./drivers/infiniband/hw/mthca/mthca_main.c:#endif /* CONFIG_PCI_MSI */
./drivers/media/pci/ngene/ngene-core.c:#ifdef CONFIG_PCI_MSI
./drivers/media/pci/ngene/ngene-core.c:#ifdef CONFIG_PCI_MSI
./drivers/media/pci/ngene/ngene-core.c:#ifdef CONFIG_PCI_MSI
./drivers/media/pci/smipcie/smipcie-main.c:#ifdef CONFIG_PCI_MSI /* to do msi interrupt.???*/
./drivers/media/pci/smipcie/smipcie-main.c:#ifdef CONFIG_PCI_MSI
./drivers/media/pci/ddbridge/ddbridge-core.c:#undef CONFIG_PCI_MSI
./drivers/media/pci/ddbridge/ddbridge-core.c:#ifdef CONFIG_PCI_MSI
./drivers/media/pci/ddbridge/ddbridge-core.c:#ifdef CONFIG_PCI_MSI
./drivers/scsi/hpsa.c:#ifdef CONFIG_PCI_MSI
./drivers/scsi/hpsa.c:#endif /* CONFIG_PCI_MSI */
./drivers/net/ethernet/mellanox/mlx4/main.c:#ifdef CONFIG_PCI_MSI
./drivers/net/ethernet/mellanox/mlx4/main.c:#else /* CONFIG_PCI_MSI */
./drivers/net/ethernet/mellanox/mlx4/main.c:#endif /* CONFIG_PCI_MSI */
./drivers/net/ethernet/atheros/atlx/atl2.c:#ifdef CONFIG_PCI_MSI
./drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:#ifdef CONFIG_PCI_MSI
./drivers/net/ethernet/tehuti/tehuti.h:#if !defined CONFIG_PCI_MSI
./drivers/net/ethernet/neterion/vxge/vxge-main.c: if (IS_ENABLED(CONFIG_PCI_MSI) &&
./drivers/net/ethernet/neterion/vxge/vxge-main.c: if (IS_ENABLED(CONFIG_PCI_MSI) && vdev->config.intr_type == MSI_X)
./drivers/net/ethernet/neterion/vxge/vxge-main.c: if (IS_ENABLED(CONFIG_PCI_MSI) && vdev->config.intr_type == MSI_X) {
./drivers/net/ethernet/neterion/vxge/vxge-main.c: if (!IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/net/ethernet/intel/e1000e/param.c:#ifndef CONFIG_PCI_MSI
./drivers/net/ethernet/intel/e1000e/param.c:#ifdef CONFIG_PCI_MSI
./drivers/net/ethernet/intel/e1000e/param.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_int.h:#if defined(CONFIG_PCI_MSI)
./drivers/net/vmxnet3/vmxnet3_int.h:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#endif /* CONFIG_PCI_MSI  */
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#endif /* CONFIG_PCI_MSI */
./drivers/net/vmxnet3/vmxnet3_drv.c:#ifdef CONFIG_PCI_MSI
./drivers/net/vmxnet3/vmxnet3_drv.c:#endif /* CONFIG_PCI_MSI */
./drivers/irqchip/irq-armada-370-xp.c:#ifdef CONFIG_PCI_MSI
./drivers/irqchip/irq-armada-370-xp.c:#ifdef CONFIG_PCI_MSI
./drivers/irqchip/irq-armada-370-xp.c:#ifdef CONFIG_PCI_MSI
./drivers/of/of_pci.c:#ifdef CONFIG_PCI_MSI
./drivers/of/of_pci.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.h:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.h:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.h:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721_dma.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721_dma.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/rapidio/devices/tsi721.c:#endif /* CONFIG_PCI_MSI */
./drivers/rapidio/devices/tsi721.c:#ifdef CONFIG_PCI_MSI
./drivers/xen/events/events_base.c:#ifdef CONFIG_PCI_MSI
./drivers/xen/xen-pciback/pciback_ops.c:#ifdef CONFIG_PCI_MSI
./drivers/xen/xen-pciback/pciback_ops.c:#ifdef CONFIG_PCI_MSI
./drivers/xen/xen-pciback/pciback_ops.c:#ifdef CONFIG_PCI_MSI
./drivers/xen/xen-pciback/pciback_ops.c:#ifdef CONFIG_PCI_MSI
./drivers/xen/xen-pciback/pciback_ops.c:#ifdef CONFIG_PCI_MSI
./drivers/ata/ahci.h:#ifdef CONFIG_PCI_MSI
./drivers/pci/pci.h:#ifdef CONFIG_PCI_MSI
./drivers/pci/xen-pcifront.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/xen-pcifront.c:#endif /* CONFIG_PCI_MSI */
./drivers/pci/Makefile:obj-$(CONFIG_PCI_MSI) += msi.o
./drivers/pci/msi.c:#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
./drivers/pci/msi.c:#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
./drivers/pci/msi.c:#endif /* CONFIG_PCI_MSI_IRQ_DOMAIN */
./drivers/pci/quirks.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/quirks.c:#endif /* CONFIG_PCI_MSI */
./drivers/pci/host/pci-imx6.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-imx6.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-imx6.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-imx6.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pcie-qcom.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-qcom.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pcie-qcom.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-designware.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/host/pcie-designware.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-designware.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-exynos.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-exynos.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-dra7xx.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-dra7xx.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-dra7xx.c: if (!IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-iproc.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-keystone.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-keystone.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-artpec6.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pcie-artpec6.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-xilinx.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-xilinx.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-xilinx.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/host/pcie-rcar.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pcie-rcar.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pcie-rcar.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-xilinx-nwl.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/host/pcie-xilinx-nwl.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/host/pcie-xilinx-nwl.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pcie-designware-plat.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pcie-designware-plat.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-tegra.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/host/pci-tegra.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-tegra.c: if (IS_ENABLED(CONFIG_PCI_MSI))
./drivers/pci/host/pci-mvebu.c:#ifdef CONFIG_PCI_MSI
./drivers/pci/host/pcie-spear13xx.c: BUG_ON(!IS_ENABLED(CONFIG_PCI_MSI));
./drivers/pci/host/pcie-spear13xx.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-keystone-dw.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/host/pci-keystone-dw.c: if (IS_ENABLED(CONFIG_PCI_MSI)) {
./drivers/pci/probe.c:#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
@largeB:~/murata/meta-murata-wireless/cyw-script-utils/latest/imx6/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.9.11-r0/git$ find . | xargs grep CONFIG_PCI_SYSCALL 2>/dev/null
./drivers/pci/Makefile:obj-$(CONFIG_PCI_SYSCALL) += syscall.o
@largeB:~/murata/meta-murata-wireless/cyw-script-utils/latest/imx6/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.9.11-r0/git$ find . | xargs grep CONFIG_PCI_DOMAINS 2>/dev/null
./arch/x86/include/asm/pci.h:#ifdef CONFIG_PCI_DOMAINS
./arch/x86/include/asm/device.h:#if defined(CONFIG_X86_DEV_DMA_OPS) && defined(CONFIG_PCI_DOMAINS)
./arch/x86/pci/common.c:#if defined(CONFIG_X86_DEV_DMA_OPS) && defined(CONFIG_PCI_DOMAINS)
./arch/arm/include/asm/pci.h:#ifdef CONFIG_PCI_DOMAINS
./arch/arm/include/asm/pci.h:#endif /* CONFIG_PCI_DOMAINS */
./arch/mips/lib/iomap-pci.c:#ifdef CONFIG_PCI_DOMAINS
./arch/mips/include/asm/pci.h:#ifndef CONFIG_PCI_DOMAINS_GENERIC
./arch/mips/include/asm/pci.h:#ifdef CONFIG_PCI_DOMAINS_GENERIC
./arch/mips/include/asm/pci.h:#elif defined(CONFIG_PCI_DOMAINS)
./arch/mips/include/asm/pci.h:#endif /* CONFIG_PCI_DOMAINS */
./arch/mips/include/asm/pci.h:#ifdef CONFIG_PCI_DOMAINS_GENERIC
./arch/mips/include/asm/pci.h:#elif defined(CONFIG_PCI_DOMAINS)
./arch/mips/include/asm/pci.h:#endif /* CONFIG_PCI_DOMAINS */
./include/linux/pci.h:#ifdef CONFIG_PCI_DOMAINS_GENERIC
./include/linux/pci.h:#ifdef CONFIG_PCI_DOMAINS
./include/linux/pci.h:#endif /* CONFIG_PCI_DOMAINS */
./include/linux/pci.h:#ifdef CONFIG_PCI_DOMAINS_GENERIC
./drivers/xen/xen-pciback/pci_stub.c:    || !defined(CONFIG_PCI_DOMAINS)
./drivers/pci/xen-pcifront.c:#ifndef CONFIG_PCI_DOMAINS
./drivers/pci/xen-pcifront.c: "Please compile with CONFIG_PCI_DOMAINS\n");
./drivers/pci/xen-pcifront.c:#ifndef CONFIG_PCI_DOMAINS
./drivers/pci/xen-pcifront.c: "Please compile with CONFIG_PCI_DOMAINS\n");
./drivers/pci/probe.c:#ifdef CONFIG_PCI_DOMAINS_GENERIC
./drivers/pci/probe.c:#ifdef CONFIG_PCI_DOMAINS_GENERIC
./drivers/pci/pci.c:#ifdef CONFIG_PCI_DOMAINS
./drivers/pci/pci.c:#ifdef CONFIG_PCI_DOMAINS
./drivers/pci/pci.c:#ifdef CONFIG_PCI_DOMAINS
./drivers/pci/pci.c:#ifdef CONFIG_PCI_DOMAINS_GENERIC


@largeB:~/murata/meta-murata-wireless/cyw-script-utils/latest/imx6/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.9.11-r0/git$ find . | xargs grep EIM_D19 2>/dev/null
./arch/arm/boot/dts/imx6qdl-aristainetos2.dtsi: MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x1b0b1
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__EIM_DATA19              0x09c 0x3b0 0x000 0x0 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__ECSPI1_SS1              0x09c 0x3b0 0x804 0x1 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__IPU1_DI0_PIN08          0x09c 0x3b0 0x000 0x2 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__IPU2_CSI1_DATA16        0x09c 0x3b0 0x8c8 0x3 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__UART1_CTS_B             0x09c 0x3b0 0x000 0x4 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__UART1_RTS_B             0x09c 0x3b0 0x91c 0x4 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__GPIO3_IO19              0x09c 0x3b0 0x000 0x5 0x0
./arch/arm/boot/dts/imx6q-pinfunc.h:#define MX6QDL_PAD_EIM_D19__EPIT1_OUT               0x09c 0x3b0 0x000 0x6 0x0
./arch/arm/boot/dts/imx51-babbage.dts: MX51_PAD_EIM_D19__I2C1_SCL 0x400001ed
./arch/arm/boot/dts/imx6q-gw5400-a.dts: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x1b0b0 /* SPINOR_CS0# */
./arch/arm/boot/dts/imx6qdl-sabrelite.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x000b1 /* CS */
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__EIM_DATA19              0x150 0x520 0x000 0x0 0x0
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__ECSPI1_SS1              0x150 0x520 0x7e8 0x1 0x1
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__IPU1_DI0_PIN08          0x150 0x520 0x000 0x2 0x0
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__IPU1_CSI1_DATA16        0x150 0x520 0x8a0 0x3 0x1
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__UART1_CTS_B             0x150 0x520 0x000 0x4 0x0
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__UART1_RTS_B             0x150 0x520 0x8f8 0x4 0x0
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__GPIO3_IO19              0x150 0x520 0x000 0x5 0x0
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__EPIT1_OUT               0x150 0x520 0x000 0x6 0x0
./arch/arm/boot/dts/imx6dl-pinfunc.h:#define MX6QDL_PAD_EIM_D19__EPDC_DATA12             0x150 0x520 0x000 0x8 0x0
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__AUD4_RXC 0x068 0x3fc 0x000 0x5 0x0
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__AUD5_TXFS 0x068 0x3fc 0x8e8 0x7 0x0
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__EIM_D19 0x068 0x3fc 0x000 0x0 0x0
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__GPIO2_3 0x068 0x3fc 0x000 0x1 0x0
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__I2C1_SCL 0x068 0x3fc 0x9b0 0x4 0x0
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__UART2_RTS 0x068 0x3fc 0x9e8 0x3 0x1
./arch/arm/boot/dts/imx51-pinfunc.h:#define MX51_PAD_EIM_D19__USBH2_DATA3 0x068 0x3fc 0x000 0x2 0x0
./arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi: MX51_PAD_EIM_D19__EIM_D19 0x80000000
./arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x000b1
./arch/arm/boot/dts/imx6qdl-ts4900.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x100b1 /* Onboard flash CS1# */
./arch/arm/boot/dts/imx6qdl-apalis.dtsi: MX6QDL_PAD_EIM_D19__UART1_RTS_B 0x1b0b1
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__EMI_WEIM_D_19 0x124 0x46c 0x000 0x0 0x0
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__GPIO3_19 0x124 0x46c 0x000 0x1 0x0
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__IPU_DI0_PIN8 0x124 0x46c 0x000 0x2 0x0
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__IPU_DISPB1_SER_RS 0x124 0x46c 0x000 0x3 0x0
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__ECSPI1_SS1 0x124 0x46c 0x7ac 0x4 0x2
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__EPIT1_EPITO 0x124 0x46c 0x000 0x5 0x0
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__UART1_CTS 0x124 0x46c 0x000 0x6 0x0
./arch/arm/boot/dts/imx53-pinfunc.h:#define MX53_PAD_EIM_D19__USBOH3_USBH2_OC 0x124 0x46c 0x8a4 0x7 0x0
./arch/arm/boot/dts/imx53-tx53.dtsi: MX53_PAD_EIM_D19__ECSPI1_SS1 0x80000000
./arch/arm/boot/dts/imx6qdl-microsom.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x40013070
./arch/arm/boot/dts/imx53-smd.dts: MX53_PAD_EIM_D19__GPIO3_19     0x80000000
./arch/arm/boot/dts/imx6qdl-sabresd.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x1b0b0
./arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x000b1
./arch/arm/boot/dts/imx6q-evi.dts: MX6QDL_PAD_EIM_D19__EIM_DATA19 0x1b0b0
./arch/arm/boot/dts/imx6qdl-tx6.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x0b0b0 /* SPI CS1 */
./arch/arm/boot/dts/imx6q-cm-fx6.dts: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x100b1
./arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x000b1 /* CS */
./arch/arm/boot/dts/imx6qdl-sabreauto.dtsi: MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x80000000
./arch/arm/boot/dts/imx6qdl-sabreauto.dtsi: MX6QDL_PAD_EIM_D19__EIM_DATA19 0x1b0b0
./arch/arm/boot/dts/imx53-ard.dts: MX53_PAD_EIM_D19__EMI_WEIM_D_19      0x80000000
./drivers/pinctrl/freescale/pinctrl-imx53.c: MX53_PAD_EIM_D19 = 73,
./drivers/pinctrl/freescale/pinctrl-imx53.c: IMX_PINCTRL_PIN(MX53_PAD_EIM_D19),
./drivers/pinctrl/freescale/pinctrl-imx6q.c: MX6Q_PAD_EIM_D19 = 39,
./drivers/pinctrl/freescale/pinctrl-imx6q.c: IMX_PINCTRL_PIN(MX6Q_PAD_EIM_D19),
./drivers/pinctrl/freescale/pinctrl-imx51.c: MX51_PAD_EIM_D19 = 26,
./drivers/pinctrl/freescale/pinctrl-imx51.c: IMX_PINCTRL_PIN(MX51_PAD_EIM_D19),
./drivers/pinctrl/freescale/pinctrl-imx6dl.c: MX6DL_PAD_EIM_D19 = 84,

./drivers/pinctrl/freescale/pinctrl-imx6dl.c: IMX_PINCTRL_PIN(MX6DL_PAD_EIM_D19),

Reference 36.4.35
Address: 20E_0000h base + 9Ch offset = 20E_009Ch
Source code no trace of GPIO3__IO19

~/murata-imx-bsp/sources/meta-murata-wireless/recipes-kernel/linux/linux-imx-4.9.11/0001-defconfig.patch
diff --git a/arch/arm/configs/imx_v7_defconfig b/arch/arm/configs/imx_v7_defconfig
index 25fbcf6..7dbed6f 100644
--- a/arch/arm/configs/imx_v7_defconfig
+++ b/arch/arm/configs/imx_v7_defconfig
@@ -80,7 +80,7 @@ CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIUART_ATH3K=y
 CONFIG_BT_HCIBCM203X=y
 CONFIG_BT_ATH3K=y
-CONFIG_CFG80211=y
+CONFIG_CFG80211=n
 CONFIG_MAC80211=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
@@ -147,7 +147,7 @@ CONFIG_USB_RTL8150=y
 CONFIG_USB_RTL8152=y
 CONFIG_USB_USBNET=y
 CONFIG_USB_NET_CDC_EEM=m
-CONFIG_BCMDHD=y
+CONFIG_BCMDHD=n
 CONFIG_BCMDHD_SDIO=y
 CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin"
 CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.OOB.cal"
@@ -452,3 +452,11 @@ CONFIG_LIBCRC32C=m
 CONFIG_FONTS=y
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_IMX6=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_DEBUG=y:wq

~/murata-imx-bsp/sources/meta-murata-wireless/recipes-kernel/backporttool-linux/backporttool-linux_1.0.bb

        cp -fpa ${TMPDIR}/work/x86_64-linux/backporttool-native/1.0-r0/backporttool-native-1.0/. .




Sunday, April 29, 2018

AWS Docker Joomla

Docker does have an official Joomla image
https://hub.docker.com/_/joomla/

docker pull joomla 

Remove all docker processes

docker rm -f $(docker ps -aq)

Joomla does not support mysql 8.0 yet

docker run --name joomla_db -d -e MYSQL_ROOT_PASSWORD=password mysql:5.6


docker run --name joomla_website --link joomla_db:mysql -d -p 8080:80 joomla

Open up a bash cmd console
docker exec -it joomla_website bash

Akeeba Backup
https://www.siteground.com/tutorials/joomla/akeeba-backup/

Install Docker on AWS AMI
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html

...
Create a docker image

docker run -i -t <Image_ID> /bin/bash
[Configuration / Copy & Paste]
exit

docker ps -a
docker commit <Container ID> <REPOSITORY>

Push to Docker hub
docker tag <Image Id> <User Name>/<repo>:<tag>
docker push <User Name>/<repo>:<tag>

Docker does not persistent /var/www/html/ when committing the container.