I've got WiFi and Bluetooth working:
https://github.com/openwrt-es/openwrt/commits/brcm2708-rpi3-wifi
https://github.com/openwrt-es/openwrt/commits/brcm2708-rpi3-bt

WiFi is working after latest brcmfmac patches backported by Rafał, with some issues like the following: brcmfmac: brcmf_proto_bcdc_hdrpull: wlan0: non-BCDC packet received, flags 0x44

BT is working but only for baud rates <= 115200. I'm still investigating why.
In order to setup the bluetooth, the following bluez patches are needed:
https://github.com/openwrt/packages/pull/2464

By the way, I won't be submitting any WiFi/BT patches until anyone from either the Raspberry foundation or Broadcom clarifies the license of the firmware files.
https://github.com/raspberrypi/linux/issues/1325

Regards,
Álvaro.

El 04/03/2016 a las 21:06, Álvaro Fernández Rojas escribió:
These patches add basic Raspberry Pi 3 support.

Bootlog: 
https://gist.github.com/Noltari/92f51259c9d18506192b#file-bcm2710_rpi3-log

Known issues:
1) No ARMv8 64 bit support.
  More info:
  https://github.com/raspberrypi/firmware/issues/550
2) UART0 is connected to BCM43430 (Bluetooth), which means that console relies 
on UART1.
  UART1 clock depends on pll_freq, which changes depending on the core 
frequency.
  In order to get a proper console through GPIOs 14 & 15, you should force a 
fixed frequency instead of the default dynamic one.
  You can do that by either setting core_freq=250 on config.txt or 
force_turbo=1 (this last option will run your rpi at maximum frequency so be 
careful).
  The framebuffer console (HDMI) isn't affected so you can use that one with an 
external keyboard and USB HID package.
  More info:
  https://github.com/raspberrypi/firmware/issues/553
  https://github.com/RPi-Distro/repo/issues/22
3) No WiFi support.
  brcmfmac43430-sdio.bin / brcmfmac43430-sdio.txt firmware files aren't 
available on linux-firmware for now.
  Downloading those files from https://github.com/RPi-Distro/firmware-nonfree 
and trying to enable BCM43430 SDIO WiFi causes the following kernel exception:
  
https://gist.github.com/Noltari/92f51259c9d18506192b#file-bcm2710_rpi3_brcmfmac-log
4) No Bluetooth support.

