Current File : //lib/modules/6.8.0-60-generic/build/include/linux/mfd/wl1273-core.h
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * include/linux/mfd/wl1273-core.h
 *
 * Some definitions for the wl1273 radio receiver/transmitter chip.
 *
 * Copyright (C) 2010 Nokia Corporation
 * Author: Matti J. Aaltonen <matti.j.aaltonen@nokia.com>
 */

#ifndef WL1273_CORE_H
#define WL1273_CORE_H

#include <linux/i2c.h>
#include <linux/mfd/core.h>

#define WL1273_FM_DRIVER_NAME	"wl1273-fm"
#define RX71_FM_I2C_ADDR	0x22

#define WL1273_STEREO_GET		0
#define WL1273_RSSI_LVL_GET		1
#define WL1273_IF_COUNT_GET		2
#define WL1273_FLAG_GET			3
#define WL1273_RDS_SYNC_GET		4
#define WL1273_RDS_DATA_GET		5
#define WL1273_FREQ_SET			10
#define WL1273_AF_FREQ_SET		11
#define WL1273_MOST_MODE_SET		12
#define WL1273_MOST_BLEND_SET		13
#define WL1273_DEMPH_MODE_SET		14
#define WL1273_SEARCH_LVL_SET		15
#define WL1273_BAND_SET			16
#define WL1273_MUTE_STATUS_SET		17
#define WL1273_RDS_PAUSE_LVL_SET	18
#define WL1273_RDS_PAUSE_DUR_SET	19
#define WL1273_RDS_MEM_SET		20
#define WL1273_RDS_BLK_B_SET		21
#define WL1273_RDS_MSK_B_SET		22
#define WL1273_RDS_PI_MASK_SET		23
#define WL1273_RDS_PI_SET		24
#define WL1273_RDS_SYSTEM_SET		25
#define WL1273_INT_MASK_SET		26
#define WL1273_SEARCH_DIR_SET		27
#define WL1273_VOLUME_SET		28
#define WL1273_AUDIO_ENABLE		29
#define WL1273_PCM_MODE_SET		30
#define WL1273_I2S_MODE_CONFIG_SET	31
#define WL1273_POWER_SET		32
#define WL1273_INTX_CONFIG_SET		33
#define WL1273_PULL_EN_SET		34
#define WL1273_HILO_SET			35
#define WL1273_SWITCH2FREF		36
#define WL1273_FREQ_DRIFT_REPORT	37

#define WL1273_PCE_GET			40
#define WL1273_FIRM_VER_GET		41
#define WL1273_ASIC_VER_GET		42
#define WL1273_ASIC_ID_GET		43
#define WL1273_MAN_ID_GET		44
#define WL1273_TUNER_MODE_SET		45
#define WL1273_STOP_SEARCH		46
#define WL1273_RDS_CNTRL_SET		47

#define WL1273_WRITE_HARDWARE_REG	100
#define WL1273_CODE_DOWNLOAD		101
#define WL1273_RESET			102

#define WL1273_FM_POWER_MODE		254
#define WL1273_FM_INTERRUPT		255

/* Transmitter API */

