This will bring up SHR on an i9300, including RNDIS USB gadget support. Signed-off-by: Bob Ham <bob....@collabora.com> --- meta-samsung/conf/machine/i9300.conf | 34 ++++++++++++++++ .../initramfs-boot-android/i9300/machine.conf | 3 ++ .../initramfs-boot-android_1.0.bbappend | 1 + .../systemd-machine-units/i9300/rndissetup.sh | 11 ++++++ .../systemd/systemd-machine-units_1.0.bbappend | 25 +++++++++--- .../linux/linux-samsung-i9300_git.bb | 46 ++++++++++++++++++++++ 6 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 meta-samsung/conf/machine/i9300.conf create mode 100644 meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf create mode 100644 meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh create mode 100644 meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb
diff --git a/meta-samsung/conf/machine/i9300.conf b/meta-samsung/conf/machine/i9300.conf new file mode 100644 index 0000000..8792a4f --- /dev/null +++ b/meta-samsung/conf/machine/i9300.conf @@ -0,0 +1,34 @@ +#----------------------------------------------------------------------------- +#@TYPE: Machine +#@NAME: Samsung Galaxy SIII (International) +#@DESCRIPTION: Machine configuration for the Samsung Galaxy SIII +#----------------------------------------------------------------------------- + +TARGET_ARCH = "arm" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-samsung-i9300" + +MACHINE_FEATURES = "apm alsa bluetooth gps usbgadget usbhost phone wifi vfat ext2 keyboard" +MACHINE_DISPLAY_WIDTH_PIXELS = "720" +MACHINE_DISPLAY_HEIGHT_PIXELS = "1280" +MACHINE_DISPLAY_ORIENTATION = "0" +MACHINE_DISPLAY_PPI = "306" + +MACHINE_EXTRA_RDEPENDS = " \ + kernel-module-autofs4 \ +" + +PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" +XSERVER = " \ + xserver-xorg \ + xf86-input-evdev \ + xf86-video-fbdev \ +" + +KERNEL_IMAGETYPE = "zImage" +IMAGE_FSTYPES += "ext4" +IMAGE_ROOTFS_EXTRA_SPACE = "200000" + +SERIAL_CONSOLES = "115200;ttySAC2" + +require conf/machine/include/tune-cortexa9.inc diff --git a/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf new file mode 100644 index 0000000..0cad37b --- /dev/null +++ b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android/i9300/machine.conf @@ -0,0 +1,3 @@ +rootfs_type=ext4 +sdcard_partition=mmcblk1p1 +system_partition=mmcblk0p8 diff --git a/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend index 3730c90..6118798 100644 --- a/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend +++ b/meta-samsung/recipes-core/initrdscripts/initramfs-boot-android_1.0.bbappend @@ -2,3 +2,4 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" COMPATIBLE_MACHINE_tuna = "tuna" COMPATIBLE_MACHINE_crespo = "crespo" +COMPATIBLE_MACHINE_i9300 = "i9300" diff --git a/meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh b/meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh new file mode 100644 index 0000000..cc79976 --- /dev/null +++ b/meta-samsung/recipes-core/systemd/systemd-machine-units/i9300/rndissetup.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +echo 0 > /sys/class/android_usb/android0/enable +echo 1 > /sys/class/android_usb/android0/f_rndis/wceis +echo 18d1 > /sys/class/android_usb/android0/idVendor +echo 4e23 > /sys/class/android_usb/android0/idProduct +echo rndis > /sys/class/android_usb/android0/functions +echo 224 > /sys/class/android_usb/android0/bDeviceClass +echo 1 > /sys/class/android_usb/android0/enable +# power up interface +ifup -f rndis0 diff --git a/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend b/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend index ec49361..b720fb2 100644 --- a/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend +++ b/meta-samsung/recipes-core/systemd/systemd-machine-units_1.0.bbappend @@ -1,19 +1,24 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +RNDISSETUP_URI = "${@base_contains('DISTRO_FEATURES', 'adb', '', \ + 'file://rndissetup.sh file://rndissetup.service', d)}" + SRC_URI_append_crespo = " \ - ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.sh', d)} \ - ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.service', d)} \ + ${RNDISSETUP_URI} \ file://disablefbcon.sh \ file://disablefbcon.service \ file://logind.conf \ " SRC_URI_append_tuna = " \ - ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.sh', d)} \ - ${@base_contains('DISTRO_FEATURES', 'adb', '', 'file://rndissetup.service', d)} \ + ${RNDISSETUP_URI} \ file://pvrinit.service \ " +SRC_URI_append_i9300 = " \ + ${RNDISSETUP_URI} \ +" + install_common() { if [ -e ${WORKDIR}/rndissetup.sh ] && [ -e ${WORKDIR}/rndissetup.service ] ; then install -d ${D}${bindir} @@ -36,5 +41,13 @@ do_install_append_crespo() { install -m 0655 ${WORKDIR}/logind.conf ${D}${sysconfdir}/systemd/ } -SYSTEMD_SERVICE_${PN}_crespo = "rndissetup.service disablefbcon.service" -SYSTEMD_SERVICE_${PN}_tuna = "${@base_contains('DISTRO_FEATURES', 'adb', '', 'rndissetup.service', d)} pvrinit.service" +do_install_append_i9300() { + install_common +} + + +RNDISSETUP_SERVICE = "${@base_contains('DISTRO_FEATURES', 'adb', '', 'rndissetup.service', d)}" + +SYSTEMD_SERVICE_${PN}_crespo = "${RNDISSETUP_SERVICE} disablefbcon.service" +SYSTEMD_SERVICE_${PN}_tuna = "${RNDISSETUP_SERVICE} pvrinit.service" +SYSTEMD_SERVICE_${PN}_i9300 = "${RNDISSETUP_SERVICE}" diff --git a/meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb b/meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb new file mode 100644 index 0000000..99b840a --- /dev/null +++ b/meta-samsung/recipes-kernel/linux/linux-samsung-i9300_git.bb @@ -0,0 +1,46 @@ +require recipes-kernel/linux/linux.inc + +SECTION = "kernel" +DESCRIPTION = "Linux kernel for the Samsung Galaxy SIII device from CyanogenMod" + +COMPATIBLE_MACHINE = "i9300" + +KERNEL_RAM_BASE = "0x40008000" +RAMDISK_RAM_BASE = "0x41000000" +EXTRA_ABOOTIMG_ARGS = '-c "pagesize=2048"' +inherit kernel_android + +SRC_URI = " \ + git://github.com/CyanogenMod/android_kernel_samsung_smdk4412.git;protocol=git;branch=cm-13.0 \ +" + +S = "${WORKDIR}/git" + +SRCREV = "764df269b7e4e2784ab4acb841e503b364552641" + +KV = "3.0.101" +PV = "${KV}+gitr${SRCPV}" +inherit machine_kernel_pr + + +do_configure_prepend() { + cp ${S}/arch/arm/configs/cyanogenmod_i9300_defconfig ${WORKDIR}/defconfig + + clear_var() { + sed -i -e 's/^.*CONFIG_${1}.*//' ${WORKDIR}/defconfig + } + + set_var() { + clear_var $1 + echo "CONFIG_${1}=${2}" >> ${WORKDIR}/defconfig + } + + unset_var() { + clear_var $1 + echo "# CONFIG_${1} is not set" >> ${WORKDIR}/defconfig + } + + unset_var VMWARE_MVP + set_var TTY_PRINTK y + set_var AUTOFS4_FS m +} -- 2.1.4 _______________________________________________ Shr-devel mailing list Shr-devel@lists.shr-project.org http://lists.shr-project.org/mailman/listinfo/shr-devel