blob: 4e78aafb0b96a3b239fda435d7b7f136afcd4bc9 [file] [log] [blame]
Chandan Nath98b036e2011-10-14 02:58:24 +00001/*
2 * sys_proto.h
3 *
4 * System information header
5 *
6 * Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
7 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02008 * SPDX-License-Identifier: GPL-2.0+
Chandan Nath98b036e2011-10-14 02:58:24 +00009 */
10
11#ifndef _SYS_PROTO_H_
12#define _SYS_PROTO_H_
pekon gupta5bbb0992013-11-22 16:53:29 +053013#include <linux/mtd/omap_gpmc.h>
Tom Rini52437072013-08-30 16:28:46 -040014#include <asm/arch/cpu.h>
Chandan Nath98b036e2011-10-14 02:58:24 +000015
Chandan Nath98b036e2011-10-14 02:58:24 +000016u32 get_cpu_rev(void);
17u32 get_sysboot_value(void);
18
Satyanarayana, Sandhya11784752012-08-09 18:29:57 +000019extern struct ctrl_stat *cstat;
Chandan Nath98b036e2011-10-14 02:58:24 +000020u32 get_device_type(void);
Tom Rini51df26c2013-05-31 12:31:59 -040021void save_omap_boot_params(void);
Lokesh Vutlad33266b2016-10-14 10:35:24 +053022void setup_early_clocks(void);
Chandan Nath77a73fe2012-01-09 20:38:59 +000023void setup_clocks_for_console(void);
Heiko Schocher0ef08172013-06-04 11:01:06 +020024void mpu_pll_config_val(int mpull_m);
Tom Rini034aba72012-07-03 09:20:06 -070025void ddr_pll_config(unsigned int ddrpll_M);
Tom Rini7a247722012-07-31 10:50:01 -070026
Ilya Yanok2ebbb862012-11-06 13:06:30 +000027void sdelay(unsigned long);
Tom Rini8eb48ff2013-03-14 11:15:25 +000028
Ilya Yanok2ebbb862012-11-06 13:06:30 +000029void gpmc_init(void);
Ladislav Michld5b1c272016-07-12 20:28:16 +020030void enable_gpmc_cs_config(const u32 *gpmc_config, const struct gpmc_cs *cs, u32 base,
Mark Jackson7808e1e2013-02-18 01:26:29 +000031 u32 size);
Ladislav Michld3bc9852017-03-06 13:54:30 +010032int omap_nand_switch_ecc(uint32_t, uint32_t);
Heiko Schocher8aa1da92013-06-05 07:47:56 +020033
Heiko Schocherb21f2ac2013-07-30 10:48:54 +053034void set_uart_mux_conf(void);
35void set_mux_conf_regs(void);
36void sdram_init(void);
Lokesh Vutla89a83bf2013-07-30 10:48:52 +053037u32 wait_on_value(u32, u32, void *, u32);
Heiko Schocherb21f2ac2013-07-30 10:48:54 +053038#ifdef CONFIG_NOR_BOOT
39void enable_norboot_pin_mux(void);
40#endif
Tom Riniac8fdf92013-08-30 16:28:44 -040041void am33xx_spl_board_init(void);
Tom Rini52437072013-08-30 16:28:46 -040042int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev);
43int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency);
Chandan Nath98b036e2011-10-14 02:58:24 +000044#endif
Kishon Vijay Abraham I3dacf662015-08-19 16:16:26 +053045
46void enable_usb_clocks(int index);
47void disable_usb_clocks(int index);
Lokesh Vutla93e0f5b2016-10-14 10:35:25 +053048void do_board_detect(void);
Lokesh Vutla6302e532017-05-05 12:59:10 +053049u32 get_sys_clk_index(void);