#define WL1273_CHANL_SET			55
#define WL1273_SCAN_SPACING_SET			56
#define WL1273_REF_SET				57
#define WL1273_POWER_ENB_SET			90
#define WL1273_POWER_ATT_SET			58
#define WL1273_POWER_LEV_SET			59
#define WL1273_AUDIO_DEV_SET			60
#define WL1273_PILOT_DEV_SET			61
#define WL1273_RDS_DEV_SET			62
#define WL1273_PUPD_SET				91
#define WL1273_AUDIO_IO_SET			63
#define WL1273_PREMPH_SET			64
#define WL1273_MONO_SET				66
#define WL1273_MUTE				92
#define WL1273_MPX_LMT_ENABLE			67
#define WL1273_PI_SET				93
#define WL1273_ECC_SET				69
#define WL1273_PTY				70
#define WL1273_AF				71
#define WL1273_DISPLAY_MODE			74
#define WL1273_RDS_REP_SET			77
#define WL1273_RDS_CONFIG_DATA_SET		98
#define WL1273_RDS_DATA_SET			99
#define WL1273_RDS_DATA_ENB			94
#define WL1273_TA_SET				78
#define WL1273_TP_SET				79
#define WL1273_DI_SET				80
#define WL1273_MS_SET				81
#define WL1273_PS_SCROLL_SPEED			82
#define WL1273_TX_AUDIO_LEVEL_TEST		96
#define WL1273_TX_AUDIO_LEVEL_TEST_THRESHOLD	73
#define WL1273_TX_AUDIO_INPUT_LEVEL_RANGE_SET	54
#define WL1273_RX_ANTENNA_SELECT		87
#define WL1273_I2C_DEV_ADDR_SET			86
#define WL1273_REF_ERR_CALIB_PARAM_SET		88
#define WL1273_REF_ERR_CALIB_PERIODICITY_SET	89
#define WL1273_SOC_INT_TRIGGER			52
#define WL1273_SOC_AUDIO_PATH_SET		83
#define WL1273_SOC_PCMI_OVERRIDE		84
#define WL1273_SOC_I2S_OVERRIDE			85
#define WL1273_RSSI_BLOCK_SCAN_FREQ_SET		95
#define WL1273_RSSI_BLOCK_SCAN_START		97
#define WL1273_RSSI_BLOCK_SCAN_DATA_GET		5
#define WL1273_READ_FMANT_TUNE_VALUE		104

#define WL1273_RDS_OFF		0
#define WL1273_RDS_ON		1
#define WL1273_RDS_RESET	2

#define WL1273_AUDIO_DIGITAL	0
#define WL1273_AUDIO_ANALOG	1

#define WL1273_MODE_RX		BIT(0)
#define WL1273_MODE_TX		BIT(1)
#define WL1273_MODE_OFF		BIT(2)
#define WL1273_MODE_SUSPENDED	BIT(3)

#define WL1273_RADIO_CHILD	BIT(0)
#define WL1273_CODEC_CHILD	BIT(1)

#define WL1273_RX_MONO		1
#define WL1273_RX_STEREO	0
#define WL1273_TX_MONO		0
#define WL1273_TX_STEREO	1

#define WL1273_MAX_VOLUME	0xffff
#define WL1273_DEFAULT_VOLUME	0x78b8

/* I2S protocol, left channel first, data width 16 bits */
#define WL1273_PCM_DEF_MODE		0x00

/* Rx */
#define WL1273_AUDIO_ENABLE_I2S		BIT(0)
#define WL1273_AUDIO_ENABLE_ANALOG	BIT(1)

/* Tx */
#define WL1273_AUDIO_IO_SET_ANALOG	0
#define WL1273_AUDIO_IO_SET_I2S		1

#define WL1273_PUPD_SET_OFF		0x00
#define WL1273_PUPD_SET_ON		0x01
#define WL1273_PUPD_SET_RETENTION	0x10

/* I2S mode */
#define WL1273_IS2_WIDTH_32	0x0
#define WL1273_IS2_WIDTH_40	0x1
#define WL1273_IS2_WIDTH_22_23	0x2
#define WL1273_IS2_WIDTH_23_22	0x3
#define WL1273_IS2_WIDTH_48	0x4
#define WL1273_IS2_WIDTH_50	0x5
#define WL1273_IS2_WIDTH_60	0x6
#define WL1273_IS2_WIDTH_64	0x7
#define WL1273_IS2_WIDTH_80	0x8
#define WL1273_IS2_WIDTH_96	0x9
#define WL1273_IS2_WIDTH_128	0xa
#define WL1273_IS2_WIDTH	0xf

#define WL1273_IS2_FORMAT_STD	(0x0 << 4)
#define WL1273_IS2_FORMAT_LEFT	(0x1 << 4)
#define WL1273_IS2_FORMAT_RIGHT	(0x2 << 4)
#define WL1273_IS2_FORMAT_USER	(0x3 << 4)

