Path: blob/main/sys/arm/freescale/imx/imx6_anatopvar.h
39537 views
/*-1* SPDX-License-Identifier: BSD-2-Clause2*3* Copyright (c) 2013 Ian Lepore <[email protected]>4* All rights reserved.5*6* Redistribution and use in source and binary forms, with or without7* modification, are permitted provided that the following conditions8* are met:9* 1. Redistributions of source code must retain the above copyright10* notice, this list of conditions and the following disclaimer.11* 2. Redistributions in binary form must reproduce the above copyright12* notice, this list of conditions and the following disclaimer in the13* documentation and/or other materials provided with the distribution.14*15* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND16* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE17* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE18* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE19* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL20* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS21* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)22* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT23* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY24* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF25* SUCH DAMAGE.26*/2728#ifndef IMX6_ANATOPVAR_H29#define IMX6_ANATOPVAR_H3031/*32* All registers controlling various analog aspects of the SoC (such as PLLs or33* voltage regulators or USB VBUS detection) are gathered together under the34* anatop device (because of newbus hierarchical resource management), but other35* drivers such as CMM or USBPHY need access to these registers. These36* functions let them have at the hardware directly. No effort is made by these37* functions to mediate concurrent access.38*/39uint32_t imx6_anatop_read_4(bus_size_t _offset);40void imx6_anatop_write_4(bus_size_t _offset, uint32_t _value);4142uint32_t imx6_get_cpu_clock(void);4344uint32_t pll4_configure_output(uint32_t mfi, uint32_t mfn, uint32_t mfd);4546#endif474849