Álvaro Fernández Rojas (4):
   include: add Cortex-A53 CPU_TYPE
   brcm2708-gpu-fw: update to latest version
   brcm2708: update linux 4.4 patches to latest version
   brcm2708: add Raspberry Pi 3 support

  include/target.mk                                  |   1 +
  package/kernel/brcm2708-gpu-fw/Makefile            |   8 +-
  target/linux/brcm2708/Makefile                     |   8 +-
  .../brcm2708/base-files/etc/board.d/02_network     |   5 +-
  target/linux/brcm2708/base-files/etc/diag.sh       |   7 +-
  target/linux/brcm2708/base-files/etc/inittab       |   2 +-
  target/linux/brcm2708/base-files/lib/brcm2708.sh   |   5 +-
  .../lib/preinit/05_set_preinit_iface_brcm2708      |   7 +-
  target/linux/brcm2708/bcm2708/config-4.4           |   7 +-
  target/linux/brcm2708/bcm2709/config-4.4           |   7 +-
  target/linux/brcm2708/bcm2710/config-4.4           | 389 ++++++++++++
  .../brcm2708/bcm2710/profiles/RaspberryPi3.mk      |  14 +
  target/linux/brcm2708/bcm2710/target.mk            |  12 +
  target/linux/brcm2708/image/Makefile               |  12 +-
  target/linux/brcm2708/image/cmdline.txt            |   2 +-
  target/linux/brcm2708/modules.mk                   |  19 +
  ...0001-smsx95xx-fix-crimes-against-truesize.patch |   4 +-
  ...02-smsc95xx-Disable-turbo-mode-by-default.patch |   4 +-
  ...around-for-issue-where-dirty-page-count-g.patch |   4 +-
  .../0004-BCM2835_DT-Fix-I2S-register-map.patch     |   4 +-
  ...-Prevent-spurious-interrupts-and-trap-the.patch |   4 +-
  .../0006-irqchip-bcm2835-Add-FIQ-support.patch     |   4 +-
  ...-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch |   4 +-
  ...erial-8250-Don-t-crash-when-nr_uarts-is-0.patch |   4 +-
  ...2835-Set-base-to-0-give-expected-gpio-num.patch |   4 +-
  ...2835-Fix-interrupt-handling-for-GPIOs-28-.patch |   4 +-
  ...2835-Only-request-the-interrupts-listed-i.patch |   4 +-
  ...cm2835-Support-pin-groups-other-than-7-11.patch |   4 +-
  ...RM-bcm2835-Set-Serial-number-and-Revision.patch |   4 +-
  ...-get-base-address-for-DMA-from-devicetree.patch |   4 +-
  ...-add-24bit-support-update-bclk_ratio-to-m.patch |   4 +-
  ...s-setup-clock-only-if-CPU-is-clock-master.patch |   4 +-
  ...835-i2s-Eliminate-debugfs-directory-error.patch |   4 +-
  .../0018-bcm2835-i2s-Register-PCM-device.patch     |   4 +-
  ...i2s-Enable-MMAP-support-via-a-DT-property.patch |   4 +-
  ...0-dmaengine-bcm2835-Add-slave-dma-support.patch |   4 +-
  ...ine-bcm2835-set-residue_granularity-field.patch |   4 +-
  ...cm2835-Load-driver-early-and-support-lega.patch |   4 +-
  ...-dma-Fix-dreq-not-set-for-slave-transfers.patch |   4 +-
  ...-Limit-cyclic-transfers-on-lite-channels-.patch |   4 +-
  .../0025-bcm2835-Add-support-for-uart1.patch       |   4 +-
  ...irmware-bcm2835-Add-missing-property-tags.patch |   4 +-
  .../0027-Main-bcm2708-bcm2709-linux-port.patch     |   4 +-
  ...-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch |   4 +-
  .../patches-4.4/0029-Add-dwc_otg-driver.patch      |   4 +-
  .../0030-bcm2708-framebuffer-driver.patch          |   4 +-
  .../0031-dmaengine-Add-support-for-BCM2708.patch   |   4 +-
  ...-parameter-to-mmc-multi_io_quirk-callback.patch |   4 +-
  .../0033-MMC-added-alternative-MMC-driver.patch    |   4 +-
  ...835-sdhost-driver-and-an-overlay-to-enabl.patch |   4 +-
  ...ma-Add-vc_cma-driver-to-enable-use-of-CMA.patch |   4 +-
  .../0036-bcm2708-alsa-sound-driver.patch           |   4 +-
  .../patches-4.4/0037-bcm2708-vchiq-driver.patch    |   4 +-
  .../0038-vc_mem-Add-vc_mem-driver.patch            |   4 +-
  ...deoCore-shared-memory-service-for-BCM2835.patch |   4 +-
  ...omem-device-for-rootless-user-GPIO-access.patch |   4 +-
  .../brcm2708/patches-4.4/0041-Add-SMI-driver.patch |   4 +-
  .../patches-4.4/0042-Add-SMI-NAND-driver.patch     |   4 +-
  ...3-lirc-added-support-for-RaspberryPi-GPIO.patch |   4 +-
  .../patches-4.4/0044-Add-cpufreq-driver.patch      |   4 +-
  ...-thermal-driver-for-reporting-core-temper.patch |   4 +-
  .../0046-Add-Chris-Boot-s-i2c-driver.patch         |   4 +-
  .../0047-char-broadcom-Add-vcio-module.patch       |   4 +-
  ...048-firmware-bcm2835-Support-ARCH_BCM270x.patch |   4 +-
  .../0049-bcm2835-add-v4l2-camera-device.patch      |   4 +-
  ...-mkknlimg-and-knlinfo-scripts-from-tools-.patch |   4 +-
  ...port-for-the-CONFIG_CMDLINE_EXTEND-option.patch |   4 +-
  ...0052-BCM2708-Add-core-Device-Tree-support.patch |   4 +-
  ...3-bcm2835-Match-with-BCM2708-Device-Trees.patch |   4 +-
  .../0054-fbdev-add-FBIOCOPYAREA-ioctl.patch        |   4 +-
  ...up-console-framebuffer-imageblit-function.patch |   4 +-
  ...9-Allow-mac-address-to-be-set-in-smsc95xx.patch |   4 +-
  ...e-realtime-clock-1-wire-chip-DS1307-and-1.patch |   4 +-
  ...061-Added-Device-IDs-for-August-DVB-T-205.patch |   4 +-
  ...le-CONFIG_MEMCG-but-leave-it-disabled-due.patch |   4 +-
  .../0063-ASoC-Add-support-for-PCM5102A-codec.patch |   4 +-
  .../0064-ASoC-Add-support-for-HifiBerry-DAC.patch  |   4 +-
  .../0065-ASoC-Add-support-for-Rpi-DAC.patch        |   4 +-
  ...-Implement-MCLK-configuration-options-add.patch |   4 +-
  ...d-support-for-HiFiBerry-Digi.-Driver-is-b.patch |   4 +-
  ...-Set-idle_bias_off-to-false-Idle-bias-has.patch |   4 +-
  ...audIO-Sound-Card-support-for-Raspberry-Pi.patch |   4 +-
  ...ce-default-mouse-polling-interval-to-60Hz.patch |   4 +-
  .../0071-Added-support-for-HiFiBerry-DAC.patch     |   4 +-
  ...r-for-HiFiBerry-Amp-amplifier-add-on-boar.patch |   4 +-
  ...ate-ds1307-driver-for-device-tree-support.patch |   4 +-
  ...Add-pwr_led-and-the-required-input-trigge.patch |   4 +-
  ...d-device-tree-compatible-string-and-an-ov.patch |   4 +-
  .../0076-Add-driver-for-rpi-proto.patch            |   4 +-
  .../0077-config-Add-default-configs.patch          |   4 +-
  .../0078-bcm2835-bcm2835_defconfig.patch           |   4 +-
  ...Add-touchscreen-driver-for-pi-LCD-display.patch |   4 +-
  ...opy_to_user-and-__copy_from_user-performa.patch |   4 +-
  ...poweroff-Allow-it-to-work-on-Raspberry-Pi.patch |   4 +-
  ...spidev-compatible-string-to-silence-warni.patch |   4 +-
  .../0083-scripts-dtc-Add-overlay-support.patch     |   4 +-
  ...fd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch |   4 +-
  .../patches-4.4/0085-RaspiDAC3-support.patch       |   4 +-
  ...86-tpa6130a2-Add-headphone-switch-control.patch |   4 +-
  .../0087-irq-bcm2835-Fix-building-with-2708.patch  |   4 +-
  ..._display-add-backlight-driver-and-overlay.patch |   4 +-
  ...89-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch |   4 +-
  ...ti-platform-support-for-mkknlimg-and-knli.patch |   4 +-
  ...-suport-for-3D-rendering-using-the-V3D-en.patch |   4 +-
  .../0092-drm-vc4-Force-HDMI-to-connected.patch     |   4 +-
  .../0093-drm-vc4-bo-cache-locking-fixes.patch      |   4 +-
  .../0094-drm-vc4-bo-cache-locking-cleanup.patch    |   4 +-
  ...vc4-Use-job_lock-to-protect-seqno_cb_list.patch |   4 +-
  ...c4-Drop-struct_mutex-around-CL-validation.patch |   4 +-
  ...c4-Drop-struct_mutex-around-CL-validation.patch |   4 +-
  ...dd-support-for-more-display-plane-formats.patch |   4 +-
  ...m-vc4-No-need-to-stop-the-stopped-threads.patch |   4 +-
  ...ove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch |   4 +-
  ...rm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch |   4 +-
  ...ble-VC4-modules-and-increase-CMA-size-wit.patch |   4 +-
  .../brcm2708/patches-4.4/0103-squash-fixups.patch  |   4 +-
  ...missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch |   4 +-
  ...-Also-build-the-driver-for-downstream-ker.patch |   4 +-
  ...dts-Added-overlay-for-gpio_ir_recv-driver.patch |   4 +-
  ...pio-module-and-add-a-device-tree-overlay-.patch |   4 +-
  .../0108-New-overlay-for-PiScreen2r.patch          |   4 +-
  ...verlay-for-Adafruit-PiTFT-2.8-capacitive-.patch |   4 +-
  ...110-Add-support-for-the-HiFiBerry-DAC-Pro.patch |   4 +-
  .../0111-BCM270X_DT-Add-at86rf233-overlay.patch    |   4 +-
  .../0112-mm-Remove-the-PFN-busy-warning.patch      |   4 +-
  ...optional-field-in-the-driver-struct-for-G.patch |   4 +-
  ...-an-interface-for-capturing-the-GPU-state.patch |   4 +-
  ...ate-a-bunch-of-code-to-match-upstream-sub.patch |   4 +-
  ...-driver-s-gem_object_free-function-from-C.patch |   4 +-
  ...17-drm-vc4-Add-support-for-MSAA-rendering.patch |   4 +-
  ...ew-more-non-functional-changes-to-sync-to.patch |   4 +-
  ...-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch |   4 +-
  ...chronize-validation-code-for-v2-submissio.patch |   4 +-
  ...use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch |   4 +-
  ...k-timeout-fix-modprobe-baudrate-parameter.patch |   4 +-
  ...-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch |   4 +-
  ...Add-the-sdtweak-overlay-for-tuning-sdhost.patch |   4 +-
  ...-Don-t-override-bus-width-capabilities-fr.patch |   4 +-
  ...0126-SDIO-overlay-add-bus_width-parameter.patch |   4 +-
  ...70X_DT-random-HWRNG-dtparam-default-is-on.patch |   4 +-
  ...end-allowed-range-of-channels-and-sampler.patch |   4 +-
  ...cm2835-restrict-channels-rate-to-8-960000.patch |   4 +-
  .../0130-rpi-update-vc_vchi_audioserv_defs.h.patch |   4 +-
  .../0131-bcm2835-implement-channel-map-API.patch   |   4 +-
  ...835-access-controls-under-the-audio-mutex.patch |   4 +-
  ...ays-use-2-4-8-channels-for-multichannel-l.patch |   4 +-
  ...y-allow-stereo-if-analogue-jack-is-select.patch |   4 +-
  .../0135-bcm2835-interpolate-audio-delay.patch     |   4 +-
  ...ost-Add-workaround-for-odd-behaviour-on-s.patch |   4 +-
  ...37-bcm2835-sdhost-Add-debug_flags-dtparam.patch |   4 +-
  ...Add-sdio_overclock-parameter-to-sdio-over.patch |   4 +-
  ...add-support-for-the-DT-property-wakeup-so.patch |   4 +-
  .../0140-dt-overlay-add-wittypi-overlay.dts.patch  |   4 +-
  ..._DT-Disable-DMA-for-bcm2835-sdhost-on-Pi2.patch |   4 +-
  ...cm2708-Don-t-change-module-baudrate-param.patch |   4 +-
  ...-24dB-digital-gain-to-be-applied-when-usi.patch |   4 +-
  ...2x-Digital-gain-to-0dB-by-default-with-Hi.patch |   4 +-
  ...M270X_DT-Adjust-overlay-README-formatting.patch |   4 +-
  ...ay-README-Restore-spaces-deleted-in-error.patch |   4 +-
  ...2835-Fix-cut-and-paste-error-in-pull-pars.patch |   4 +-
  ...70X_DT-Disable-DMA-for-bcm2835-sdhost-on-.patch |   4 +-
  .../0149-bcm2835-sdhost-Major-revision.patch       |   4 +-
  ...270X_DT-Add-dtparams-for-the-SD-interface.patch |   4 +-
  ...m-xfer-length-when-buffer-larger-than-all.patch |   4 +-
  ...ost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch |   4 +-
  ...blk_pos-parameter-to-mmc-multi_io_quirk-c.patch |   4 +-
  ...c95xx-driver-to-check-for-a-valid-MAC-add.patch |   4 +-
  ...dcw_otg-Make-trimming-messages-less-noisy.patch |   4 +-
  ...BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch |   4 +-
  ...m2835-sdhost-Downgrade-log-message-status.patch |  22 +
  .../0158-config-Enable-HCI-over-UARTs.patch        |  33 +
  ...59-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch |  23 +
  ..._pl011-Don-t-use-DT-aliases-for-numbering.patch |  29 +
  ...-Add-bindings-for-the-auxiliary-periphera.patch |  72 +++
  ...-Add-a-driver-for-the-auxiliary-periphera.patch | 118 ++++
  .../0163-Aux-SPI-1-2-implementation.patch          | 700 +++++++++++++++++++++
  ...d-missing-.owner-fields-in-sound-card-dri.patch | 108 ++++
  ...d-option-to-disable-the-crimes-against-tr.patch |  44 ++
  ...0166-bcm2835-virtgpio-Virtual-GPIO-driver.patch | 244 +++++++
  .../0167-BCM270X_DT-Add-Pi3-support.patch          | 305 +++++++++
  ...FIXUP-BCM270X_DT-Update-to-latest-Pi3-DTS.patch |  82 +++
  ...169-DT-Add-overlays-to-configure-I2C-pins.patch | 134 ++++
  ...era-fix-a-bug-in-computation-of-frame-tim.patch |  23 +
  183 files changed, 2716 insertions(+), 338 deletions(-)
  create mode 100644 target/linux/brcm2708/bcm2710/config-4.4
  create mode 100644 target/linux/brcm2708/bcm2710/profiles/RaspberryPi3.mk
  create mode 100644 target/linux/brcm2708/bcm2710/target.mk
  mode change 100644 => 100755 
target/linux/brcm2708/patches-4.4/0051-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0157-bcm2835-sdhost-Downgrade-log-message-status.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0158-config-Enable-HCI-over-UARTs.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0159-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0160-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0161-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0162-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0163-Aux-SPI-1-2-implementation.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0164-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0165-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0166-bcm2835-virtgpio-Virtual-GPIO-driver.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0167-BCM270X_DT-Add-Pi3-support.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0168-FIXUP-BCM270X_DT-Update-to-latest-Pi3-DTS.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0169-DT-Add-overlays-to-configure-I2C-pins.patch
  create mode 100644 
target/linux/brcm2708/patches-4.4/0170-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to