diff --git a/bsp/board/raspberrypi/main.mk b/bsp/board/raspberrypi/main.mk index b55be6c2..45acdcad 100644 --- a/bsp/board/raspberrypi/main.mk +++ b/bsp/board/raspberrypi/main.mk @@ -1,5 +1,5 @@ # -# Main rules for Mozart3 targets. +# Main rules for raspberry board targets. # # diff --git a/bsp/board/raspberrypi/scripts/post-build.sh b/bsp/board/raspberrypi/scripts/post-build.sh index bbaa75ed..768c2072 100755 --- a/bsp/board/raspberrypi/scripts/post-build.sh +++ b/bsp/board/raspberrypi/scripts/post-build.sh @@ -13,13 +13,13 @@ function error { set -e trap error ERR -echo "==> Mozart3 post-build:" +echo "==> Raspberry post-build:" -echo "AW_STAGING: ${AW_STAGING}" -echo "AW_PROJECT: " ${AW_PROJECT} +echo "BR_STAGING: ${BR_STAGING}" +echo "BR_PROJECT: " ${BR_PROJECT} # Generate uboot scripts -for cmd_file in `ls ${AW_PROJECT}/uboot/*.cmd` +for cmd_file in `ls ${BR_PROJECT}/uboot/*.cmd` do echo "uboot script: $cmd_file" # Get file name without extention. @@ -30,8 +30,8 @@ done # Copy the overlay of the target. if [ -d ${PROJECT}/ovl ]; then - mkdir -p ${AW_STAGING}/buildroot/target/usr/local/ - cp -a ${AW_PROJECT}/ovl/* ${AW_STAGING}/buildroot/target/ + mkdir -p ${BR_STAGING}/buildroot/target/usr/local/ + cp -a ${BR_PROJECT}/ovl/* ${BR_STAGING}/buildroot/target/ fi # Finaly apply post build script of the target if the script exist. diff --git a/bsp/board/raspberrypi/scripts/post-image.sh b/bsp/board/raspberrypi/scripts/post-image.sh index 09a917ef..6917fcc4 100755 --- a/bsp/board/raspberrypi/scripts/post-image.sh +++ b/bsp/board/raspberrypi/scripts/post-image.sh @@ -12,7 +12,7 @@ function error { set -e trap error ERR -echo "==> Mozart3 post-image:" +echo "==> Domo post-image:" if [ -e ${PROJECT}/configs/genimage.config ]; then echo "We will generate sdcard image." diff --git a/bsp/buildroot_external/Config.in b/bsp/buildroot_external/Config.in index 001ccd2d..00b1d51f 100644 --- a/bsp/buildroot_external/Config.in +++ b/bsp/buildroot_external/Config.in @@ -1,4 +1,4 @@ -menu "Awox Audio Software" -source "$BR2_EXTERNAL/Domo.in" -endmenu +menu "Domo" + +endmenu # Domo diff --git a/bsp/include/buildroot.mk b/bsp/include/buildroot.mk index 869af7b9..56691abd 100644 --- a/bsp/include/buildroot.mk +++ b/bsp/include/buildroot.mk @@ -1,30 +1,30 @@ -BR2_EXTERNAL ?= $(AW_PROJECT)/../../bsp/buildroot_external/ +BR2_EXTERNAL ?= $(BR_PROJECT)/../../bsp/buildroot_external/ -BR_ENV = BR2_EXTERNAL=$(BR2_EXTERNAL) O=$(AW_STAGING)/buildroot/ WORKSPACE_DIR=$(AW_STAGING) BUILDS_ROOT=$(AW_LOCAL_BUILDS_ROOT) BOARD=$(AW_BOARD) PROJECT=$(AW_PROJECT) +BR_ENV = BR2_EXTERNAL=$(BR2_EXTERNAL) O=$(BR_STAGING)/buildroot/ WORKSPACE_DIR=$(BR_STAGING) BUILDS_ROOT=$(BR_LOCAL_BUILDS_ROOT) BOARD=$(BR_BOARD) PROJECT=$(BR_PROJECT) buildroot.menuconfig: buildroot.config - $(MAKE) $(BR_ENV) -C $(AW_PROJECT)/../../bsp/buildroot/ menuconfig - cmp -s $(AW_STAGING)/buildroot/.config $(AW_PROJECT)/configs/buildroot.config; \ + $(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ menuconfig + cmp -s $(BR_STAGING)/buildroot/.config $(BR_PROJECT)/configs/buildroot.config; \ if test $$? -ne 0; then echo "Config Files has changed......"; \ - cp $(AW_STAGING)/buildroot/.config $(AW_PROJECT)/configs/buildroot.config; \ + cp $(BR_STAGING)/buildroot/.config $(BR_PROJECT)/configs/buildroot.config; \ fi buildroot: buildroot.config - $(MAKE) $(BR_ENV) -C $(AW_PROJECT)/../../bsp/buildroot/ + $(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ buildroot.shell: buildroot.config $(eval export $(BR_ENV)) - cd $(AW_STAGING)/buildroot/; $(BR_ENV) bash + cd $(BR_STAGING)/buildroot/; $(BR_ENV) bash buildroot.config: - @mkdir -p $(AW_STAGING)/buildroot/ -ifeq ("$(wildcard $(AW_STAGING)/buildroot/.config)","") - @cp $(AW_PROJECT)/configs/buildroot.config $(AW_STAGING)/buildroot/.config + @mkdir -p $(BR_STAGING)/buildroot/ +ifeq ("$(wildcard $(BR_STAGING)/buildroot/.config)","") + @cp $(BR_PROJECT)/configs/buildroot.config $(BR_STAGING)/buildroot/.config else - cmp -s $(AW_PROJECT)/configs/buildroot.config $(AW_STAGING)/buildroot/.config; \ + cmp -s $(BR_PROJECT)/configs/buildroot.config $(BR_STAGING)/buildroot/.config; \ if test $$? -ne 0; then echo "Config Files has changed......"; \ - cp $(AW_PROJECT)/configs/buildroot.config $(AW_STAGING)/buildroot/.config; \ + cp $(BR_PROJECT)/configs/buildroot.config $(BR_STAGING)/buildroot/.config; \ fi endif diff --git a/bsp/include/rules.mk b/bsp/include/rules.mk index 5aea8d3a..6792676a 100644 --- a/bsp/include/rules.mk +++ b/bsp/include/rules.mk @@ -1,9 +1,9 @@ msg: - @echo "Building $(AW_PROJECT_NAME) Firmware." + @echo "Building $(BR_PROJECT_NAME) Firmware." clean: - rm -rf $(AW_STAGING) + rm -rf $(BR_STAGING) export DEBUG ?= 0 @@ -19,5 +19,5 @@ BUILD_TYPE := Release endif export BUILD_TYPE -export AW_LOCAL_BUILDS_ROOT ?= $(AW_PROJECT)/../../_builds -export AW_STAGING ?= $(AW_LOCAL_BUILDS_ROOT)/$(AW_PROJECT_NAME)$(BUILD_DIR)/ +export BR_LOCAL_BUILDS_ROOT ?= $(BR_PROJECT)/../../_builds +export BR_STAGING ?= $(BR_LOCAL_BUILDS_ROOT)/$(BR_PROJECT_NAME)$(BUILD_DIR)/ diff --git a/projects/pi_domo/Makefile b/projects/pi_domo/Makefile index f86f0396..f06018b6 100644 --- a/projects/pi_domo/Makefile +++ b/projects/pi_domo/Makefile @@ -2,13 +2,13 @@ # Entry point for the project. # Define the target. -export AW_PROJECT:=$(shell pwd) -export AW_PROJECT_NAME:=pi_domo +export BR_PROJECT:=$(shell pwd) +export BR_PROJECT_NAME:=pi_domo -export AW_BOARD:=$(shell pwd)/../../bsp/board/raspberrypi/ +export BR_BOARD:=$(shell pwd)/../../bsp/board/raspberrypi/ -include $(AW_BOARD)/main.mk +include $(BR_BOARD)/main.mk install: - cp $(AW_STAGING)/buildroot/images/zImage /tftpboot/ - cp $(AW_STAGING)/buildroot/images/rootfs.cpio.uboot /tftpboot/ + cp $(BR_STAGING)/buildroot/images/zImage /tftpboot/ + cp $(BR_STAGING)/buildroot/images/rootfs.cpio.uboot /tftpboot/ diff --git a/projects/pi_domo/configs/buildroot.config b/projects/pi_domo/configs/buildroot.config index 35b8f981..2775add8 100644 --- a/projects/pi_domo/configs/buildroot.config +++ b/projects/pi_domo/configs/buildroot.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Buildroot 2016.08.1-g2cd9a2e-dirty Configuration +# Buildroot 2016.08.1-gebc3c8f-dirty Configuration # BR2_HAVE_DOT_CONFIG=y BR2_HOST_GCC_AT_LEAST_4_6=y @@ -282,8 +282,8 @@ BR2_TOOLCHAIN_HAS_ATOMIC=y BR2_ROOTFS_SKELETON_DEFAULT=y # BR2_ROOTFS_SKELETON_CUSTOM is not set # BR2_ROOTFS_MERGED_USR is not set -BR2_TARGET_GENERIC_HOSTNAME="quartetIII" -BR2_TARGET_GENERIC_ISSUE="Welcome to QuartetIII" +BR2_TARGET_GENERIC_HOSTNAME="Domo" +BR2_TARGET_GENERIC_ISSUE="Welcome to Domo" BR2_TARGET_GENERIC_PASSWD_MD5=y # BR2_TARGET_GENERIC_PASSWD_SHA256 is not set # BR2_TARGET_GENERIC_PASSWD_SHA512 is not set @@ -316,9 +316,9 @@ BR2_GENERATE_LOCALE="" # BR2_TARGET_TZ_INFO is not set BR2_ROOTFS_USERS_TABLES="" BR2_ROOTFS_OVERLAY="$(BOARD)/ovl/" -BR2_ROOTFS_POST_BUILD_SCRIPT="$(AW_BOARD)/scripts/post-build.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR_BOARD)/scripts/post-build.sh" BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" -BR2_ROOTFS_POST_IMAGE_SCRIPT="$(AW_BOARD)/scripts/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR_BOARD)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="" # diff --git a/projects/pi_domo/configs/genimage.config b/projects/pi_domo/configs/genimage.config index 49f2b713..45ea6f80 100644 --- a/projects/pi_domo/configs/genimage.config +++ b/projects/pi_domo/configs/genimage.config @@ -9,7 +9,7 @@ image boot.vfat { "config.txt", "dev.scr", "rpi-firmware/fixup.dat", - "pi_QuartetIII.dtb", + "pi_Domo.dtb", "rootfs.cpio.uboot", "rpi-firmware/start.elf", "u-boot.bin", diff --git a/projects/pi_domo/dts/bcm2708-rpi-b-plus.dtb b/projects/pi_domo/dts/bcm2708-rpi-b-plus.dtb new file mode 100644 index 00000000..629ad430 Binary files /dev/null and b/projects/pi_domo/dts/bcm2708-rpi-b-plus.dtb differ diff --git a/projects/pi_domo/dts/bcm2708-rpi-b-plus.dti b/projects/pi_domo/dts/bcm2708-rpi-b-plus.dti new file mode 100644 index 00000000..78184ae0 --- /dev/null +++ b/projects/pi_domo/dts/bcm2708-rpi-b-plus.dti @@ -0,0 +1,523 @@ + +/ { + #address-cells = <0x00000001>; + #size-cells = <0x00000001>; + interrupt-parent = <0x00000001>; + compatible = "brcm,bcm2708"; + model = "Raspberry Pi Model B+"; + chosen { + bootargs = [00]; + }; + aliases { + audio = "/soc/audio"; + aux = "/soc/aux@0x7e215004"; + sound = "/soc/sound"; + soc = "/soc"; + dma = "/soc/dma@7e007000"; + intc = "/soc/interrupt-controller@7e00b200"; + watchdog = "/soc/watchdog@7e100000"; + random = "/soc/rng@7e104000"; + mailbox = "/soc/mailbox@7e00b800"; + gpio = "/soc/gpio@7e200000"; + uart0 = "/soc/uart@7e201000"; + sdhost = "/soc/sdhost@7e202000"; + i2s = "/soc/i2s@7e203000"; + spi0 = "/soc/spi@7e204000"; + i2c0 = "/soc/i2c@7e205000"; + uart1 = "/soc/uart@7e215040"; + spi1 = "/soc/spi@7e215080"; + spi2 = "/soc/spi@7e2150C0"; + mmc = "/soc/mmc@7e300000"; + i2c1 = "/soc/i2c@7e804000"; + i2c2 = "/soc/i2c@7e805000"; + usb = "/soc/usb@7e980000"; + leds = "/soc/leds"; + fb = "/soc/fb"; + vchiq = "/soc/vchiq"; + thermal = "/soc/thermal"; + clocks = "/clocks"; + }; + memory { + device_type = "memory"; + reg = <0x00000000 0x00000000>; + }; + soc { + compatible = "simple-bus"; + #address-cells = <0x00000001>; + #size-cells = <0x00000001>; + ranges = <0x7e000000 0x20000000 0x01000000>; + phandle = <0x00000022>; + dma@7e007000 { + compatible = "brcm,bcm2835-dma"; + reg = <0x7e007000 0x00000f00>; + interrupts = <0x00000001 0x00000010 0x00000001 0x00000011 0x00000001 0x00000012 0x00000001 0x00000013 0x00000001 0x00000014 0x00000001 0x00000015 0x00000001 0x00000016 0x00000001 0x00000017 0x00000001 0x00000018 0x00000001 0x00000019 0x00000001 0x0000001a 0x00000001 0x0000001b>; + #dma-cells = <0x00000001>; + brcm,dma-channel-mask = <0x00000f35>; + phandle = <0x00000006>; + }; + interrupt-controller@7e00b200 { + compatible = "brcm,bcm2835-armctrl-ic"; + reg = <0x7e00b200 0x00000200>; + interrupt-controller; + #interrupt-cells = <0x00000002>; + phandle = <0x00000001>; + }; + mailbox@7e00b800 { + compatible = "brcm,bcm2835-mbox"; + reg = <0x7e00b880 0x00000040>; + interrupts = <0x00000000 0x00000001>; + #mbox-cells = <0x00000000>; + phandle = <0x00000012>; + }; + watchdog@7e100000 { + compatible = "brcm,bcm2835-pm-wdt"; + reg = <0x7e100000 0x00000028>; + status = "okay"; + phandle = <0x0000001f>; + }; + cprman@7e101000 { + compatible = "brcm,bcm2835-cprman"; + #clock-cells = <0x00000001>; + reg = <0x7e101000 0x00002000>; + clocks = <0x00000002>; + status = "disabled"; + phandle = <0x00000023>; + }; + rng@7e104000 { + compatible = "brcm,bcm2835-rng"; + reg = <0x7e104000 0x00000010>; + status = "okay"; + phandle = <0x00000020>; + }; + gpio@7e200000 { + compatible = "brcm,bcm2835-gpio"; + reg = <0x7e200000 0x000000b4>; + interrupts = <0x00000002 0x00000011 0x00000002 0x00000012>; + gpio-controller; + #gpio-cells = <0x00000002>; + interrupt-controller; + #interrupt-cells = <0x00000002>; + phandle = <0x00000009>; + sdhost_pins { + brcm,pins = <0x00000030 0x00000031 0x00000032 0x00000033 0x00000034 0x00000035>; + brcm,function = <0x00000004>; + phandle = <0x00000007>; + }; + spi0_pins { + brcm,pins = <0x00000009 0x0000000a 0x0000000b>; + brcm,function = <0x00000004>; + phandle = <0x0000000a>; + }; + spi0_cs_pins { + brcm,pins = <0x00000008 0x00000007>; + brcm,function = <0x00000001>; + phandle = <0x0000000b>; + }; + i2c0 { + brcm,pins = <0x00000000 0x00000001>; + brcm,function = <0x00000004>; + phandle = <0x0000000c>; + }; + i2c1 { + brcm,pins = <0x00000002 0x00000003>; + brcm,function = <0x00000004>; + phandle = <0x00000011>; + }; + i2s { + brcm,pins = <0x00000012 0x00000013 0x00000014 0x00000015>; + brcm,function = <0x00000004>; + phandle = <0x00000008>; + }; + }; + uart@7e201000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x7e201000 0x00001000>; + interrupts = <0x00000002 0x00000019>; + clocks = <0x00000003 0x00000004>; + clock-names = "uartclk", "apb_pclk"; + arm,primecell-periphid = <0x00241011>; + status = "okay"; + phandle = <0x00000015>; + }; + sdhost@7e202000 { + compatible = "brcm,bcm2835-sdhost"; + reg = <0x7e202000 0x00000100>; + interrupts = <0x00000002 0x00000018>; + clocks = <0x00000005>; + dmas = <0x00000006 0x0000000d>; + dma-names = "rx-tx"; + brcm,overclock-50 = <0x00000000>; + brcm,pio-limit = <0x00000001>; + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <0x00000007>; + bus-width = <0x00000004>; + phandle = <0x00000021>; + }; + i2s@7e203000 { + compatible = "brcm,bcm2835-i2s"; + reg = <0x7e203000 0x00000024 0x7e101098 0x00000008>; + dmas = <0x00000006 0x00000002 0x00000006 0x00000003>; + dma-names = "tx", "rx"; + status = "disabled"; + #sound-dai-cells = <0x00000000>; + pinctrl-names = "default"; + pinctrl-0 = <0x00000008>; + phandle = <0x00000017>; + }; + spi@7e204000 { + compatible = "brcm,bcm2835-spi"; + reg = <0x7e204000 0x00001000>; + interrupts = <0x00000002 0x00000016>; + clocks = <0x00000005>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + status = "disabled"; + dmas = <0x00000006 0x00000006 0x00000006 0x00000007>; + dma-names = "tx", "rx"; + cs-gpios = <0x00000009 0x00000008 0x00000001 0x00000009 0x00000007 0x00000001>; + pinctrl-names = "default"; + pinctrl-0 = <0x0000000a 0x0000000b>; + phandle = <0x00000018>; + spidev@0 { + compatible = "spidev"; + reg = <0x00000000>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + spi-max-frequency = <0x0007a120>; + phandle = <0x00000024>; + }; + spidev@1 { + compatible = "spidev"; + reg = <0x00000001>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + spi-max-frequency = <0x0007a120>; + phandle = <0x00000025>; + }; + }; + i2c@7e205000 { + compatible = "brcm,bcm2708-i2c"; + reg = <0x7e205000 0x00001000>; + interrupts = <0x00000002 0x00000015>; + clocks = <0x00000005>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + status = "disabled"; + pinctrl-names = "default"; + pinctrl-0 = <0x0000000c>; + clock-frequency = <0x000186a0>; + phandle = <0x00000019>; + }; + pwm@7e20c000 { + compatible = "brcm,bcm2835-pwm"; + reg = <0x7e20c000 0x00000028>; + clocks = <0x0000000d>; + #pwm-cells = <0x00000002>; + status = "disabled"; + phandle = <0x00000026>; + }; + aux@0x7e215004 { + compatible = "brcm,bcm2835-aux"; + #clock-cells = <0x00000001>; + reg = <0x7e215000 0x00000008>; + clocks = <0x00000005>; + status = "disabled"; + phandle = <0x0000000f>; + }; + uart@7e215040 { + compatible = "brcm,bcm2835-aux-uart", "ns16550"; + reg = <0x7e215040 0x00000040>; + interrupts = <0x00000001 0x0000001d>; + clocks = <0x0000000e>; + reg-shift = <0x00000002>; + no-loopback-test; + status = "disabled"; + phandle = <0x00000016>; + }; + spi@7e215080 { + compatible = "brcm,bcm2835-aux-spi"; + reg = <0x7e215080 0x00000040 0x7e215000 0x00000008>; + interrupts = <0x00000001 0x0000001d>; + clocks = <0x0000000f 0x00000001>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + status = "disabled"; + phandle = <0x00000027>; + }; + spi@7e2150C0 { + compatible = "brcm,bcm2835-aux-spi"; + reg = <0x7e2150c0 0x00000040 0x7e215000 0x00000008>; + interrupts = <0x00000001 0x0000001d>; + clocks = <0x0000000f 0x00000002>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + status = "disabled"; + phandle = <0x00000028>; + }; + mmc@7e300000 { + compatible = "brcm,bcm2835-mmc"; + reg = <0x7e300000 0x00000100>; + interrupts = <0x00000002 0x0000001e>; + clocks = <0x00000010>; + dmas = <0x00000006 0x0000000b>; + dma-names = "rx-tx"; + brcm,overclock-50 = <0x00000000>; + status = "disabled"; + phandle = <0x00000029>; + }; + i2c@7e804000 { + compatible = "brcm,bcm2708-i2c"; + reg = <0x7e804000 0x00001000>; + interrupts = <0x00000002 0x00000015>; + clocks = <0x00000005>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + status = "disabled"; + pinctrl-names = "default"; + pinctrl-0 = <0x00000011>; + clock-frequency = <0x000186a0>; + phandle = <0x0000001a>; + }; + i2c@7e805000 { + compatible = "brcm,bcm2708-i2c"; + reg = <0x7e805000 0x00001000>; + interrupts = <0x00000002 0x00000015>; + clocks = <0x00000005>; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + status = "disabled"; + clock-frequency = <0x000186a0>; + phandle = <0x0000001b>; + }; + smi@7e600000 { + compatible = "brcm,bcm2835-smi"; + reg = <0x7e600000 0x00000044 0x7e1010b0 0x00000008>; + interrupts = <0x00000002 0x00000010>; + brcm,smi-clock-source = <0x00000006>; + brcm,smi-clock-divisor = <0x00000004>; + dmas = <0x00000006 0x00000004>; + dma-names = "rx-tx"; + status = "disabled"; + phandle = <0x0000002a>; + }; + usb@7e980000 { + compatible = "brcm,bcm2708-usb"; + reg = <0x7e980000 0x00010000 0x7e006000 0x00001000>; + interrupts = <0x00000002 0x00000000 0x00000001 0x00000009>; + phandle = <0x0000002b>; + }; + firmware { + compatible = "raspberrypi,bcm2835-firmware"; + mboxes = <0x00000012>; + phandle = <0x00000013>; + }; + power { + compatible = "raspberrypi,bcm2835-power"; + firmware = <0x00000013>; + #power-domain-cells = <0x00000001>; + phandle = <0x0000002c>; + }; + leds { + compatible = "gpio-leds"; + phandle = <0x0000002d>; + act { + label = "led0"; + linux,default-trigger = "mmc0"; + gpios = <0x00000009 0x0000002f 0x00000000>; + phandle = <0x0000001c>; + }; + pwr { + label = "led1"; + linux,default-trigger = "input"; + gpios = <0x00000009 0x00000023 0x00000000>; + phandle = <0x0000001d>; + }; + }; + fb { + compatible = "brcm,bcm2708-fb"; + firmware = <0x00000013>; + status = "okay"; + phandle = <0x0000002e>; + }; + vchiq { + compatible = "brcm,bcm2835-vchiq"; + reg = <0x7e00b840 0x0000000f>; + interrupts = <0x00000000 0x00000002>; + cache-line-size = <0x00000020>; + firmware = <0x00000013>; + phandle = <0x00000014>; + }; + thermal { + compatible = "brcm,bcm2835-thermal"; + firmware = <0x00000013>; + phandle = <0x0000002f>; + }; + audio { + compatible = "brcm,bcm2835-audio"; + brcm,pwm-channels = <0x00000008>; + status = "disabled"; + phandle = <0x0000001e>; + }; + sound { + status = "disabled"; + phandle = <0x00000030>; + }; + timer@7e003000 { + compatible = "brcm,bcm2835-system-timer"; + reg = <0x7e003000 0x00001000>; + interrupts = <0x00000001 0x00000000 0x00000001 0x00000001 0x00000001 0x00000002 0x00000001 0x00000003>; + clock-frequency = <0x000f4240>; + }; + arm-pmu { + compatible = "arm,arm1176-pmu"; + }; + gpiomem { + compatible = "brcm,bcm2835-gpiomem"; + reg = <0x7e200000 0x00001000>; + status = "okay"; + }; + }; + clocks { + compatible = "simple-bus"; + #address-cells = <0x00000001>; + #size-cells = <0x00000000>; + phandle = <0x00000031>; + clock@0 { + compatible = "fixed-clock"; + reg = <0x00000000>; + #clock-cells = <0x00000000>; + clock-output-names = "core"; + clock-frequency = <0x0ee6b280>; + phandle = <0x00000005>; + }; + clock@1 { + compatible = "fixed-clock"; + reg = <0x00000001>; + #clock-cells = <0x00000000>; + clock-output-names = "mmc"; + clock-frequency = <0x0ee6b280>; + phandle = <0x00000010>; + }; + clock@2 { + compatible = "fixed-clock"; + reg = <0x00000002>; + #clock-cells = <0x00000000>; + clock-output-names = "uart0_pclk"; + clock-frequency = <0x002dc6c0>; + phandle = <0x00000003>; + }; + clock@3 { + compatible = "fixed-clock"; + reg = <0x00000003>; + #clock-cells = <0x00000000>; + clock-output-names = "apb_pclk"; + clock-frequency = <0x07829b80>; + phandle = <0x00000004>; + }; + clock@4 { + compatible = "fixed-clock"; + reg = <0x00000004>; + #clock-cells = <0x00000000>; + clock-output-names = "pwm"; + clock-frequency = <0x05f5e100>; + phandle = <0x0000000d>; + }; + clock@5 { + compatible = "fixed-factor-clock"; + reg = <0x00000005>; + clocks = <0x00000005>; + #clock-cells = <0x00000000>; + clock-div = <0x00000001>; + clock-mult = <0x00000002>; + phandle = <0x0000000e>; + }; + clock@6 { + compatible = "fixed-clock"; + reg = <0x00000006>; + #clock-cells = <0x00000000>; + clock-output-names = "osc"; + clock-frequency = <0x0124f800>; + phandle = <0x00000002>; + }; + }; + __overrides__ { + cache_line_size = [00 00 00 14 63 61 63 68 65 2d 6c 69 6e 65 2d 73 69 7a 65 3a 30 00]; + uart0 = [00 00 00 15 73 74 61 74 75 73 00]; + uart0_clkrate = [00 00 00 03 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00]; + uart1 = [00 00 00 16 73 74 61 74 75 73 00]; + i2s = [00 00 00 17 73 74 61 74 75 73 00]; + spi = [00 00 00 18 73 74 61 74 75 73 00]; + i2c0 = [00 00 00 19 73 74 61 74 75 73 00]; + i2c1 = [00 00 00 1a 73 74 61 74 75 73 00]; + i2c2_iknowwhatimdoing = [00 00 00 1b 73 74 61 74 75 73 00]; + i2c0_baudrate = [00 00 00 19 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00]; + i2c1_baudrate = [00 00 00 1a 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00]; + i2c2_baudrate = [00 00 00 1b 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00]; + core_freq = [00 00 00 05 63 6c 6f 63 6b 2d 66 72 65 71 75 65 6e 63 79 3a 30 00]; + act_led_gpio = <0x0000001c 0x6770696f 0x733a3400>; + act_led_activelow = <0x0000001c 0x6770696f 0x733a3800>; + act_led_trigger = [00 00 00 1c 6c 69 6e 75 78 2c 64 65 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00]; + pwr_led_gpio = <0x0000001d 0x6770696f 0x733a3400>; + pwr_led_activelow = <0x0000001d 0x6770696f 0x733a3800>; + pwr_led_trigger = [00 00 00 1d 6c 69 6e 75 78 2c 64 65 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00]; + audio = [00 00 00 1e 73 74 61 74 75 73 00]; + watchdog = [00 00 00 1f 73 74 61 74 75 73 00]; + random = [00 00 00 20 73 74 61 74 75 73 00]; + sd_overclock = <0x00000021 0x6272636d 0x2c6f7665 0x72636c6f 0x636b2d35 0x303a3000>; + sd_force_pio = <0x00000021 0x6272636d 0x2c666f72 0x63652d70 0x696f3f00>; + sd_pio_limit = [00 00 00 21 62 72 63 6d 2c 70 69 6f 2d 6c 69 6d 69 74 3a 30 00]; + sd_debug = [00 00 00 21 62 72 63 6d 2c 64 65 62 75 67 00]; + }; + __symbols__ { + soc = "/soc"; + dma = "/soc/dma@7e007000"; + intc = "/soc/interrupt-controller@7e00b200"; + mailbox = "/soc/mailbox@7e00b800"; + watchdog = "/soc/watchdog@7e100000"; + cprman = "/soc/cprman@7e101000"; + random = "/soc/rng@7e104000"; + gpio = "/soc/gpio@7e200000"; + sdhost_pins = "/soc/gpio@7e200000/sdhost_pins"; + spi0_pins = "/soc/gpio@7e200000/spi0_pins"; + spi0_cs_pins = "/soc/gpio@7e200000/spi0_cs_pins"; + i2c0_pins = "/soc/gpio@7e200000/i2c0"; + i2c1_pins = "/soc/gpio@7e200000/i2c1"; + i2s_pins = "/soc/gpio@7e200000/i2s"; + uart0 = "/soc/uart@7e201000"; + sdhost = "/soc/sdhost@7e202000"; + i2s = "/soc/i2s@7e203000"; + spi0 = "/soc/spi@7e204000"; + spidev0 = "/soc/spi@7e204000/spidev@0"; + spidev1 = "/soc/spi@7e204000/spidev@1"; + i2c0 = "/soc/i2c@7e205000"; + pwm = "/soc/pwm@7e20c000"; + aux = "/soc/aux@0x7e215004"; + uart1 = "/soc/uart@7e215040"; + spi1 = "/soc/spi@7e215080"; + spi2 = "/soc/spi@7e2150C0"; + mmc = "/soc/mmc@7e300000"; + i2c1 = "/soc/i2c@7e804000"; + i2c2 = "/soc/i2c@7e805000"; + smi = "/soc/smi@7e600000"; + usb = "/soc/usb@7e980000"; + firmware = "/soc/firmware"; + power = "/soc/power"; + leds = "/soc/leds"; + act_led = "/soc/leds/act"; + pwr_led = "/soc/leds/pwr"; + fb = "/soc/fb"; + vchiq = "/soc/vchiq"; + thermal = "/soc/thermal"; + audio = "/soc/audio"; + sound = "/soc/sound"; + clocks = "/clocks"; + clk_core = "/clocks/clock@0"; + clk_mmc = "/clocks/clock@1"; + clk_uart0 = "/clocks/clock@2"; + clk_apb_p = "/clocks/clock@3"; + clk_pwm = "/clocks/clock@4"; + clk_uart1 = "/clocks/clock@5"; + clk_osc = "/clocks/clock@6"; + }; +}; diff --git a/projects/pi_domo/dts/build.sh b/projects/pi_domo/dts/build.sh new file mode 100755 index 00000000..0e43e0d3 --- /dev/null +++ b/projects/pi_domo/dts/build.sh @@ -0,0 +1,7 @@ + +# Dump the final dtb file for the PI B+ used for the Pi_QuartetIII target. +# +#../../../../../_builds/pi_QuartetIII-release/cross/usr/bin/fdtdump bcm2708-rpi-b-plus.dtb > bcm2708-rpi-b-plus.dti +# + +../../../_builds/pi_domo-release/cross/usr/bin/dtc -O dtb -o pi_Domo.dtb pi_Domo.dts \ No newline at end of file diff --git a/projects/pi_domo/dts/pi_Domo.dtb b/projects/pi_domo/dts/pi_Domo.dtb new file mode 100644 index 00000000..a2f48303 Binary files /dev/null and b/projects/pi_domo/dts/pi_Domo.dtb differ diff --git a/projects/pi_domo/dts/pi_Domo.dts b/projects/pi_domo/dts/pi_Domo.dts new file mode 100644 index 00000000..0d4acc24 --- /dev/null +++ b/projects/pi_domo/dts/pi_Domo.dts @@ -0,0 +1,20 @@ +/dts-v1/; + +/include/ "bcm2708-rpi-b-plus.dti" + +/ { + soc { + mmc { + status = "okay"; + }; + audio { + status = "okay"; + }; + i2s { + status = "okay"; + }; + i2c { + status = "okay"; + }; + }; +}; \ No newline at end of file diff --git a/projects/pi_domo/ovl/etc/fw_env.config b/projects/pi_domo/ovl/etc/fw_env.config new file mode 100644 index 00000000..6cbbd1c0 --- /dev/null +++ b/projects/pi_domo/ovl/etc/fw_env.config @@ -0,0 +1,2 @@ +# MTD device name Device offset Env. size Flash sector size Number of sectors +/boot/uboot.env 0x0000 0x4000 0x4000 diff --git a/projects/pi_domo/post-build.sh b/projects/pi_domo/post-build.sh new file mode 100755 index 00000000..d4be0e81 --- /dev/null +++ b/projects/pi_domo/post-build.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Catch Postbuild Error +function error { + + echo "Postbuild Failed." + exit 1; +} + +set -e +trap error ERR + +echo "==> POSTBUILD:" + +echo "BR_STAGING: ${BR_STAGING}" +echo "BR_PROJECT: " ${BR_PROJECT} + +cp -a ${BR_PROJECT}/configs/config.txt ${BR_STAGING}/buildroot/images/ + +cp -a ${BR_PROJECT}/dts/pi_Domo.dtb ${BR_STAGING}/buildroot/images/ + +cp -a ${BR_STAGING}/buildroot/images/uboot-env.bin ${BR_STAGING}/buildroot/images/uboot.env diff --git a/projects/pi_domo/uboot/boot.cmd b/projects/pi_domo/uboot/boot.cmd new file mode 100644 index 00000000..9c490578 --- /dev/null +++ b/projects/pi_domo/uboot/boot.cmd @@ -0,0 +1,8 @@ +mmc dev 0 +fatload mmc 0:1 ${kernel_addr_r} zImage +fatload mmc 0:1 ${fdt_addr_r} bcm2708-rpi-b-plus.dtb +fatload mmc 0:1 ${ramdisk_addr_r} rootfs.cpio.uboot +setenv mmc_freq 'sdhci-bcm2708.emmc_clock_freq=250000000 sdhci-bcm2708.enable_llm=0' +setenv bootargs ${mmc_freq} console=ttyAMA0,115200 +bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} +#smsc95xx.macaddr=${ethaddr} \ No newline at end of file diff --git a/projects/pi_domo/uboot/dev.cmd b/projects/pi_domo/uboot/dev.cmd new file mode 100644 index 00000000..56fb8fb5 --- /dev/null +++ b/projects/pi_domo/uboot/dev.cmd @@ -0,0 +1,9 @@ +usb start +mmc dev 0 +fatload mmc 0:1 ${kernel_addr_r} zImage +fatload mmc 0:1 ${fdt_addr_r} pi_QuartetIII.dtb +dhcp ${ramdisk_addr_r} rootfs.cpio.uboot +setenv mmc_freq 'sdhci-bcm2708.emmc_clock_freq=250000000 sdhci-bcm2708.enable_llm=0' +setenv usb_args 'dwc_otg.lpm_enable=0 dwc_otg.speed=1 dwc_otg.fiq_fix_enable=1' +setenv bootargs ${usb_args} ${mmc_freq} console=ttyAMA0,115200 +bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} diff --git a/projects/pi_domo/uboot/uEnv.txt b/projects/pi_domo/uboot/uEnv.txt new file mode 100644 index 00000000..46da9d72 --- /dev/null +++ b/projects/pi_domo/uboot/uEnv.txt @@ -0,0 +1,33 @@ +arch=arm +baudrate=115200 +board=rpi +board_name=Model B+ +board_rev=0x10 +board_rev_scheme=0 +board_revision=0x10 +stderr=serial +stdin=serial +stdout=serial +boot_prefixes=/ /boot/ +boot_scripts=boot.scr boot.scr.uimg +boot_targets=fel mmc0 mmc1 +bootcmd=run distro_bootcmd +distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done +bootcmd_fel=if test -n ${fel_booted} && test -n ${fel_scriptaddr}; then echo '(FEL boot)'; source ${fel_scriptaddr}; fi +bootcmd_mmc0=setenv devnum 0; run mmc_boot +bootcmd_mmc1=setenv devnum 1; run mmc_boot +mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi +scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done +scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_scripts; done; +scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done +boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr} +console=ttyS0,115200 +scriptaddr=0x43100000 +fdt_addr_r=0x43000000 +kernel_addr_r=0x42000000 +ramdisk_addr_r=0x43300000 +dev=run dev_boot +dev_boot=mmc dev 0; fatload mmc 0:1 ${scriptaddr} dev.scr; source ${scriptaddr} +update=run update_scr +update_scr=mmc dev 0; fatload mmc 0:1 ${scriptaddr} update.scr; source ${scriptaddr} +is_configured=0 diff --git a/projects/pi_domo/uboot/update.cmd b/projects/pi_domo/uboot/update.cmd new file mode 100644 index 00000000..7b89ecac --- /dev/null +++ b/projects/pi_domo/uboot/update.cmd @@ -0,0 +1,9 @@ +usb start +dhcp ${kernel_addr_r} zImage +fatwrite mmc 0:1 ${fileaddr} zImage ${filesize} +tftp ${fdt_addr_r} bcm2708-rpi-b.dtb +fatwrite mmc 0:1 ${fileaddr} bcm2708-rpi-b-plus.dtb ${filesize} +tftp ${ramdisk_addr_r} rootfs.cpio.uboot +fatwrite mmc 0:1 ${fileaddr} rootfs.cpio.uboot ${filesize} +setenv bootargs console=ttyAMA0,115200 +bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}