brcm2708: add kernel 4.14 support
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.14 / 950-0017-firmware-Updated-mailbox-header.patch
diff --git a/target/linux/brcm2708/patches-4.14/950-0017-firmware-Updated-mailbox-header.patch b/target/linux/brcm2708/patches-4.14/950-0017-firmware-Updated-mailbox-header.patch
new file mode 100644 (file)
index 0000000..7d60bfb
--- /dev/null
@@ -0,0 +1,86 @@
+From b9570d562487b4d9ec176838b020b02815356511 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Mon, 25 Jan 2016 17:25:12 +0000
+Subject: [PATCH 017/454] firmware: Updated mailbox header
+
+---
+ include/soc/bcm2835/raspberrypi-firmware.h | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -12,6 +12,8 @@
+ #include <linux/types.h>
+ #include <linux/of_device.h>
++#define RPI_FIRMWARE_CHAN_FB          1
++
+ struct rpi_firmware;
+ enum rpi_firmware_property_status {
+@@ -63,6 +65,7 @@ enum rpi_firmware_property_tag {
+       RPI_FIRMWARE_GET_MIN_VOLTAGE =                        0x00030008,
+       RPI_FIRMWARE_GET_TURBO =                              0x00030009,
+       RPI_FIRMWARE_GET_MAX_TEMPERATURE =                    0x0003000a,
++      RPI_FIRMWARE_GET_STC =                                0x0003000b,
+       RPI_FIRMWARE_ALLOCATE_MEMORY =                        0x0003000c,
+       RPI_FIRMWARE_LOCK_MEMORY =                            0x0003000d,
+       RPI_FIRMWARE_UNLOCK_MEMORY =                          0x0003000e,
+@@ -72,12 +75,22 @@ enum rpi_firmware_property_tag {
+       RPI_FIRMWARE_SET_ENABLE_QPU =                         0x00030012,
+       RPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE =       0x00030014,
+       RPI_FIRMWARE_GET_EDID_BLOCK =                         0x00030020,
++      RPI_FIRMWARE_GET_CUSTOMER_OTP =                       0x00030021,
+       RPI_FIRMWARE_GET_DOMAIN_STATE =                       0x00030030,
+       RPI_FIRMWARE_SET_CLOCK_STATE =                        0x00038001,
+       RPI_FIRMWARE_SET_CLOCK_RATE =                         0x00038002,
+       RPI_FIRMWARE_SET_VOLTAGE =                            0x00038003,
+       RPI_FIRMWARE_SET_TURBO =                              0x00038009,
++      RPI_FIRMWARE_SET_CUSTOMER_OTP =                       0x00038021,
+       RPI_FIRMWARE_SET_DOMAIN_STATE =                       0x00038030,
++      RPI_FIRMWARE_GET_GPIO_STATE =                         0x00030041,
++      RPI_FIRMWARE_SET_GPIO_STATE =                         0x00038041,
++      RPI_FIRMWARE_SET_SDHOST_CLOCK =                       0x00038042,
++      RPI_FIRMWARE_GET_GPIO_CONFIG =                        0x00030043,
++      RPI_FIRMWARE_SET_GPIO_CONFIG =                        0x00038043,
++      RPI_FIRMWARE_GET_PERIPH_REG =                         0x00030045,
++      RPI_FIRMWARE_SET_PERIPH_REG =                         0x00038045,
++
+       /* Dispmanx TAGS */
+       RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE =                   0x00040001,
+@@ -91,6 +104,8 @@ enum rpi_firmware_property_tag {
+       RPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET =         0x00040009,
+       RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN =               0x0004000a,
+       RPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE =                0x0004000b,
++      RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF =               0x0004000f,
++      RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF =            0x00040010,
+       RPI_FIRMWARE_FRAMEBUFFER_RELEASE =                    0x00048001,
+       RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,
+       RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT =  0x00044004,
+@@ -100,6 +115,7 @@ enum rpi_firmware_property_tag {
+       RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET =        0x00044009,
+       RPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN =              0x0004400a,
+       RPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE =               0x0004400b,
++      RPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC =                 0x0004400e,
+       RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT =  0x00048003,
+       RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT =   0x00048004,
+       RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,
+@@ -108,6 +124,10 @@ enum rpi_firmware_property_tag {
+       RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,
+       RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,
+       RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,
++      RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF =               0x0004801f,
++      RPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF =            0x00048020,
++      RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC =                  0x0004800e,
++      RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT =              0x0004800f,
+       RPI_FIRMWARE_VCHIQ_INIT =                             0x00048010,
+@@ -139,5 +159,6 @@ static inline struct rpi_firmware *rpi_f
+       return NULL;
+ }
+ #endif
++int rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data);
+ #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */