| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright © 2015 Broadcom |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 6 | | - * published by the Free Software Foundation. |
|---|
| 7 | 4 | */ |
|---|
| 8 | 5 | |
|---|
| 9 | 6 | #ifndef __SOC_RASPBERRY_FIRMWARE_H__ |
|---|
| .. | .. |
|---|
| 76 | 73 | RPI_FIRMWARE_GET_CUSTOMER_OTP = 0x00030021, |
|---|
| 77 | 74 | RPI_FIRMWARE_GET_DOMAIN_STATE = 0x00030030, |
|---|
| 78 | 75 | RPI_FIRMWARE_GET_THROTTLED = 0x00030046, |
|---|
| 76 | + RPI_FIRMWARE_GET_CLOCK_MEASURED = 0x00030047, |
|---|
| 77 | + RPI_FIRMWARE_NOTIFY_REBOOT = 0x00030048, |
|---|
| 79 | 78 | RPI_FIRMWARE_SET_CLOCK_STATE = 0x00038001, |
|---|
| 80 | 79 | RPI_FIRMWARE_SET_CLOCK_RATE = 0x00038002, |
|---|
| 81 | 80 | RPI_FIRMWARE_SET_VOLTAGE = 0x00038003, |
|---|
| .. | .. |
|---|
| 89 | 88 | RPI_FIRMWARE_SET_GPIO_CONFIG = 0x00038043, |
|---|
| 90 | 89 | RPI_FIRMWARE_GET_PERIPH_REG = 0x00030045, |
|---|
| 91 | 90 | RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045, |
|---|
| 92 | | - |
|---|
| 91 | + RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049, |
|---|
| 92 | + RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050, |
|---|
| 93 | + RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058, |
|---|
| 93 | 94 | |
|---|
| 94 | 95 | /* Dispmanx TAGS */ |
|---|
| 95 | 96 | RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, |
|---|
| .. | .. |
|---|
| 139 | 140 | u32 tag, void *data, size_t len); |
|---|
| 140 | 141 | int rpi_firmware_property_list(struct rpi_firmware *fw, |
|---|
| 141 | 142 | void *data, size_t tag_size); |
|---|
| 143 | +void rpi_firmware_put(struct rpi_firmware *fw); |
|---|
| 142 | 144 | struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node); |
|---|
| 145 | +struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, |
|---|
| 146 | + struct device_node *firmware_node); |
|---|
| 143 | 147 | #else |
|---|
| 144 | 148 | static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, |
|---|
| 145 | 149 | void *data, size_t len) |
|---|
| .. | .. |
|---|
| 153 | 157 | return -ENOSYS; |
|---|
| 154 | 158 | } |
|---|
| 155 | 159 | |
|---|
| 160 | +static inline void rpi_firmware_put(struct rpi_firmware *fw) { } |
|---|
| 156 | 161 | static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) |
|---|
| 157 | 162 | { |
|---|
| 158 | 163 | return NULL; |
|---|
| 159 | 164 | } |
|---|
| 165 | + |
|---|
| 166 | +static inline struct rpi_firmware *devm_rpi_firmware_get(struct device *dev, |
|---|
| 167 | + struct device_node *firmware_node) |
|---|
| 168 | +{ |
|---|
| 169 | + return NULL; |
|---|
| 170 | +} |
|---|
| 160 | 171 | #endif |
|---|
| 161 | 172 | |
|---|
| 162 | 173 | #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ |
|---|