1// Copyright 2018 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#pragma once 6 7#include <ddk/device.h> 8#include <ddk/io-buffer.h> 9#include <ddk/protocol/gpio-impl.h> 10#include <ddk/protocol/iommu.h> 11#include <ddk/protocol/platform-bus.h> 12 13// BTI IDs for our devices 14enum { 15 BTI_BOARD, 16 BTI_USB1, 17 BTI_USB2, 18 BTI_DISPLAY, 19 BTI_GPU, 20 BTI_SDHCI, 21 22}; 23 24typedef struct { 25 platform_bus_protocol_t pbus; 26 zx_device_t* parent; 27 iommu_protocol_t iommu; 28 gpio_impl_protocol_t gpio; 29 zx_handle_t bti_handle; 30 uint32_t soc_pid; 31} imx8mevk_bus_t; 32 33zx_status_t imx8m_gpio_init(imx8mevk_bus_t* bus); 34zx_status_t imx_usb_init(imx8mevk_bus_t* bus); 35zx_status_t imx_i2c_init(imx8mevk_bus_t* bus); 36zx_status_t imx_gpu_init(imx8mevk_bus_t* bus); 37zx_status_t imx8m_sdhci_init(imx8mevk_bus_t* bus); 38