#define WL1273_IS2_MASTER	(0x0 << 6)
#define WL1273_IS2_SLAVEW	(0x1 << 6)

#define WL1273_IS2_TRI_AFTER_SENDING	(0x0 << 7)
#define WL1273_IS2_TRI_ALWAYS_ACTIVE	(0x1 << 7)

#define WL1273_IS2_SDOWS_RR	(0x0 << 8)
#define WL1273_IS2_SDOWS_RF	(0x1 << 8)
#define WL1273_IS2_SDOWS_FR	(0x2 << 8)
#define WL1273_IS2_SDOWS_FF	(0x3 << 8)

#define WL1273_IS2_TRI_OPT	(0x0 << 10)
#define WL1273_IS2_TRI_ALWAYS	(0x1 << 10)

#define WL1273_IS2_RATE_48K	(0x0 << 12)
#define WL1273_IS2_RATE_44_1K	(0x1 << 12)
#define WL1273_IS2_RATE_32K	(0x2 << 12)
#define WL1273_IS2_RATE_22_05K	(0x4 << 12)
#define WL1273_IS2_RATE_16K	(0x5 << 12)
#define WL1273_IS2_RATE_12K	(0x8 << 12)
#define WL1273_IS2_RATE_11_025	(0x9 << 12)
#define WL1273_IS2_RATE_8K	(0xa << 12)
#define WL1273_IS2_RATE		(0xf << 12)

#define WL1273_I2S_DEF_MODE	(WL1273_IS2_WIDTH_32 | \
				 WL1273_IS2_FORMAT_STD | \
				 WL1273_IS2_MASTER | \
				 WL1273_IS2_TRI_AFTER_SENDING | \
				 WL1273_IS2_SDOWS_RR | \
				 WL1273_IS2_TRI_OPT | \
				 WL1273_IS2_RATE_48K)

#define SCHAR_MIN (-128)
#define SCHAR_MAX 127

#define WL1273_FR_EVENT			BIT(0)
#define WL1273_BL_EVENT			BIT(1)
#define WL1273_RDS_EVENT		BIT(2)
#define WL1273_BBLK_EVENT		BIT(3)
#define WL1273_LSYNC_EVENT		BIT(4)
#define WL1273_LEV_EVENT		BIT(5)
#define WL1273_IFFR_EVENT		BIT(6)
#define WL1273_PI_EVENT			BIT(7)
#define WL1273_PD_EVENT			BIT(8)
#define WL1273_STIC_EVENT		BIT(9)
#define WL1273_MAL_EVENT		BIT(10)
#define WL1273_POW_ENB_EVENT		BIT(11)
#define WL1273_SCAN_OVER_EVENT		BIT(12)
#define WL1273_ERROR_EVENT		BIT(13)

#define TUNER_MODE_STOP_SEARCH		0
#define TUNER_MODE_PRESET		1
#define TUNER_MODE_AUTO_SEEK		2
#define TUNER_MODE_AF			3
#define TUNER_MODE_AUTO_SEEK_PI		4
#define TUNER_MODE_AUTO_SEEK_BULK	5

#define RDS_BLOCK_SIZE	3

struct wl1273_fm_platform_data {
	int (*request_resources) (struct i2c_client *client);
	void (*free_resources) (void);
	void (*enable) (void);
	void (*disable) (void);

	u8 forbidden_modes;
	unsigned int children;
};

#define WL1273_FM_CORE_CELLS	2

#define WL1273_BAND_OTHER	0
#define WL1273_BAND_JAPAN	1

#define WL1273_BAND_JAPAN_LOW	76000
#define WL1273_BAND_JAPAN_HIGH	90000
#define WL1273_BAND_OTHER_LOW	87500
#define WL1273_BAND_OTHER_HIGH	108000

#define WL1273_BAND_TX_LOW	76000
#define WL1273_BAND_TX_HIGH	108000

