Skip to content
Snippets Groups Projects
  • Robert Marko's avatar
    e479a7d5
    arm: Add support for Qualcomm IPQ40xx family · e479a7d5
    Robert Marko authored and Tom Rini's avatar Tom Rini committed
    
    This introduces initial support for the popular Qualcomm
    IPQ40x8 and IPQ40x9 WiSoC series.
    
    IPQ40xx series have 4x Cortex A7 ARM-v7A cores.
    Supported are: IPQ4018, IPQ4019, IPQ4028 and IPQ4029.
    
    IPQ40x8 and IPQ40x9 use the same cores, but differ in
    addressable RAM size (1GB for IPQ40x9 and 256MB for IPQ40x8)
    and supported peripherals (IPQ40x8 lacks RGMII, LCD controller
    and EMMC/SDHCI controllers).
    
    IQP4028/IPQ4029 models differ from IPQ4018/IPQ4019 only
    by their rated temperatures rates with IPQ402X models being
    rated for wider temperature ranges.
    
    Initially this supports:
    * Simple clock driver (Only for UART1 now, will be extended)
    * Pinctrl driver (Supports UARTX and GPIO now, will be extended)
    * GPIOs already supported by msm_gpio driver with updates
    * UARTs already supported by serial_msm driver with updates
    
    Further peripherals will come in later patches.
    
    Signed-off-by: default avatarRobert Marko <robert.marko@sartura.hr>
    e479a7d5
    History
    arm: Add support for Qualcomm IPQ40xx family
    Robert Marko authored and Tom Rini's avatar Tom Rini committed
    
    This introduces initial support for the popular Qualcomm
    IPQ40x8 and IPQ40x9 WiSoC series.
    
    IPQ40xx series have 4x Cortex A7 ARM-v7A cores.
    Supported are: IPQ4018, IPQ4019, IPQ4028 and IPQ4029.
    
    IPQ40x8 and IPQ40x9 use the same cores, but differ in
    addressable RAM size (1GB for IPQ40x9 and 256MB for IPQ40x8)
    and supported peripherals (IPQ40x8 lacks RGMII, LCD controller
    and EMMC/SDHCI controllers).
    
    IQP4028/IPQ4029 models differ from IPQ4018/IPQ4019 only
    by their rated temperatures rates with IPQ402X models being
    rated for wider temperature ranges.
    
    Initially this supports:
    * Simple clock driver (Only for UART1 now, will be extended)
    * Pinctrl driver (Supports UARTX and GPIO now, will be extended)
    * GPIOs already supported by msm_gpio driver with updates
    * UARTs already supported by serial_msm driver with updates
    
    Further peripherals will come in later patches.
    
    Signed-off-by: default avatarRobert Marko <robert.marko@sartura.hr>
pinctrl-snapdragon.h 622 B
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Qualcomm Pin control
 *
 * (C) Copyright 2018 Ramon Fried <ramon.fried@gmail.com>
 *
 */
#ifndef _PINCTRL_SNAPDRAGON_H
#define _PINCTRL_SNAPDRAGON_H

#include <common.h>

struct msm_pinctrl_data {
	int pin_count;
	int functions_count;
	const char *(*get_function_name)(struct udevice *dev,
					 unsigned int selector);
	unsigned int (*get_function_mux)(unsigned int selector);
	const char *(*get_pin_name)(struct udevice *dev,
				    unsigned int selector);
};

struct pinctrl_function {
	const char *name;
	int val;
};

extern struct msm_pinctrl_data ipq4019_data;

#endif