struct wl1273_core {
	struct mfd_cell cells[WL1273_FM_CORE_CELLS];
	struct wl1273_fm_platform_data *pdata;

	unsigned int mode;
	unsigned int i2s_mode;
	unsigned int volume;
	unsigned int audio_mode;
	unsigned int channel_number;
	struct mutex lock; /* for serializing fm radio operations */

	struct i2c_client *client;

	int (*read)(struct wl1273_core *core, u8, u16 *);
	int (*write)(struct wl1273_core *core, u8, u16);
	int (*write_data)(struct wl1273_core *core, u8 *, u16);
	int (*set_audio)(struct wl1273_core *core, unsigned int);
	int (*set_volume)(struct wl1273_core *core, unsigned int);
};

#endif	/* ifndef WL1273_CORE_H */
¿Qué es la limpieza dental de perros? - Clínica veterinaria


Es la eliminación del sarro y la placa adherida a la superficie de los dientes mediante un equipo de ultrasonidos que garantiza la integridad de las piezas dentales a la vez que elimina en profundidad cualquier resto de suciedad.

A continuación se procede al pulido de los dientes mediante una fresa especial que elimina la placa bacteriana y devuelve a los dientes el aspecto sano que deben tener.

Una vez terminado todo el proceso, se mantiene al perro en observación hasta que se despierta de la anestesia, bajo la atenta supervisión de un veterinario.

¿Cada cuánto tiempo tengo que hacerle una limpieza dental a mi perro?

A partir de cierta edad, los perros pueden necesitar una limpieza dental anual o bianual. Depende de cada caso. En líneas generales, puede decirse que los perros de razas pequeñas suelen acumular más sarro y suelen necesitar una atención mayor en cuanto a higiene dental.


Riesgos de una mala higiene


Los riesgos más evidentes de una mala higiene dental en los perros son los siguientes:

  • Cuando la acumulación de sarro no se trata, se puede producir una inflamación y retracción de las encías que puede descalzar el diente y provocar caídas.
  • Mal aliento (halitosis).
  • Sarro perros
  • Puede ir a más
  • Las bacterias de la placa pueden trasladarse a través del torrente circulatorio a órganos vitales como el corazón ocasionando problemas de endocarditis en las válvulas. Las bacterias pueden incluso acantonarse en huesos (La osteomielitis es la infección ósea, tanto cortical como medular) provocando mucho dolor y una artritis séptica).

¿Cómo se forma el sarro?

El sarro es la calcificación de la placa dental. Los restos de alimentos, junto con las bacterias presentes en la boca, van a formar la placa bacteriana o placa dental. Si la placa no se retira, al mezclarse con la saliva y los minerales presentes en ella, reaccionará formando una costra. La placa se calcifica y se forma el sarro.

El sarro, cuando se forma, es de color blanquecino pero a medida que pasa el tiempo se va poniendo amarillo y luego marrón.

Síntomas de una pobre higiene dental
La señal más obvia de una mala salud dental canina es el mal aliento.

Sin embargo, a veces no es tan fácil de detectar
Y hay perros que no se dejan abrir la boca por su dueño. Por ejemplo…

Recientemente nos trajeron a la clínica a un perro que parpadeaba de un ojo y decía su dueño que le picaba un lado de la cara. Tenía molestias y dificultad para comer, lo que había llevado a sus dueños a comprarle comida blanda (que suele ser un poco más cara y llevar más contenido en grasa) durante medio año. Después de una exploración oftalmológica, nos dimos cuenta de que el ojo tenía una úlcera en la córnea probablemente de rascarse . Además, el canto lateral del ojo estaba inflamado. Tenía lo que en humanos llamamos flemón pero como era un perro de pelo largo, no se le notaba a simple vista. Al abrirle la boca nos llamó la atención el ver una muela llena de sarro. Le realizamos una radiografía y encontramos una fístula que llegaba hasta la parte inferior del ojo.

Le tuvimos que extraer la muela. Tras esto, el ojo se curó completamente con unos colirios y una lentilla protectora de úlcera. Afortunadamente, la úlcera no profundizó y no perforó el ojo. Ahora el perro come perfectamente a pesar de haber perdido una muela.

¿Cómo mantener la higiene dental de tu perro?
Hay varias maneras de prevenir problemas derivados de la salud dental de tu perro.

Limpiezas de dientes en casa
Es recomendable limpiar los dientes de tu perro semanal o diariamente si se puede. Existe una gran variedad de productos que se pueden utilizar:

Pastas de dientes.
Cepillos de dientes o dedales para el dedo índice, que hacen más fácil la limpieza.
Colutorios para echar en agua de bebida o directamente sobre el diente en líquido o en spray.

En la Clínica Tus Veterinarios enseñamos a nuestros clientes a tomar el hábito de limpiar los dientes de sus perros desde que son cachorros. Esto responde a nuestro compromiso con la prevención de enfermedades caninas.

Hoy en día tenemos muchos clientes que limpian los dientes todos los días a su mascota, y como resultado, se ahorran el dinero de hacer limpiezas dentales profesionales y consiguen una mejor salud de su perro.


Limpiezas dentales profesionales de perros y gatos

Recomendamos hacer una limpieza dental especializada anualmente. La realizamos con un aparato de ultrasonidos que utiliza agua para quitar el sarro. Después, procedemos a pulir los dientes con un cepillo de alta velocidad y una pasta especial. Hacemos esto para proteger el esmalte.

La frecuencia de limpiezas dentales necesaria varía mucho entre razas. En general, las razas grandes tienen buena calidad de esmalte, por lo que no necesitan hacerlo tan a menudo e incluso pueden pasarse la vida sin requerir una limpieza. Sin embargo, razas pequeñas como el Yorkshire o el Maltés, deben hacérselas todos los años desde cachorros si se quiere conservar sus piezas dentales.

Otro factor fundamental es la calidad del pienso. Algunas marcas han diseñado croquetas que limpian la superficie del diente y de la muela al masticarse.

Ultrasonido para perros

¿Se necesita anestesia para las limpiezas dentales de perros y gatos?

La limpieza dental en perros no es una técnica que pueda practicarse sin anestesia general , aunque hay veces que los propietarios no quieren anestesiar y si tiene poco sarro y el perro es muy bueno se puede intentar…… , pero no se va a poder pulir ni acceder a todas la zona de la boca …. Además los limpiadores dentales van a irrigar agua y hay riesgo de aspiración a vías respiratorias si no se realiza una anestesia correcta con intubación traqueal . En resumen , sin anestesia no se va hacer una correcta limpieza dental.

Tampoco sirve la sedación ya que necesitamos que el animal esté totalmente quieto, y el veterinario tenga un acceso completo a todas sus piezas dentales y encías.

Alimentos para la limpieza dental

Hay que tener cierto cuidado a la hora de comprar determinados alimentos porque no todos son saludables. Algunos tienen demasiado contenido graso, que en exceso puede causar problemas cardiovasculares y obesidad.

Los mejores alimentos para los dientes son aquellos que están elaborados por empresas farmacéuticas y llevan componentes químicos con tratamientos específicos para el diente del perro. Esto implica no solo limpieza a través de la acción mecánica de morder sino también un tratamiento antibacteriano para prevenir el sarro.

Conclusión

Si eres como la mayoría de dueños, por falta de tiempo , es probable que no estés prestando la suficiente atención a la limpieza dental de tu perro. Por eso te animamos a que comiences a limpiar los dientes de tu perro y consideres atender a su higiene bucal con frecuencia.

Estas simples medidas pueden conllevar a que tu perro tenga una vida más larga y mucho más saludable.

Si te resulta imposible introducir un cepillo de dientes a tu perro en la boca, pásate con él por clínica Tus Veterinarios y te explicamos cómo hacerlo.

Necesitas hacer una limpieza dental profesional a tu mascota?
Llámanos al 622575274 o contacta con nosotros

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Hola!